Foreground cyberine run with a build fleet runs through the engine (isolated worktrees)
When a build fleet is in effect (routed, --fleet, --cheap, or CYBERINEBUILDFLEET) AND the cwd is inside a git repository, the foreground cyberine run no longer dispatches the raw compare pool...
When a build fleet is in effect (routed, --fleet, --cheap, or CYBERINE_BUILD_FLEET) AND the
cwd is inside a git repository, the foreground cyberine run no longer dispatches the raw
compare pool against the live tree. It runs the SAME implement-task workflow --bg uses
(design -> implement -> review) through WorkflowEngine + RunStore: every implementer works in
its own detached git worktree under .claude/worktrees/, DiffJudge applies each candidate
diff in a throwaway worktree and type-checks it, and the winner lands in run.json as
steps[].winnerOutput for cyberine apply. The live tree is not touched.
cyberine run --fleet muse,claude "add a clamp(x, lo, hi) function to math.ts"
# stderr (live, tailed from the run's events.jsonl):
# Dispatching task <uuid> through the engine (implement: fleet muse,claude; ...)
# [run:start]: Workflow "implement-task" queued
# [step:start] design
# [step:done] design: winner: ...
# [step:start] implement
# [worker:start] implement/muse ...
# [step:done] implement: ...
# [step:implement] state=done winner=claude
# stdout:
# runId: <uuid>
# state: done
# diff: 1 file(s), +6/-0 from claude (step implement)
# apply: cyberine apply <uuid8>
# watch: cyberine agents
cyberine run --fleet muse -p "..." # prints the winning DIFF to stdout (exit 1 when none applied)
cyberine apply <uuid8> # lands it; --dry-run first if you like- The run is persisted like a
--bgrun, socyberine agents,cyberine apply,digestandlandall work on it;--timeoutsends the run astopcontrol message. - A
qatask, or a run with no build fleet, still uses the read-only compare pool exactly as before. - Outside a git repository the engine path is skipped with a NOTE and workers edit the tree in place, as they did before this change -- there is nothing to diff against.
- The
reviewstep's skeptic fleet is cheap and read-only; areviewworker erroring does not fail the run.
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...
Judge backend fallback and unjudged runs
The LLM judges (llm-judge, adversarial), the research ClaimVerifier and the SynthesizerReducer use every configured backend in precedence order. Without routing.judges in fleet.json the candidates...