Repository navigation
v0.19.0 — OpenCode workers, Try it in the gate, merge train by default
OpenCode joins Claude and Codex as a worker kind, the gate runs an issue's Try it steps, and the merge train becomes the default when several reviewed PRs wait.
New
- OpenCode as a third worker kind (#584). Pane classification covers the boot footer, busy, limits and bad-model states; briefs are pasted raw; the slot's account env passes through;
rota doctorchecks the install. Default Codex and OpenCode tier models ship forround.tiers.*(#1009); the OpenCode defaults need the built-in Zen provider, otherwise override all three tiers. - Try it steps run in the merge gate after verify (#913), and again for each train member before landing (#1012). They run only for collaborators' edits, with an empty HOME and a scrubbed environment; untrusted steps are withheld from the worker brief. New
behaviourverdict kind androta verdict add --transcript. - Typed worker outcomes (#1007).
rota worker done --outcome done|partial|failed --summary-file <f>records three summary lines; the gate refuses apartialorfailedslot until a relay or transfer. Stale completions are fenced with an attempt id (#982), and workers get a durable inbox thatworker donemust drain (#1013). - Round pacing and cost controls:
round.batchcaps open assignments (#1016);round.profilefills the tiers from a named model profile (#973);round.freshAttransfers to a fresh slot instead of relaying again (#981);plan.criticHarnessruns the level-4 plan critic on another harness (#1001). - Merge train as the default (#1048).
round waitandround watchprint a train nudge naming the PRs when two or more reviewed PRs wait, after every autopilot tick (#1064), and a nudge to assign a done slot before gating (#1075). - Review gets sharper. A review verdict finding carries
blocking, only blocking findings count as a bounce, androta verdict add --file-deferredfiles the rest as items (#999, #1020). Review depth lifts on a one-way door, scope drift or a risky path (#909).lightdepth now runs the Spec reviewer (#916). - New skills and modes:
/rota-answerputs pending decisions to the maintainer one by one (#995);/rota-capture --triagehandles issues filed by others (#994);/rota-initsuggests config values from the project (#1034);/rota-qa uatandship.uatadd human acceptance (#991);/rota-refactor --mapwarns when the map is stale (#1008);/rota-pause --reportwrites a session summary (#970). - Session guards:
work.contextGuardwarns or pauses a/rota-worksession before its context fills (#988);research.packageCheckscreens new dependencies against the registry (#990);brainstorm.edgeProbeadds an edge and prohibition probe (#985);rota plan checkwarns on oversized plans (#987) and checks that tasks honor the item's decision comments (#998). rota receipt showanswers whether a lost write applied (#984).rota milestone status --to shippedexits 4 while the milestone has open items or unticked criteria, unless--force(#972).
Changed
- Defaults that move:
work.herdrGroupSlotsis on (#920), the round tier keys for Codex and OpenCode have values (#1009), a badround.*key exits 2 on status, reconcile, assign, start, architecture, wind-down and watch (#980), andround escalate sendrequires options and a recommendation (#1000). - Gate and review rules tightened: a FAIL verdict blocks, a merged PR drops out of review whatever the verdict (#1042), needs-info issues are not ready in
round candidates(#1043), and a PR carrying a superseded attempt's commits is gated without misfiring during a transfer (#997). - Autopilot tick policy moved from
cliintoroundtick, and the tier walk, issue-branch name, recorded-review lookup, registry slot decode and round config load each have one owner (#1059, #1074, #1049, #1047, #1003, #980). No behaviour change intended. - Knowledge: lessons from rounds 22 to 28; entries store a commit sha beside the date (#971).
Fixed
- Watch and relay:
round watchno longer reports stale or placeholder done lines (#1025); a ROTA-DONE that predates the last relay is ignored (#874); an unseen relay gets a fallback window when stall detection is off (#1035); herdr dispatch waits outagent_pane_busybefore failing (#1033); the gate counts a done by event seq, not a stamp (#1056). - Limit detection skips echoed orchestrator blocks (#887), reads phrases per slot kind (#882), and the limits feed no longer resubscribes after a stop or times out before the first pass (#996).
install.shinstalls its cleanup traps beforemktemp, so no temp dir leaks (#1024);KNOWLEDGE.mdedits are locked (#896);round bounce --slotrefuses names outside the pool (#886).
Documentation
- Round 28 train default, nudges and the idle table; the plain-orchestrator comparison re-judged and published in the user docs (#1021); OpenCode workers; triage, deferred findings and Try it runs; the
KNOWLEDGE.mdlock; the unknown-slot bounce exit 4; limit detection and therelease milestone-checkline.
Stats
339 commits, 462 files changed, +19496 −2321 lines
Full changelog: v0.18.0...v0.19.0