Skip to content

fix(runner): honor Node build manager during Job admission - #29

Draft
ITSGJY wants to merge 2 commits into
mainfrom
fix/962-node-build-admission
Draft

ITSGJY wants to merge 2 commits into
mainfrom
fix/962-node-build-admission

Conversation

@ITSGJY

@ITSGJY ITSGJY commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fix Runner Job admission for Node project_build so a build planned from a Project's declared npm, pnpm, yarn, or bun manager is admitted under the same canonical process/digest contract as the typed Build Plan.

  • Reuse ProjectBuildPlan::is_valid() at the Runner Job admission boundary, aligning it with Core wire validation and the Runner-owned planner.
  • Preserve exact command shape, invocation digest, current manifest/lockfile provenance, queued-source revalidation, and the existing Job/Runner authority model.
  • Add a deterministic no-child regression for all four managers with both explicit adapter=node and adapter=auto, including typed wire decode, Job queue admission, and a manager substitution with a recomputed digest rejected by the source fence.

The previous admission validator rebuilt the canonical command with an npm-defaulting helper. A valid pnpm/yarn/bun plan thus passed Runner planning and Core validation but was rejected before Job enqueue. The Runner's current Project recipe remains authoritative for manager selection.

Verification

  • RED (original main@7b35aafb): The new regression fails on pnpm/Node: Runner rejected its own canonical Node build plan.
  • GREEN (commit ed5afe29): The identical regression passes, including all eight manager/adapter combinations.
  • Focused Runner project_build suite: 25 passed, 0 failed, 1 ignored (real Node/npm fixture).
  • Ran the existing ignored real Node/npm build fixture separately: 1 passed.
  • cargo fmt --all -- --check and git diff --check passed.
  • Independent read-only Codex review: no P1/P2 findings.
  • Fork GitHub Actions CI on exact commit ed5afe29eaa2c86e11aaa3b906cb6d3b0959a2f2: Success — 13 jobs passed, 0 failed, 5 correctly skipped by path-based selection (run 39567710526). Linux Runner/Server/workspace, Windows Runner, macOS Core, Contracts, MCP conformance, and the CI test gate passed.

Scope

Only the Runner admission check and its adjacent regression tests change (2 files). No new model-facing tool, schema/capability, executable-selection rule, process fallback, or persistence/retry contract. This follows the existing project-operation lifecycle tracked in #962.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants