Skip to content

0.11.0

Cut on 2026-09-17. coxswain-cartridges, coxswain-graphs and coxswain-tools are tagged v0.11.0 in lockstep; coxswain-crew is unchanged and stays pinned at v0.7.0; coxswain-tools is published to PyPI from its tag. Status: beta; nothing here breaks a 0.10.0 install. This is the release the P projects land in: the vendor axis is real on both sides, the command table has its foundation, the router and the steward exist as commands, and the courier carries a stranded approval from an epic's exit to the chair's inbox — the chair no longer reads run logs to learn what needs landing.

coxswain-cartridges

  • The cartridges providers/local-oss.yaml profile is real: a capabilities block, a per-tier model map with cheap on a local OpenAI-compatible endpoint, and role tiers that never route build, review or arbitrate to the local model (cartridges #78). The umbrella manifest lists local as experimental.

coxswain-graphs

  • The graphs vendor-axis design fixes the runner contract and the capability declaration a provider profile carries (graphs #128); the runner protocol resolves capabilities per tier and falls up one tier when a role needs one the profile lacks (graphs #129); the Claude Code runner declares its own (graphs #131).
  • The graphs reviewer seats retry a malformed structured output once before the loop counts it (graphs #130); a phase with two unsatisfied parents no longer blocks the epic (graphs #132).
  • The graphs epic sends every approved task it could not land to the chair's courier inbox as a coxswain://task/<id> reference with the land command as its note (graphs #133).
  • The graphs decompose emit keeps only path-shaped entries in a ticket's surfaces and moves anything else to lint (graphs #134); the graphs fix loop's quarantine reason names the verdict that stopped the round, the arbiter's when one ran, not the charter reviewer's (graphs #135); the graphs emit quotes frontmatter scalars that carry a colon, strips a stray closing tag from a body and writes each lint entry once (graphs #136).

coxswain-tools

  • The tools courier is on: cox courier send, inbox and ack over a committed bus, references resolved by run, finding, PR, proposal, intake, task and initiative (tools #182, #183, #184), by id and not only by path (tools #190), and an entry addressed to the generic chair reaches whichever label holds the leader lock (tools #195).
  • The tools command table has its foundation: the design (tools #186), a byte-for-byte --help snapshot of the runs group taken before the change (tools #187), and the runs group built from agent_tools/commands.py with the snapshot proving the output identical (tools #188).
  • The tools router and steward exist: the design contract (tools #189); the pure select_tier with a floor, a minimum sample size and a deterministic one-in-N challenger schedule (tools #191); the challenger column populated at ingest and reported apart from standard calls (tools #192); cox router select with the off|shadow|on flag read from the routing profile (tools #193); the steward's evidence bar and proposal rendering for the ceiling case (tools #194); and cox steward propose, which writes candidates as intake files and never edits a profile (tools #196).
  • cox home in tools gains its health panel (tools #181); the decompose refreshes a stale initiative.md from its intake on relaunch (tools #185); the GitHub Releases backfill skips a component with no checkout and says "would create" or "would edit" in a dry run (tools #180); the live GitHub Release step names the previous release's tag in an "unchanged since" body, never the tag it is creating (tools #197).

Known gaps

The router runs in off by default and nothing in the graphs harness calls cox router select yet; the steward emits ceiling proposals only. The remaining command groups migrate to the table one ticket each, with their snapshots taken first. The task record still lacks its initiative and phase, so an escalated approval's printed remedy is recover where land is the one that works; that, the clean guard for a refused task's draft branch, and the from-intake filer's slugs and surfaces roll forward.

Components

coxswain-cartridges carries the local provider profile; coxswain-graphs carries the vendor-axis runner contract, the courier send and four loop fixes; coxswain-tools carries the courier, the command table foundation, the router and the steward. coxswain-crew is unchanged since v0.7.0 and stays pinned there.