Checkwright v0.10.0
2026-07-20
Checkwright is the verification layer under agent orchestration, and this release ships three iterations of held-back work in one note. The public documentation now renders faithfully — four kit SPEC pages had been serving a large fraction of their body as raw text — and the gates named below landed or tightened around the evidence the tree keeps about its own delivery.
Tightened gates
check-assertion-strength— landed new and registered. Gates that an assertion actually carries the class it claims, rather than matching a narrower shape that happens to cover today’s fixtures.check-template-copy-parity— landed new and registered. Catches drift between a kit template and a consumer’s copied-out copy, the residue class the upgrade contract folds into behavior changes.check-release-bump— tightened to floor a note against an outstanding deferred release, not only against its own three sections. A held-back release’s criteria stay unconsumed, and the next qualifying note may no longer fall below the version they earned.check-docs-render-fidelity— the leak assertion was widened to key on the shared span-corruption symptom: any stray backtick or any raw non-HTML-element tag surviving in rendered text, not only a three-or-more backtick fence run. The narrower form was blind to a severed inline span, which is how the corrupted SPEC pages shipped. The same gate was then narrowed to exemptsvgandmathforeign-content subtrees by open/close depth, removing a latent false positive on legitimate inline markup; the exemption is scoped to the subtree rather than granted to the element names, so a bare placeholder tag outside such a subtree still reds.
Renamed knobs
None.
Behavior changes
- agent-budget-guard.sh — the STALE verdict string gained its decision
consequence, so a stale reading now changes what the guard does instead of
only what it prints; the script also lost its
2)arm in both copies. - stage-economics.sh — now reads committed history together with live state rather than live state alone, so a boundary truncation no longer drops the stage rows that preceded it.
Upgrading
Replace the vendored kit directories wholesale at v0.10.0, then regenerate the
generated artifacts — the pre-commit hook via gate-sdk/bin/gen-pre-commit.sh
--write and the graph projection via gate-sdk/checks/check-graph.sh --emit —
and run the full battery.
The allowed reds. Tightened gates is non-empty, so a clean upgrade may turn
these red, and each names what clears it. check-assertion-strength and
check-template-copy-parity are new registrations: they red on real findings in
your tree, and each finding is fixed rather than waived. check-release-bump
reds only if your newest note falls below an outstanding deferral it can now
see; carry the unconsumed criteria into that note. check-docs-render-fidelity
reds on pages whose rendered output diverges from source under the pinned Pages
parser — restructure the offending block, since the widened assertion now
catches severed spans the previous form let through.
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.