Skip to content

deps: refresh measure-mirror pin → v0.27.0 + ㉗ declared-chance contract (v0.2.7)#18

Merged
bhyi4 merged 2 commits into
mainfrom
fix/prereg-lint-fp-v0.2.7
Jul 21, 2026
Merged

deps: refresh measure-mirror pin → v0.27.0 + ㉗ declared-chance contract (v0.2.7)#18
bhyi4 merged 2 commits into
mainfrom
fix/prereg-lint-fp-v0.2.7

Conversation

@bhyi4

@bhyi4 bhyi4 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

What

Refreshes the measure-mirror pin 13077df690c27e (v0.26.0 → v0.27.0), picking up two upstream changes and the contract adjustment they imply.

v0.27.0 — full 64-hex SHA-256 seals (security, SPEC v1.1)

16-hex truncated seals allowed a birthday-search (~2³² hashes) to forge two entries sharing one seal and swap them after sealing. Now full-digest; legacy 16-hex seals keep verifying (prefix match) — no ledger migration. The stack's L1 chain check inherits the wider digest.

v0.26.1 — ㉗ prereg_lint false-positive fix

An audit of the probe against 64 real ledgers found ⑫c was reading baseline as the chance floor — but in practice baseline is a comparison-arm score, not the random floor — producing 44 spurious FAILs = 44 wrong compute-gate BLOCKs. It now uses an explicitly declared chance only.

Contract change

A below-chance gate BLOCK now requires chance= on the preregistration. Reflected here:

  • docs: "bar at/below chance" → "bar at/below declared chance" (README, connect-time DISCIPLINE, mm_prereg_lint reminder);
  • test_compute_gate_blocks_on_lint_fail_below_chance_bar declares chance=; new test_compute_gate_does_not_block_on_baseline_alone pins the guard (pass < baseline, no chance → GO).

Tests

47 passed.

🤖 Generated with Claude Code

Mother Seara and others added 2 commits July 21, 2026 15:18
…ct (v0.2.7)

Pin 13077df → 690c27e (v0.26.0 → v0.27.0):
- v0.27.0: full 64-hex SHA-256 seals (security, SPEC v1.1) — the L1 chain
  check inherits the wider digest; legacy 16-hex seals still verify.
- v0.26.1: ㉗ prereg_lint false-positive fix. An audit of the probe against
  64 real ledgers found ⑫c read `baseline` as the chance floor → 44 spurious
  FAILs = 44 wrong compute-gate BLOCKs. Now uses a declared `chance` only.

Contract change surfaced in the gate/docs: a below-chance BLOCK now requires
`chance=` on the preregistration. Docs updated ("declared chance"); the gate
test declares chance and a new test pins the guard (pass<baseline, no chance → GO).

Tests: 47 passed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The connect-time DISCIPLINE references the illusion-catalog size; it grew to
46 real sealed cases when measure-mirror #30 landed the augmentation_reinjects_
holdout contamination specimen. Caught by the cross-repo checker's CP2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bhyi4
bhyi4 merged commit 8297fe8 into main Jul 21, 2026
4 checks passed
@bhyi4
bhyi4 deleted the fix/prereg-lint-fp-v0.2.7 branch July 21, 2026 06:32
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