Skip to content

Commit 349c7bc

Browse files
committed
P-037 Phase B / B1: allowlist docs/evidence/p037-b- as a prefix, before R_B lands
Caught before pushing this time, not after: R_B (the Phase-B baseline) is about to add five new docs/evidence/p037-b-baseline-*.json/.md artifacts. Every one of them would trip the same allowlist gate d5f9134 just fixed for scripts/p037_mos_snapshot.py/p037_verdict_snapshot.py -- an exact- file PHASE_B_GOVERNANCE_FILES entry would need one more addition per future Phase-B evidence take, forever, the same shape of problem a2d itself hit and answered with dynamic r_d_files/D_AFTER_EVIDENCE_PINS discovery from its own epoch record. Phase B's own evidence surface is simpler than a2d's: every artifact it will ever write lives under one already-owned, already-fixed prefix. So PHASE_B_PREFIXES gains "docs/evidence/p037-b-" alongside the existing "formal/p037-kernel/" entry, covering every present and future Phase-B evidence file by construction rather than by remembering to add another exact name each time. Directly simulated against the five filenames R_B is about to add (p037_a2d_epoch.PHASE_B_PREFIXES, checked via str.startswith) before committing, not discovered by CI after the fact: all five covered. The three PHASE_B_GOVERNANCE_FILES entries this prefix also happens to cover (p037-b-epoch.json and its two ledgers) are left listed individually -- redundant, not wrong, and not worth shrinking a tuple a prior commit already reasoned about. tests/run_tests.py re-run in full (0 failures), ruff, mypy, the a2d epoch gate, the proof boundary and the B production-diff gate (IDENTICAL against 5571ba4) all stay green. test_p037_evidence.py's own fresh-record-valid check showed its usual dirty-tree transient while this edit was still uncommitted -- expected, gone once committed, not a regression (same as d5f9134's own commit message already documented for the identical mechanism). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AN6xHbpovxrmZ4AMjS7WQA
1 parent d5f9134 commit 349c7bc

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

‎tests/test_p037_a2d_epoch.py‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,21 @@
104104
"scripts/p037_mos_snapshot.py",
105105
"scripts/p037_verdict_snapshot.py",
106106
)
107-
PHASE_B_PREFIXES = ("formal/p037-kernel/",)
107+
#
108+
# R_B (the Phase-B baseline, taken at T_B) adds new docs/evidence/p037-b-
109+
# baseline-*.json artifacts plus their own manifest -- an exact-file list
110+
# would need one more entry per take, forever, the same problem a2d itself
111+
# hit and answered with r_d_files/D_AFTER_EVIDENCE_PINS (dynamic discovery
112+
# from the a2d epoch record's own named_later fields). Phase B's own
113+
# evidence surface is simpler -- every one of its artifacts already lives
114+
# under one exact, already-owned prefix -- so a prefix is the proportionate
115+
# fix here rather than porting a2d's discovery machinery for a single
116+
# baseline take. The three PHASE_B_GOVERNANCE_FILES entries this prefix
117+
# also covers (p037-b-epoch.json and the two ledgers) are left listed
118+
# individually rather than pruned -- redundant, not wrong, and this test's
119+
# own history already prefers additive fixes over shrinking a tuple a prior
120+
# commit reasoned about.
121+
PHASE_B_PREFIXES = ("formal/p037-kernel/", "docs/evidence/p037-b-")
108122

109123
# 10.6.14b: order step 6 (D after) lands its evidence as exactly these six
110124
# files under docs/evidence/, and nothing about them is inferred or

0 commit comments

Comments
 (0)