0.8.0
Cut on 2026-09-16. coxswain-cartridges, coxswain-graphs and coxswain-tools are tagged v0.8.0 in
lockstep; coxswain-crew is pinned at v0.7.0 for the first time instead of re-tagged, and
coxswain-tools is published to PyPI from its tag. Status: beta; nothing here breaks a 0.7.0
install. This release closes the graphs half of G5 cost bounds and all but one ticket of G7 triage, and fixes the
fix loop's habit of throwing away correct builds — the theme is that done now means on main, a
build is judged by what it changed, and the machine can classify its own stranded work.
coxswain-graphs
- The graphs
triagegraph classifies a stranded item from its attempt facts and emits by class — a ticket amendment, a platform-defect item, a decompose handoff or a notification — and escalates a repeated(class, diagnosis)pair instead of firing again (graphs #99, #100, #105). - The graphs epic writes
approved, neverdone:doneis written only when a task reaches main, an approved phase still feeds the next phase inside the run, and the exit summary names every approved task that was not landed with its land command (graphs #106, #112). - The graphs fix loop judges a post-arbitration retry by whether the arbiter's scoped files moved, treats
only repository paths as scope, and reads this repository's
c/+i/diff headers, so a narrow correct revision reaches review instead of stopping asno_progress(graphs #107, #108, #109). - The graphs build step validates a build's output before handoff — the patch's file set must equal
files_touchedand the ticket's evidence commands must appear incommands_runwith output — and a placeholder is re-prompted once, cap-exempt, then quarantined asbuild_output_invalid(graphs #110, #111, #113). - The graphs epic recreates a phase branch whose commits are all on main by patch-id instead of refusing it as "behind main"; a branch with a genuinely unapplied commit is still refused (graphs #115).
- Node ceilings in graphs resolve from
policy.costthrough the bounds file, with a per-node cap (graphs #101, #102). - Autonomy scope in graphs follows the routing profile, and a provider profile hash keys the ledger's streaks so a streak earned under one binding never transfers to another (graphs #103, #104).
coxswain-tools
cox runs land --taskandcox runs recoverin tools move the work item fromapprovedtodone, andrecover --dry-runtouches nothing on any branch (tools #153).cox runs strandedin tools lists every approved task that never reached main, with its recovery line (tools #154).cox runs cleanin tools keeps an agents branch whose task is not on main and prints the land command, unless--force(tools #159).- Bare
coxin tools opens the Claude session with the coxswain plugin and takes the chair aschair-<date>; a live foreign chair is printed, never stolen;cox homestays the dashboard (tools #157). - Pacing in tools stops hard at 99% of the window ceiling,
cox setup install --window-ceiling-usdwrites the profile'sspend:block, andcox usage assessreads that ceiling likeroute context(tools #158). - The tools release planner pins a
lockstep = falsecomponent instead of tagging it, and its preflight guards ignore a pinned repository's remote (tools #156). cox route launch decomposein tools writesinitiative.mdunderwork/<id>/(tools #155).
coxswain-cartridges
- The cartridges policy gains
policy.cost: {level, bounds}— strict, moderate or liberal ceilings, tighten-only — which the graphs bounds file reads (cartridges #72).
coxswain
The umbrella's releases index gained its missing 0.2.0, 0.4.0 and 0.5.0 sections, so the page no
longer jumps from 0.6.0 to 0.3.0 (coxswain #46).
Known gaps
release-check still reports false cli_surface drifts for the bare cox and the setup/dev groups,
so this release was cut with --allow-doc-drift; the fix is filed. A node that dies on the account's
session limit is still recorded as a task attempt rather than pausing the run; bare cox prints the chair
heartbeat command instead of starting a beater. The graphs triage half is eight tickets of nine: the
docket's stranded count rolls to 0.9.0 after three rounds of contradictory arbitration, as do three
graphs-loop-fixes tickets at the attempt cap. The P projects begin at 0.9.0.
Components
coxswain-graphs, coxswain-tools, coxswain-cartridges and coxswain carry the changes above.
coxswain-crew is unchanged since v0.7.0 and is pinned there; it is released on its own version from now on.