Auto-routed implementer fleet on the foreground run
A bare cyberine run "<edit task>" (no --fleet, no --cheap, no CYBERINEBUILDFLEET) used to run only the read-only compare pool and exit 0 with state: done and no diff. The foreground path now...
A bare cyberine run "<edit task>" (no --fleet, no --cheap, no CYBERINE_BUILD_FLEET) used to
run only the read-only compare pool and exit 0 with state: done and no diff. The foreground path
now routes exactly like --bg does: a fleet.json routing map for the task kind wins, otherwise the
heuristic router picks from the workers usable on this machine, and the pick is applied in-process
before dispatch.
cyberine run "add a modulo(a, b) function to math.ts"
# stderr:
# [route] tier=standard kind=code-small fleet=muse,claude recommendedMode=swarm
# Auto-routed (code-small · fleet: muse,claude · CYBERINE_BUILD_FLEET=muse,claude CYBERINE_MODE=swarm)
# Run with these settings? [Y/n] <- only on an interactive TTY without -p / --mode
# NOTE: CYBERINE_BUILD_FLEET enabled (muse, claude): ...qa-shaped tasks are unchanged: they still use the read-only compare pool.- A
code-*task that routes to NO implementer exits2and names the fix (--fleet <ids>,CYBERINE_BUILD_FLEET,cyberine setup --status) instead of exiting 0 having changed nothing. --fleet,--cheap, an inheritedCYBERINE_BUILD_FLEET, orCYBERINE_ROUTE=offall suppress routing — user intent always wins.CYBERINE_MODEfollows the routedrecommendedModeonly when neither--modenor the env set it.- A
fleet.jsonroute that names a worker which is retired, cooling down, or missing its credential is dropped with a[route] fleet.json routing.<kind> names ... not usable right nowline; when nothing usable remains the heuristic router takes over instead of dispatching a dead worker. - The process exits as soon as the verdict lines are printed: the LSP client a loop worker opens for
diagnostics is shut down at the end of the run (
shutdownLspRegistry), which is what used to keep a compare-pool-only run alive indefinitely afterstate: done.
Known limitations: the per-worker model variant overrides the router picks (DEEPSEEK_MODEL,
OPENROUTER_MODEL, ...) are read by config at import time, so on the foreground path they are
exported but not honoured — --bg honours them because the child starts fresh. CLI implementers on
this single-step path still edit the LIVE working tree (see SINGLE-STEP-ISOLATION on the task board);
the engine isolate: true path is the one that gives each worker a worktree.
Live progress output — streaming per-worker status
cyberine run and npm run cli now emit live per-worker status lines to stderr as adapters work, rather than surfacing a single blob at the end. The per-worker lines appear as they arrive; the final...
cyberine run refuses a repository with no commit yet (k4zpd)
Every implementer works in a detached git worktree off HEAD, so a repo that has git init but no commit cannot dispatch anything: before 2026-09-12 the run got a run id, reserved spend, and then...