Skip to content

Commit fa92c05

Browse files
PhysShellclaude
andcommitted
docs(p037): land A2.2-S in the formal note (§10.6.9, §10.6.13)
Marks A2.2-S landed in §10.6.9's order list and adds §10.6.13 with the measured paragraph, values copied verbatim from the accepted cumulative artifact recorded at f621400 (docs/evidence/p037-a2.2-s-cumulative.json): accepted=true, is_evidence=true, state=accepted, 138 documents (47 changed / 91 unchanged / 0 unexpected), zero Python/Rust layer mismatches, zero cross-engine disagreements. Also records the two non-result attempts on M1 (a hung dotnet process traced to a missing pinned .NET SDK, then a clean REFUSED once an unpinned system dotnet was silently substituted) for the honest record, per the run's own transcript. Docs-only: does not recompute, reinterpret or rerun anything; does not touch treatment, evidence, or driver. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011wKL9pEApQTK4dE3eXv8g8
1 parent f621400 commit fa92c05

1 file changed

Lines changed: 75 additions & 1 deletion

File tree

‎docs/notes/p037-formal-kernel.md‎

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1214,7 +1214,11 @@ causes of FACT-DIFF. Tracked in #364 with its own acceptance.
12141214
1 taxonomy mutant unclassified, 0 survivors, 0 forbidden reasons;
12151215
- **A2.2-S** cumulative A2 after-evidence on M1 against the existing R with
12161216
population T: fact shape MOVED as preregistered, MOS UNCHANGED, verdict
1217-
UNCHANGED;
1217+
UNCHANGED. Landed in the commit carrying this line (10.6.13): one
1218+
governed run of the reviewed orchestrator (`e3995753b58c`, tooling branch
1219+
`claude/p037-a2.2`) against treatment `dab3db19c461`, population T, baseline
1220+
R; `accepted=true`, `is_evidence=true`, `state=accepted`, every claim and
1221+
every eligibility predicate true; evidence recorded at `f621400`;
12181222
- **A2.2-D** door registration: `guarded_facts` and `guarded_functions` become
12191223
known, fail-loud vocabulary on both doors, still semantically inert; the
12201224
instrument change, a new T/R round; phase B only after its evidence is green.
@@ -1509,3 +1513,73 @@ six defects it once found and reads four rewrites by meaning; it does not
15091513
enumerate the extractor's other seams, the hostile census remains pairwise, and
15101514
lambdas / local functions stay the separate nested-function gap. After A2.2-5
15111515
no functionality is added: A2.2-S measures the whole of A2 once against T/R.
1516+
1517+
#### 10.6.13 A2.2-S: the cumulative governed measurement (REPOSITORY FACT)
1518+
1519+
Four names, kept apart: **T** = `4a8e6582e10222403cd40adc9e95db7e0228a1c2`
1520+
(the frozen population); **R** = `5fd6bfa6abd4c2af7e53712af300cf66c97f2f50`
1521+
(the baseline evidence recorded at T); **treatment** = `dab3db19c4611c116f37f2b0e49354a0fd9bf384`
1522+
(A2.2-5, the tree A2.2-S measures); the **evidence orchestrator** =
1523+
`e3995753b58cfc2c6b48b712963df6c51c79af66` (`scripts/p037_cumulative_evidence.py`,
1524+
tooling branch `claude/p037-a2.2`, byte-identical to its branch tip, pinned by
1525+
`--orchestrator-commit`, never edited to obtain this result); the **S
1526+
evidence commit** = `f6214004f38258ef1bb2244d38552f233bc3f214` (this commit's
1527+
parent), which carries the six files this section quotes verbatim from.
1528+
1529+
The run executed on the preserved M1 measurement machine (`P037_A2_MEASUREMENT_M1`,
1530+
the same machine and toolchain pins that produced R and the A2.1 after-evidence),
1531+
from a tooling checkout independent of the measured checkout, in `--mode evidence`
1532+
(no `--stage`). Provenance, read from `p037-a2.2-s-cumulative.json`, all true:
1533+
the orchestrator is clean and byte-identical to its pinned commit; the measured
1534+
checkout's HEAD is exactly the treatment and was authenticated against the
1535+
instrument's module blobs before any import; the instrument (`ownlang/`,
1536+
`rust/`, `scripts/own-check.sh`, `scripts/p037_evidence.py`,
1537+
`scripts/p037_mos_snapshot.py`, `scripts/p037_verdict_snapshot.py`,
1538+
`scripts/shadow_compare.py`) is object-identical at T, at R and at the
1539+
treatment; every one of the four governed takes is fresh evidence and every
1540+
compare against R is eligible; every one of the 138 fact documents anchored
1541+
(zero `anchors_failed`); the execution profile is single across the whole run;
1542+
the tree is clean after. Two prior attempts on this same machine did not reach
1543+
a result and are not this record: the first hung indefinitely inside the
1544+
extractor (a dotnet child stuck in `futex_do_wait`, zero CPU consumed across
1545+
40+ minutes, traced afterward to the pinned `.NET SDK` directory having gone
1546+
missing from disk mid-run) and was killed rather than left to silently retry;
1547+
the second, after the SDK was restored byte-for-byte from the untouched
1548+
provisioning recipe and re-verified against R's execution profile, was
1549+
REFUSED cleanly by the orchestrator's own eligibility check (`before/after
1550+
execution profiles differ`) because the ambient `dotnet` on `PATH` had
1551+
silently substituted an unpinned system installation once the pinned one was
1552+
gone — a real provenance failure, correctly caught, nothing published. This
1553+
record is the third attempt, run only after the pinned SDK was confirmed
1554+
byte-identical to R's execution profile.
1555+
1556+
Result: `state=accepted`, `accepted=true`, `is_evidence=true`. All six claims
1557+
true — `facts_moved`, `mos_unchanged_both_engines`,
1558+
`verdicts_unchanged_both_engines`, `unexpected_fact_changes_zero`,
1559+
`layer_engines_agree`, `verdict_engines_agree` — and all nine eligibility
1560+
predicates true. 138 fact documents measured (1 `repo-tree` document over the
1561+
81-file repo population, 137 individual corpus documents): 47 changed (1 from
1562+
`repo-tree`, 46 from the corpus), 91 unchanged, 0 unexpected — every one of
1563+
the 47 changes classified as confined to `functions[*].guarded_facts` and the
1564+
`guarded_functions[]` carrier, none touching a legacy body, a signature,
1565+
`services`, `components`, `stats` or the schema version. The governed takes
1566+
against R: MOS repo `UNCHANGED` (`facts_moved=1`, `python_mos_moved=0`,
1567+
`rust_mos_moved=0`, `after_parity_moved=0`); MOS corpus `UNCHANGED`
1568+
(`facts_moved=46`, `python_mos_moved=0`, `rust_mos_moved=0`,
1569+
`after_parity_moved=0`); verdict/python `UNCHANGED` at both `level=verdict`
1570+
and `level=all` over 137 files; verdict/rust `UNCHANGED` at both levels over
1571+
137 files, its `own-cli` qualified/executed sha256 equal and
1572+
`post_run_intact=true`. The layer differential (per-document digests, both
1573+
engines, anchored against T's own re-derived facts and the treatment's):
1574+
Python mismatches `{lowered: 0, summaries: 0, verdicts: 0}`; Rust mismatches
1575+
`{lowered: 0, summaries: 0, verdicts: 0}`; Python/Rust cross-engine
1576+
disagreements at the treatment `{lowered: 0, summaries: 0, verdicts: 0}` (and
1577+
at the baseline, independently, the same all-zero); verdict-snapshot
1578+
cross-engine disagreements over the 137 corpus files `{verdict: 0, all: 0,
1579+
exit: 0}`.
1580+
1581+
A2 treatment is closed by this measurement: the sidecar's fact surface moved
1582+
exactly where A2.2 licensed it to, MOS and verdicts on both engines did not
1583+
move at all, and the two engines agree with each other and with themselves
1584+
before and after. Nothing here reads `guarded_facts` or `guarded_functions[]`
1585+
into a verdict; that is A2.2-D's own instrument epoch, not this one's claim.

0 commit comments

Comments
 (0)