Skip to content

Choose a tag to compare

@mavericksea-ai mavericksea-ai released this 25 Sep 09:19
· 1 commit to main since this release

Receipts written by 0.11.3 are receipt spec v0.9. Every earlier receipt still validates against its own version.

What changed

  • Fewer false passes. A suite with two cases of the same id is refused before any call. A receipt with two rows for one case and arm is refused by validate, badge, export and decide. The Action fails a job whose receipts give two answers for one model, naming the files. Each Action invocation now writes and uploads its own receipts, so one job can run it more than once. The artifact is no longer named driftproof-receipt: its name is the step output artifact_name.
  • Import Anthropic's eval results. driftproof import --from claude-plugin-eval reads the aggregate-result.json that claude plugin eval writes. --from skill-creator reads skill-creator's benchmark.json, which skill-up also writes. The receipts are DECLARED. They record the harness, the source document and its sha256, and whether the skill fired, beside the score and never inside it.
  • Regrade. driftproof regrade <receipt> --skill <dir> --answers <file> --judge-model <id> grades a receipt's saved answers again with another judge, without generating them again. Because a normal run does not keep the answers yet, it works today only where the answers were kept beside the receipt, as they were for Report 011's Amendment 1.
  • What's stale. driftproof stale receipts/*.json compares what each receipt recorded (model, harness, skill, suite, judge, grading template, rubrics) with what would run today. For each arm it says whether the result still stands, needs a rerun, or needs only a regrade, and prints the command to run next. Anything a receipt does not record is reported unknown, never current. A patch release of the harness is an advisory. A rubric edit reruns both arms, because receipts do not yet record a hash per case prompt. Exit 0 current, 1 stale, 3 unknown or advisory, 2 error; --strict turns 3 into 1. --json prints driftproof.stale/1, whose schema is served at /spec/stale.v1.schema.json. driftproof run now records the harness and its version in each receipt.
  • Import redaction. Local paths in text an import copies are redacted whole: quoted paths with spaces, paths across line breaks, and names with an apostrophe, though the part of a quoted path after an apostrophe followed by a space can still appear, while the home folder and user name are always redacted. An import that would still name a home folder anywhere in a path (/var/home, /mnt/c/Users, a network share) is refused and writes nothing.
  • Model registry. claude-opus-5-5 is registered (released 2026-09-22, US$4 and US$20 per million input and output tokens), so a run on it is priced as itself, not at the most expensive tier. claude-opus-5 and claude-opus-4-8 gain their release dates.
  • Receipt spec v0.8 and v0.9. v0.8: a count the source did not record stays absent, never 1; generation and judge-sample counts are kept apart; a re-judge records when it ran. v0.9: an imported receipt says what produced it. Both only add fields.
  • The interop page names receipt spec v0.9 and all four import formats.
  • Report 011, Amendment 1 (the site). Report 011's answers were graded again with Claude Opus 5.5 as the judge. No verdict changed, and 50 of 51 answers stayed on the same side of the pass line. One crossed: Claude Opus 5's baseline on code-review-and-quality, 0.827 to 0.633. The report above the amendment is unchanged.

What you must do

  • If a workflow downloads the Action's artifact by the name driftproof-receipt, read the name from the step output artifact_name instead.
  • If a suite has two cases with the same id, give them distinct ids. 0.11.3 refuses the suite before any call.