Plate II
Star Chart Detail
A single story, plotted with its dependencies, acceptance criteria and known risks.
Rewire cycle() and all mcaImpl.* call sites to the backlog/spawn adapter boundary
Dependency constellation
Log entry
The concentrated-risk cutover: rewire auriga-router.mjs's cycle() options bag from mca to backlog + spawn (typed adapter instances), and re-point all ~25 mcaImpl.* call sites across the unblock pass, cascade re-dispatch pass, false-done/review-scan pass, dispatch pass, and review lane to the new adapter methods. main() defaults to createMulticaBacklogAdapter()/createMulticaSpawnAdapter(), preserving today's live supervised behavior with zero config changes required. lib/core.mjs is NOT touched — every call into it is unchanged.
Acceptance criteria
Given cycle(opts) is called, when opts is inspected, then it accepts { backlog, spawn, cfg, core, log, sleep, dryRun, noZombie, maxAssign, now } — no mca parameter remains
Given npm test runs from repo root, then all 6 pre-existing test files pass with their existing assertions about ROUTING DECISIONS unchanged
Given the new cutover-e2e.test.mjs runs, when cycle() is driven end-to-end..., then it completes correctly with zero external process calls attempted
Cross-cutting
Documentation
README.md's quickstart section and src/router/README.md's Files/paths section reference lib/multica.mjs and lib/config.mjs by name — flag as stale after this cutover.
Risks
High severity
A call site re-pointed to the wrong adapter method... could silently change WHICH issues get dispatched.
MitigationFull regression suite plus the new cutover-e2e test...