feat(tools): mm_prereg_lint + auto-lint on preregister + gate wiring (v0.2.6)#17
Merged
Conversation
…(v0.2.6) - mm_prereg_lint (19 tools): surface measure-mirror's ㉗ prereg_lint — seal-QUALITY check to run before spending compute, distinct from mm_falsifiability_check (presence) and mm_preflight (existence gate) - mm_preregister: pre_seal_checks passthrough + the response now carries an automatic seal-quality lint - gate.py compute gate: BLOCK on a lint FAIL (e.g. pass bar at/below chance) with the exact findings; a prereg whose kill-condition leaked into the `metric` field now BLOCKs with an accurate reason (pointing to mm_prereg_lint) instead of the misleading "no preregistration" - connect-time DISCIPLINE: pre-compute steps now 1 seal (+declare pre_seal_checks) → 2 power → 3 lint Tests: 46 passed (6 new: lint tool, auto-lint response, gate BLOCK/GO, leaked-kill reporting). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The CI package job's smoke assertion still expected 18 tools — the same count-drift class the sync tests exist to catch, but living in a file pytest doesn't collect. Caught by CI on #17. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Surfaces measure-mirror's new ㉗
prereg_lint(v0.26.0, measure-mirror#28) through the stack, and wires it into the sealing workflow so a defective seal can't silently pass:mm_prereg_linttool (19 tools) — seal-quality check to run before spending compute; distinct frommm_falsifiability_check(presence) andmm_preflight(existence gate).mm_preregister:pre_seal_checkspassthrough, and the response now carries an automatic lint of the just-sealed entry.gate.py/mirror-stack-gate): BLOCKs on a lint FAIL (e.g. pass bar at/below chance) with the exact findings; a prereg whose kill-condition leaked into themetricfield now BLOCKs with the accurate reason instead of the misleading "no preregistration".1 seal (+declare pre_seal_checks) → 2 power → 3 lint.e2911ca→13077df(v0.26.0 — required by the above).Grounds
The semantic-fuel cell arc (2026-07-20~21) sealed 3 preregistrations whose kill-conditions leaked into the
metricfield via malformed calls — visible to the eye, invisible to the parser. The old gate would have reported "no preregistration" for these; the new path names the real defect and points to the fix (re-seal under a new claim_id).Tests
46 passed — 6 new (lint tool, auto-lint response, gate BLOCK on lint FAIL, GO with lint pass, leaked-kill accurate reason ×2).
🤖 Generated with Claude Code