Skip to content

feat(calibrate): --stamp marks variants as written against the shipped wording (0.2.14) - #136

Merged
chrispezza merged 1 commit into
mainfrom
claude/variants-redraft-and-stamp-127
Oct 12, 2026
Merged

chrispezza merged 1 commit into
mainfrom
claude/variants-redraft-and-stamp-127

Conversation

@chrispezza

Copy link
Copy Markdown
Contributor

Two things that unblock the polarity and rephrase parts of calibrate --gate (#127): the stale variant drafts are rewritten, and there is a command to stamp a variant once it has been reviewed.

calibrate --stamp

bouncer calibrate --stamp <question[,question…]|all> [--restamp] [--variants dir] [--policy path]

--gate asks a reversed form or a rewording only when its line carries base, the fingerprint of the question it was written against. A base is a claim that someone checked the line still means what it should, so stamping is asked for by question name and does the least it can:

  • no base → gets one;
  • base already current → the line is left byte for byte;
  • base names another wording → stale, left alone, and the command exits 1. Naming the question with --restamp replaces it. --restamp refuses all.

Comments and every untouched line keep their bytes. The file is replaced atomically or not at all. The command prints the policy file it read before anything else, because with no --policy a personal ~/.bouncer/bouncer.yaml wins, and stamping a repository's variants against one's own copy of the questions is the mistake to make visible.

The redraft

The reversed form and three rewordings of egress and of outside_repo were written against wording that 0.2.11 replaced (#129). All eight are rewritten for what ships. The file headers now point at --stamp instead of saying a loader will land.

Nothing is stamped in this PR. All 28 lines are still unreviewed, so --gate on the shipped files still reports polarity and rephrase as not evaluated.

Checks

  • Suite: 1468 passed (15 new). The end-to-end tests stamp a copy of the drafts and then run --gate on it: partial stamping measures only the stamped questions, all measures every row, a stale line survives until --restamp.
  • One thing the tests show in passing: with everything stamped, the keyword mock is disqualified on polarity against itself, because it never reads the question and so answers a reversed form like the original. That is the check working on the one backend that deserves it.
  • bench --against the base bundle, six paired runs: medians −0.3 to +0.3 ms. Bundle 516.5 → 521.3 KB.
  • Cost: one CI run. No question changed, so no new fingerprint and no live run.

No new attack surface. The command rewrites two files in a directory the user names.

Refs #127

🤖 Generated with Claude Code

…d wording (0.2.14)

`bouncer calibrate --stamp <question[,question]|all>` writes the
question's fingerprint into its lines in fixtures/variants, which is
what lets --gate ask them. A line already current is left byte for
byte; a line stamped against another wording is stale, is left alone
and fails the command until its question is named with --restamp.

The eight draft lines for egress and outside_repo are rewritten for the
wording 0.2.11 shipped. Nothing is stamped: all 28 are still the
owner's to review.

Refs #127

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chrispezza
chrispezza merged commit 3756f3b into main Oct 12, 2026
2 checks passed
@chrispezza
chrispezza deleted the claude/variants-redraft-and-stamp-127 branch October 12, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant