Skip to content

Choose a tag to compare

@mavericksea-ai mavericksea-ai released this 17 Sep 03:34
· 1 commit to main since this release

package.json reads 0.11.0, and config.js's RUNNER_VERSION is held equal to it. The Action pins in README.md and docs/index.html are @v0.11.0, the plugin's pin in plugin/driftproof/.claude-plugin/plugin.json is 0.11.0, and so is the minimum in plugin/driftproof/version-guard.json. package-lock.json moves with them, and tests/fixtures/export-summary.snapshot.json's receipt_hash is re-cut because runner_version is inside the canonical receipt that hash is taken over.

The UNDERPOWERED verdict (spec 035). A receipt that could not have resolved the effect floor at the draws it took now says so, instead of saying NO_EFFECT, which reads as a measured absence. The rule is R-1 to R-6 with a new named constant POWER_Z (2) in config.js, and the receipt spec bumps to v0.7, which adds no field: readers derive the verdict, and v0.6 is frozen rather than widened.

Behaviour changes, read these before upgrading

  • A job that used to fail can now pass (the fail-open direction). decisionState no longer reads the aggregate delta. Before this release, delta <= -0.05 was a regression and failed the job. Now the state comes from the receipt verdict, so a receipt whose aggregate delta clears the floor downward with no case separated reads no detected effect, or underpowered where the rule finds it so, and the job no longer fails. If your gate relied on the aggregate delta alone to catch a regression, it no longer does. No archived receipt moves out of REGRESSED by this, so the exposure is to receipts generated from here on.
  • A job that used to pass can now fail to report success (the tightening direction). A workflow that passed on an aggregate lift with no case separated now reads UNDERPOWERED, which is in NEVER_SUCCESS and never renders as success.
  • All 120 receipts archived before this release now badge NOT_MEASURED. The verdict rule refuses a receipt whose answered_by block is absent, not only one stating a kind other than model. This is the fail-safe reading and is word for word what decisionState has applied since spec 030, so the badge and the Action stop answering differently about one receipt. The site's old example receipt (2026-07-27) renders not measured on claude-haiku-4-5, lightgrey, where it rendered passing, brightgreen, so the site no longer uses it as the example (below).
  • Published report figures do not move. The differ's per-case verdict values are unchanged and the new state rides beside them, so Reports 006 to 008 rebuild byte-identical.

What else this release contains

  • The badge and the receipt page (spec 036). An UNDERPOWERED or NOT_MEASURED badge prints the draws taken against the draws needed, not a lift. The receipt page says which refusal fired, and a receipt with no readable case reads NOT_MEASURED, never NO_EFFECT.
  • The homepage and How this is built (spec 037). The homepage opens on the question a skill's own tests leave open, whether the gap it makes is real or noise and whether it held on the last model release. The Claude Code plugin is the first install path, and npx and the GitHub Action sit under a CI heading. The first screen links the findings page and a receipt page, and the receipt card's verdict is read from that receipt. A new How this is built page in the Docs menu describes the method, with counts taken at a named commit. The hero plot's accessible title carries the verdict word only, and the receipt page carries the sentence under it (A-037-4).
  • A fresh example receipt, and the site artefacts that were stale now agree with it. receipts/commit-message-conventions-claude-haiku-4-5-20251001-2026-09-17.json was run on this release after the bump: runner_version 0.11.0, claude-cli through the isolated eval user, answered_by.kind model, TESTED, receipt schema 0.7, 462 calls, lift +0.389 ± 0.217, verdict PASSED. The README badge, the homepage card, its plot, docs/data/stats.json and the CI badge's alt text all read from it. Re-cut from this receipt, the badge JSON is byte-identical (passing on claude-haiku-4-5, brightgreen), so the site's accent token does not move and no design decision was needed. A pre-build run of the same suite on 2026-09-16, before the bump, recorded runner_version 0.10.2 and also read PASSED (+0.441 ± 0.183); it stays in the archive. This clears the stale-artefacts item that was open on this entry (spec 035 F-3).

Published

driftproof@0.11.0 is on npm, published 2026-09-17, built from source commit d8ed3646684d79a96519f435ef3cfe6cfaf802ef; the published repository's v0.11.0 tag points at 2c6a747ab39f35dd92dbe443832fe7797c785980. The post-publish gate figures are recorded in RELEASES.md once read.

Known open

  • Everything the findings page lists as open, carried from v0.10.2.
  • The sibling spec gates and their re-freezes were deferred to a post-release loop, recorded in DECISIONS.md at the release commit.