Checkwright v0.28.0
2026-09-28
Checkwright is the verification layer under agent orchestration, and this release adds one command for every queue move, checked before you commit, and publishes a harness plugin that lists Checkwright in Claude Code’s plugin marketplace.
In brief
- In Claude Code, Checkwright now installs from its own plugin marketplace. The plugin registers the lifecycle stage skills and the tool-call guards, and its install skill runs the installer for you; the plugin itself vendors nothing. The marketplace section of the install page has the two commands.
- Queue moves no longer need a hand edit. One command promotes, retires, evicts, thaws, splits or stamps an entry, writes it only when the queue stays consistent, and checks the queue before you commit. A second command prints one entry’s history.
- You may have one step to take after upgrading. A queue whose recurrence dates are space-separated, or are not real calendar dates, now reds. Rewrite each array comma-separated.
Tightened gates
check-queue-hygiene— a tag line’s[recurrence:]array must now hold only calendar-validYYYY-MM-DDdates, comma-separated; a space-separated array, an impossible date or an empty value reds, where the counting readers dropped it silently. Rewrite the array in that form;--queue recur <slug>stamps it so.
Renamed knobs
None.
Behavior changes
--queue— new arm: one move or stamp on the queue file —promote,done,clear-done,icebox,recur,demote,thaworsplit— written only when its postcondition on the live and done sets holds, then post-checked by every gate coupled to the queue file; exit 0 is written and green, 1 written with a red to fix before you commit, 2 nothing written.--emit queue-history <slug>prints one entry’s section transitions, oldest first. Nothing to do; a narrow allowlist grants one verb asBash(<door> --queue <verb> *).lifecycle-kit/templates/stages/close.md,spec.md,scope.mdandbuild.md— each queue move they instruct now names its verb in place of the hand edit:--queue recurfor a judged recurrence,--queue donefor a Done move,--queue clear-done,--queue promoteand--queue demote. Act only if your stage bindings restate those moves rather than pointing at the templates: take the verbs.
Upgrading
Replace the vendored kit directories wholesale at v0.28.0, or run checkwright update. Regenerate your generated artifacts; each freshness gate that reds prints its own regen command. Then run the full battery.
The allowed red. check-queue-hygiene reds on a [recurrence:] array that is space-separated or carries an impossible or empty date. Rewrite it comma-separated, or restamp it with --queue recur.
The behavior changes above are declared for reading, not a mechanical scan. If a gate reds that this note does not name, the upgrade smoke was supposed to catch it first — open an issue, because that is a defect in the release rather than work for you.