Files
BFM-decomp/cookbook/C0294.md
T

1.2 KiB

§273 — A standalone compile is the WRONG oracle for a TU-destined draft (P31 S59)

The lane's pre-filter compiled each draft standalone (match_one inside reloc_identity) and dropped every COMPILE-FAIL before the gate: 43/182 on the measured pass, unjudged. But the draft is written to land in a TU that provides what the standalone compile lacks — typedefs (parse error before 'Blk8'), struct defs (dereferencing pointer to incomplete type), canonical decls. Re-judged against the REAL TU (tools/rtu_second_chance.py, rtu_match per draft — no build tree, no locks, thread-parallel): 7 of 27 were TU-byte-MATCHes and staged straight to the gate. Law (R33 shape): judge a draft with the oracle that sees its destination context; a standalone verdict may only REFUSE a standalone claim, never a TU one. Corollary from the same session, the other direction: the destination TU's decl spelling may only be adopted into a draft when the seed BODY still compiles against it — a void-return spelling for a callee whose value the body reads, or a prototype stricter than the body's K&R-sloppy empty calls, breaks the draft in both worlds (decl_for's guards; 42 and 15 drafts measured respectively).