Skip to content

fix: release route worker - #23

Merged
LeXwDeX merged 3 commits into
mainfrom
fix/22-release-route-worker
Sep 1, 2026
Merged

fix: release route worker#23
LeXwDeX merged 3 commits into
mainfrom
fix/22-release-route-worker

Conversation

@LeXwDeX

@LeXwDeX LeXwDeX commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Closes #22

Why

release-route.yaml pinned its final verification node to worker_type: verify, but the compatible runtime's builtin agent catalog (runtime-compat.json, commit b48dce46) only contains explore, build, plan, general. The runtime environment gate rejects unknown worker types, so starting the route failed with worker.unknown at nodes[release-verify].worker_type. The portable CI profile never surfaced this because it skips the worker-type catalog check when the catalog is absent — a detection gap, not a second defect. Deleting the key was not an option either: worker_type is required in nodes form.

What changed

  • release-route.yaml: replace the invalid explicit worker_type: verify on release-verify with worker_type: general — the same value the runtime's composable-blocks fallback compiles verify to, so the fix matches the intended behavior. Topology, depends_on, all other nodes, and every unrelated template are untouched (1-line diff).
  • script/validate-route-catalog.ts: new guardrail rejecting any worker_type under config.nodes/config.blocks outside the compatible runtime catalog (explore, build, plan, general); failure message contains not in the compatible runtime agent catalog.
  • script/validate-route-catalog.test.ts: one regression test rewriting release-verify back to worker_type: verify and asserting exit 1 with that message. CI already runs both the script and its tests in validate.yml — no workflow changes.

Evidence

  • Red first: with the guard in place on the pre-fix tree, bun script/validate-route-catalog.ts . exits 1 with release-route.yaml node release-verify worker type "verify" is not in the compatible runtime agent catalog (explore, build, plan, general).
  • After the 1-line fix: the script validates all 16 routes, exit 0.
  • bun test script/validate-route-catalog.test.ts: 7 pass, 0 fail, including the new regression case.
  • Catalog source verified in the pinned runtime tree (src/agent/agent.ts: build :141, plan :156, general :182, explore :196; environment gate src/dag/validation.ts:858).
  • git diff vs the delivery base: exactly one release-route.yaml value line plus the guard and its test; no topology or unrelated template changes.

Checklist

  • Why, What changed, and Evidence are filled in.
  • specgit finish exits 0.

@LeXwDeX LeXwDeX mentioned this pull request Sep 1, 2026
release-verify pinned worker_type: verify, but the compatible runtime
catalog (b48dce46) only has explore, build, plan, general; the
environment gate rejected start with worker.unknown. Replace with
general (what the blocks fallback compiles verify to), and close the
portable-profile detection gap with a route-catalog guardrail plus a
regression test.
@LeXwDeX
LeXwDeX marked this pull request as ready for review September 1, 2026 16:14
@LeXwDeX
LeXwDeX merged commit 9743916 into main Sep 1, 2026
3 of 5 checks passed
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.

fix: release route worker

1 participant