Skip to content

Commit cd7e020

Browse files
PhysShellclaude
andcommitted
docs(p037): record A2.1 zero-semantic-cut evidence at corrected A'
Supersedes 2cbd6c6 (PR #362), whose source_commit (dce26ed) had the call-relevance bug fixed by the parent commit. Four after-takes (MOS repo, MOS corpus, verdict/python, verdict/rust) at A2.1 treatment commit 5a0de07, population held at terminal-green T (4a8e658), in the same preserved M1 measurement environment used for the T baseline. All four compare UNCHANGED against the R-recorded baseline: MOS repo facts_moved=1, MOS corpus facts_moved=36 (both counts unchanged from the pre-fix run — the fix's edge cases do not appear in this population), both verdict engines report no verdict moved. Evidence-only: no instrument, treatment, spec, or CI file touched; built directly on A', not rebased. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011wKL9pEApQTK4dE3eXv8g8
1 parent 5a0de07 commit cd7e020

5 files changed

Lines changed: 13560 additions & 0 deletions
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# P-037 A2.1 zero-semantic-cut evidence (after-run at A', superseding the A run)
2+
3+
T = `4a8e6582e10222403cd40adc9e95db7e0228a1c2` (terminal-green baseline commit)
4+
R = `5fd6bfa6abd4c2af7e53712af300cf66c97f2f50` (baseline evidence commit, in
5+
`main` via PR #361)
6+
A = `dce26ed1f5d831e36f78f02e307b8b772c8a8800` (original A2.1 treatment:
7+
emits the guarded-fact sidecar — SUPERSEDED, see below)
8+
A' = `5a0de070af241a2612859153887ad6ae04afcce2` (A2.1 treatment, corrected:
9+
decouples call RELEVANCE from argument REPRESENTABILITY in
10+
`BuildGuardedFacts`; branch `claude/p037-a2.1-relevance-fix`, built
11+
directly on A)
12+
M = `P037_A2_MEASUREMENT_M1`, the same preserved measurement environment
13+
used for the T baseline and the original A run; same workspace
14+
checkout root reused, not a fresh worktree.
15+
16+
## Why A' exists (A is not evidence-admissible)
17+
18+
Independent review of the A run's after-evidence (`2cbd6c6`, PR #362, since
19+
superseded) found a real contract bug in A's `BuildGuardedFacts`: a handle
20+
argument that had to be encoded `opaque` (params/`ref`/`out`, or an unstable
21+
owned parameter) also had its RELEVANCE bit zeroed, so the entire call
22+
record silently vanished from `guarded_facts` instead of surviving with an
23+
opaque slot — contradicting spec/OwnIR.md §5.2 ("an unstable parameter
24+
argument becomes opaque, not absent"). A' fixes this and adds three
25+
regression shapes (`corpus/p037-shapes/sidecar-relevance-*`), each verified
26+
against the pre-fix code first (reproduced the bug) and the fix (call
27+
record now present). See A''s commit message for the full analysis.
28+
29+
Per the reviewer's explicit rule and general P-037 discipline: A is not
30+
rewritten (its SHA is retired, not reused) — A' is a new commit, and this
31+
evidence commit (S') truthfully names A' as its `source_commit`. The prior
32+
S (`2cbd6c6`, PR #362) is stale and should not be merged; this commit
33+
replaces it.
34+
35+
## Four after-takes at A', population held at T
36+
37+
| artifact | sha256 | compare result |
38+
|---|---|---|
39+
| p037-a2.1-after-mos-repo.json | `c9a06af959252f7c3c54bc239eef7249987e73c9ccd21357b11c1ab0fb4911f9` | UNCHANGED, facts_moved=1, python_mos_moved=0, rust_mos_moved=0, after_parity_moved=0 |
40+
| p037-a2.1-after-mos-corpus.json | `6d9ca1f60217483c0544000977aabfd72e9edbd4159e6e081f9fb57075e04e5f` | UNCHANGED, facts_moved=36, python_mos_moved=0, rust_mos_moved=0, after_parity_moved=0 |
41+
| p037-a2.1-after-verdict-python.json | `2d6e673fed1bd2fe3c71ef86047f51a5fafe1e691f7cdca1292482eda348183f` | UNCHANGED, no verdict moved (137 files, level=verdict) |
42+
| p037-a2.1-after-verdict-rust.json | `9d2166acdad693a6742c1e90130a7dc679d1ad49eac80c1a5efa28e0460eceab` | UNCHANGED, no verdict moved (137 files, level=verdict); own-cli qualified sha == executed sha (`8373f5f5...`, unchanged from T — the fix is C#-only), post_run_intact=true |
43+
44+
`facts_moved` counts (1 and 36) are identical to the original (buggy) A run:
45+
neither the repo's own 81 files nor the 137-file corpus happen to contain a
46+
`params`/`ref`/`out` disposable-handle argument or an unstable owned
47+
parameter, so the relevance fix does not change either fact-diff count here
48+
— it is a correctness fix visible on the three new regression shapes, not
49+
on this measured population. That is an observation, not a pre-registered
50+
predicate.
51+
52+
Compared against the same T-baseline artifacts recorded in R (unchanged
53+
from the prior comparison). All four: `is_evidence=true`,
54+
`source_commit=A'`, `population_commit=T`, `dirty=false`,
55+
`post_run_population_intact=true`.
56+
57+
## Execution profile equality
58+
59+
`p037_evidence.py profile` output is byte-identical to the T-baseline
60+
capture: CPython 3.11.15, .NET SDK 8.0.425 (runtimes
61+
Microsoft.AspNetCore.App 8.0.31 + Microsoft.NETCore.App 8.0.31),
62+
rustc/cargo 1.94.1.
63+
64+
## Known pre-existing observation (not fixed here)
65+
66+
`scope_cache_sites[].file` in the raw facts carries an absolute path
67+
rather than a repo-relative one — a pre-existing portability defect from
68+
T, not introduced by A or A'. Unaffected by this evidence-only commit.
69+
70+
Taken: 2026-09-19 (UTC), operator run.

0 commit comments

Comments
 (0)