Auto-evolve: Cyberine authors and implements its own task (mine -> implement -> gate)
The self-improvement loop with NO human-written task: a read-only worker surveys the repo and
AUTHORS one small improvement spec (strict TASK/FILES/WHY/SPEC/ACCEPTANCE format, hard-bounded:
1-3 files in src/, no new deps, typecheck-verifiable); the writing fleet then implements that
spec in isolated worktrees and DiffJudge gates the winner on apply + typecheck. The operator
only reviews the winning diff and applies it. Loop = run it again.
LOOP_MAX_TOOL_ROUNDS=40 LOOP_MAX_TOKENS=45000 CYBERINE_BUILD_FLEET="loop-deepseek-build" \
npm run wf -- src/engine/autoEvolveWorkflow.tsThe mined spec is the mine step's winner output; the winning diff is the implement step's
(run.json -> steps[].winnerOutput). A failed mine step no longer cascades: the engine skips
dependent steps whose dependency produced no winning output (marked cancelled). First shipped
result: ResultSchema was missing the 'cancelled' status literal — found, specced, implemented
and gated entirely by Cyberine.
AdversarialJudge rationale carries the skeptics' reasons (kxqep)
AdversarialJudge already asked each skeptic for {"refuted": true|false, "reason": "..."}; the winning candidate's verdict.rationale now names the refuting skeptics' reasons instead of just the...
LSP/compiler diagnostic feedback loop (T436)
Loop-adapter workers (loop--build) can now self-correct type errors within a single run, matching opencode's built-in edit-then-check loop. After each tool round that mutates a file the adapter...