Skip to content

0.30.0

Cut on 2026-10-05. coxswain-tools, coxswain-graphs and coxswain-dash are tagged v0.30.0. coxswain-cartridges stays pinned at v0.29.0 and coxswain-crew at v0.28.0. coxswain-tools is published to PyPI from its tag. Status: beta. This release lets coxtop act, and gives the queue an order you set. It carries four headlines.

coxtop acts. coxtop runs actions as cox commands: it shows the command it will run and asks you to confirm it first. A colon palette takes a command by name, the footers on every page and drill-down list the keys that work there, and a status line reports the result in the footer row. The chair panel is wired into the app, ready for the render that comes next.

An inbox for what waits on you. cox inbox lists the drafts, approvals and pull requests that need a person.

Priority sets the launch order. Work items carry a priority in the store, and cox route priority <initiative> --set N | --up | --down moves an initiative up or down. The chair launches ready initiatives by priority, then by initiative id.

Lane hosts keep their harness current. A remote launch also brings the lane host's harness checkout up to date. A run that dies because its harness is older than the store's schema is recorded with that cause, and the chair stops relaunching it instead of looping.

Upgrading from 0.29.0. The store gains a priority column (migration 12). The first harness that opens the store migrates it and backs it up with pg_dump first; if pg_dump is not on PATH, back the store up yourself and set COX_STORE_MIGRATE_WITHOUT_BACKUP=1 for that one command. Update coxswain-graphs on every lane host right after the migration. Two coxtop items move to a later release: the chair panel's render and its Enter and close keys. The inbox's needs-chair and refused sources wait on a storage design.

coxswain-dash

  • coxtop runs actions: the module scaffold (dash #43), the actions map, confirm core, command runner and palette core (dash #44), and focus on the inbox list (dash #45).
  • The confirm dialog, the footers on every page and drill-down, the colon palette frame, the status line and the app's modal state (dash #46), wired into input, the main loop and the pages (dash #47).
  • The chair panel and decision card are wired into the app, input and main loop (dash #42).

coxswain-graphs

  • Work items carry a priority: migration 12 adds the column (graphs #685), and the store queue reads, writes and orders by it (graphs #687).

coxswain-tools

  • cox inbox lists the drafts, approvals and pull requests waiting on a person: the model, its sources and the verb (tools #1322, tools #1323, tools #1324).
  • cox route priority sets or moves an initiative's priority, and the chair's docket orders ready work by priority, then id (tools #1326).
  • A remote launch also updates the lane host's harness, a schema-version death is recorded with its cause, and the chair does not relaunch an initiative whose runs keep dying on it (tools #1325, tools #1327, tools #1328).

Components

coxswain-tools carries the inbox, route priority and the lane-host harness pull, coxswain-graphs the priority column and queue order, and coxswain-dash coxtop's actions and the chair panel wiring. coxswain-cartridges is unchanged since v0.29.0 and coxswain-crew since v0.28.0.