Chore-tier follow-up from the #806 review (PR #811, B2-adjacent): ops/skill-freshness/run-skill-freshness.sh prepends the hardcoded macOS PATH ladder (/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin) unconditionally, so on a linux server it shadows the user's real node with /usr/bin/node 12 — every node invocation in the nightly run then dies (on this box, with 'not allowed in NODE_OPTIONS'-class failures the moment flags are involved), and the cadence silently produces no useful pass on erlich-class hosts. The role-parity wrapper fixed the same bug with the reverse order: the caller's PATH wins first, the ladder is only a fallback when command -v node finds nothing (plus a strip-types capability probe before invoking .mts tooling) — see ops/role-parity/run-role-parity-check.sh in the #806 slice. Affected machines: erlich (the linux fleet host that now carries the ops cadences as the server role moved off the mini); the mini is unaffected (its homebrew node IS on the ladder). Fix: port the role-parity wrapper's resolution order + capability probe into the skill-freshness wrapper; re-run one dry pass on erlich to verify.
Chore-tier follow-up from the #806 review (PR #811, B2-adjacent):
ops/skill-freshness/run-skill-freshness.shprepends the hardcoded macOS PATH ladder (/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin) unconditionally, so on a linux server it shadows the user's real node with/usr/bin/node12 — everynodeinvocation in the nightly run then dies (on this box, with 'not allowed in NODE_OPTIONS'-class failures the moment flags are involved), and the cadence silently produces no useful pass on erlich-class hosts. The role-parity wrapper fixed the same bug with the reverse order: the caller's PATH wins first, the ladder is only a fallback whencommand -v nodefinds nothing (plus a strip-types capability probe before invoking .mts tooling) — seeops/role-parity/run-role-parity-check.shin the #806 slice. Affected machines: erlich (the linux fleet host that now carries the ops cadences as the server role moved off the mini); the mini is unaffected (its homebrew node IS on the ladder). Fix: port the role-parity wrapper's resolution order + capability probe into the skill-freshness wrapper; re-run one dry pass on erlich to verify.