@@ -1002,6 +1002,50 @@ OS configs; go test ./... both tag sets, -race, vet (module and
10021002gate), gofmt, and the import-graph boundary check over the 11
10031003GOOS/GOARCH pairs all green.
10041004
1005+ ### 2026-08-17 - level-1 re-review round: trailing-mint cache poisoning and cross-function carrier escapes closed (HEAD 149492f, committed with this record)
1006+
1007+ Two level-1 reviewer classes (Linnaeus/Sartre P2, silent at 149492f)
1008+ were probe-verified and fixed, plus the earlier Jason class closed at
1009+ 149492f:
1010+
1011+ - Jason escape (fixed at 149492f): type-assertion callees, assertion
1012+ aliases, indexed container slots, and identity-return wrappers
1013+ reached the storage callback with clean owned buffers; slotOfExpr
1014+ authority, fieldAliases/indexAliases/returnAliases, composite-literal
1015+ seeding, and the rules-side counterparts close it. Battery P311
1016+ (nine liar shapes) / P312 (honest assertion-alias twins).
1017+ - Linnaeus/Sartre P2-1 (fixed in this round): the definition-site
1018+ mapped exemption read the END-STATE value of a local that a TRAILING
1019+ mint (v := s.buf; fn(v, v); v = s.r.page(0)) re-blessed after the
1020+ invocation; the callback-invocation walk now snapshot-evaluates the
1021+ exemption path (snapshotEvalExpr) so the call-time owned buffer is
1022+ not poisoned by the later mapped value.
1023+ - Linnaeus/Sartre P2-2 (fixed in this round): the callback formal
1024+ carried inside a STRUCT FIELD (h := car{cb: fn}; runCar(h, out, out),
1025+ h.run(out, out), composite-literal carriers, two-helper chains)
1026+ laundered clean owned buffers; field records are now keyed by
1027+ canonical struct type + field name (canonFieldType structural
1028+ identity, named and anonymous structs share keys), composite
1029+ literals are seeded, fieldInvokes compose through call chains
1030+ (recordFieldAliasComposition forwards caller records and re-records
1031+ callee invocations), and the rules side enforces mapped views at
1032+ every carrier call site (checkCallbackInvokeCalls field fence,
1033+ moduleFieldCarrier, storeCarrierTracedFieldCall suppressing the
1034+ generic unprovable-callee fence only for parameter-sourced carrier
1035+ calls).
1036+
1037+ Evidence: probe module shapes R-A..R-I (liars flagged: direct
1038+ trailing mint, helper trailing mint, named/anonymous carrier helpers,
1039+ carrier method receiver, composite-literal carrier, two-helper
1040+ chains; honest mint-before and mapped-view carrier twins clean).
1041+ Pinned durably as P313 (direct + helper trailing mint liars), P314
1042+ (mint-before honest twins), P315 (five carrier liars), P316 (four
1043+ mapped-carrier honest twins). Battery: 622 -> 626 cases (530
1044+ rejections, 96 benign acceptances), zero misses under
1045+ --self-test-jobs 24 (1:55 wall). Real module scan rc=0; go test
1046+ ./..., -race, vet, gofmt, import-graph boundary check, and GOOS=windows
1047+ cross build all green.
1048+
10051049## Review Process (user decision, 2026-08-12)
10061050
100710511 . Implement the milestone work, always long-term-best and minimal-complete.
0 commit comments