Files
BFM-decomp/docs/family-hseq.md
T
Drew T e903713b71 feat(phase-30 S50): the mechanical A-prop draft — 256 members banked with no agent in the loop
Final S50 state: 307 instances banked, stubs 12,468 -> 12,161, fleet 95.3% instr / 90.0%
distinct / 96.65% fn-count. R22 clean rebuild 4x, check-all 213/213 every time.

- tools/aprop_autodraft.py + tools/draft_prechecks.py: seed body + symbol_map + a MINIMAL
  synthesized preamble. The seed's decl layer never travels — that layer is family_sweep's
  dominant failure (331 of 458 S49 verdicts). 256 banked at zero agent tokens, against the
  ~20M the same work would have cost as a wave.
- Macro seeds (567 of 1196 members, all 3737 de-macroize) take the DEFINITION only; the block
  stays the decl source. Pasting it whole measured 28% vs inline's 68% — func_8016AB6C's macro
  is 1,891 lines of which 108 are the function.
- IMM is a second engine, not a wall: T2a's imm_map_tier1 resolves a per-location LITERAL like
  symbol_map resolves a per-location SYMBOL. 131 of 275 IMM members resolve.
- draft_prechecks negative-controlled against ALL 205 banked drafts: zero false positives,
  catches 39 of 67 known failures. That control found two bugs in the checks themselves —
  C89 `f()` declares UNSPECIFIED parameters (not zero), and a member's own definition read as
  a call to itself. Conservative by design: a pre-check that discards good drafts is worse
  than one that lets a few builds fail.
- The A-prop pool is now priced exactly: PURE 437/37,376 ins, IMM 275/8,849, STRUCT 238/4,259.
- Cookbook §171a; SETUP rows; CURRENT_PHASE S50 FINAL checkpoint.
2026-08-14 07:42:19 -06:00

6.0 KiB
Raw Blame History

Phase 26 — h_seq family survey (T1)

Glossary — zero-crack in THIS file means n_matched == 0: the family has no matched member anywhere and needs its FIRST crack. (Roadmap §3 T3 uses the phrase for the OPPOSITE case — an already-matched exemplar awaiting propagation.)

Generated by tools/family_hseq.py from the 212 binary sigs + per-binary src stubs. Ranked by TEMPLATABLE byte-weight (PURE+IMM members × nins × 4). The byte-gate is the arbiter.

Scope (212 binaries): 141 location overlays + 70 md_ modules + the resident · MAIN IS EXCLUDED* · generated at HEAD commit:1901 · stub set derived from corpus.stubs — the same oracle progress.py counts, so same-tree overlay totals agree by construction; compare digests only at the same HEAD.

Fleet (overlays): 96.8% fn / 95.7% instr / 91.1% distinct-code matched. Unmatched: 11,407 instances / 571,611 ins (9,824 distinct classes).

Tail cross-check (Phase-25 close): 7,520 tail fns / 372,305 ins → 440 h_seq families ≥2, 72 substantial (nins≥80) / 30,992 ins.

Full frontier (all unmatched by h_seq): 2014 target families (≥2 members or a matched sibling) + 4504 singletons (Step-D residue). Substantial: 266 families / 94,856 templatable ins, 59 with a matched sibling (zero-crack). Substantial member classes: 671 PURE · 29 IMM · 6 STRUCT-excluded.

Top substantial families (by templatable byte-weight)

# nins members (P/I/S) #addr/#ov tag class matched jr exemplar templ. ins
1 246 16 (16/0/0) 6/16 cross-address PURE 0 · 0x8017c294 draft-ov077 3,936
2 611 4 (4/0/0) 4/4 cross-address PURE 1 · 0x80186e24 matched 2,444
3 770 3 (3/0/0) 1/3 per-location PURE 138 · 0x80144b9c matched-ov077 2,310
4 551 4 (4/0/0) 4/4 cross-address PURE 1 Y 0x80189540 matched 2,204
5 407 4 (4/0/0) 4/4 cross-address PURE 1 Y 0x8017c3bc matched 1,628
6 279 5 (5/0/0) 4/5 cross-address PURE 0 Y 0x8017f2d4 modal 1,395
7 188 7 (7/0/0) 1/7 per-location PURE 134 Y 0x8016ab6c matched-ov077 1,316
8 187 7 (7/0/0) 1/7 per-location PURE 134 · 0x8013dd68 matched-ov077 1,309
9 326 4 (4/0/0) 4/4 cross-address PURE 1 Y 0x8017d730 matched 1,304
10 291 4 (4/0/0) 4/4 cross-address PURE 1 Y 0x8017d2a4 matched 1,164
11 363 3 (3/0/0) 1/3 per-location PURE 138 Y 0x8015444c matched-ov077 1,089
12 102 10 (0/10/0) 9/10 scattered IMM 78 · 0x8017d290 matched 1,020
13 329 3 (3/0/0) 1/3 per-location PURE 138 Y 0x8013c414 matched-ov077 987
14 127 7 (7/0/0) 1/7 per-location PURE 134 · 0x80145cec matched-ov077 889
15 218 4 (4/0/0) 4/4 cross-address PURE 1 Y 0x8017cf3c matched 872
16 272 3 (3/0/0) 1/3 per-location PURE 138 Y 0x8013b83c matched-ov077 816
17 266 3 (3/0/0) 1/3 per-location PURE 138 · 0x80130d48 matched-ov077 798
18 196 4 (4/0/0) 4/4 cross-address PURE 0 Y 0x8017ffd0 modal 784
19 108 6 (6/0/0) 6/6 cross-address PURE 0 Y 0x8017eeec modal 648
20 203 3 (0/3/0) 2/3 cross-address IMM 7 · 0x8017e804 matched 609
21 198 3 (3/0/0) 1/3 per-location PURE 138 Y 0x8013bd74 matched-ov077 594
22 94 6 (6/0/0) 6/6 cross-address PURE 0 · 0x801874e4 modal 564
23 110 5 (5/0/0) 5/5 cross-address PURE 1 · 0x80188b9c matched 550
24 275 2 (2/0/0) 2/1 cross-address PURE 0 · 0x8017f9ac modal 550
25 91 6 (6/0/0) 6/6 cross-address PURE 0 · 0x80189e60 modal 546
26 265 2 (0/2/0) 2/2 cross-address IMM 5 · 0x80183e04 matched 530
27 127 4 (4/0/0) 4/4 cross-address PURE 1 · 0x8017eb70 matched 508
28 101 5 (5/0/0) 5/5 cross-address PURE 1 · 0x8017f278 matched 505
29 124 4 (4/0/0) 4/4 cross-address PURE 1 · 0x8017dd28 matched 496
30 246 2 (2/0/0) 2/1 cross-address PURE 0 · 0x8017f5d4 modal 492
31 154 3 (3/0/0) 1/3 per-location PURE 138 Y 0x8013c0f8 matched-ov077 462
32 148 3 (3/0/0) 1/3 per-location PURE 138 · 0x8016d1d8 matched-ov077 444
33 111 4 (4/0/0) 4/4 cross-address PURE 0 · 0x801832f8 modal 444
34 108 4 (4/0/0) 4/4 cross-address PURE 1 Y 0x8017ca18 matched 432
35 107 4 (4/0/0) 2/4 cross-address PURE 2 · 0x8018a438 matched 428
36 85 5 (5/0/0) 5/5 cross-address PURE 0 · 0x8017d3f4 modal 425
37 212 2 (2/0/0) 2/1 cross-address PURE 0 · 0x801805d4 modal 424
38 84 5 (5/0/0) 4/5 cross-address PURE 0 · 0x8017e108 modal 420
39 209 2 (2/0/0) 2/2 cross-address PURE 0 Y 0x801810c8 modal 418
40 201 2 (2/0/0) 1/2 per-location PURE 1 Y 0x80181be4 matched-ov077 402
41 397 1 (1/0/0) 1/1 per-location PURE 2 · 0x8018f060 matched 397
42 197 2 (2/0/0) 1/2 per-location PURE 0 · 0x80184a08 modal 394
43 97 4 (4/0/0) 4/4 cross-address PURE 0 · 0x8017dab8 modal 388
44 97 4 (4/0/0) 4/4 cross-address PURE 0 · 0x80181edc modal 388
45 97 4 (4/0/0) 4/4 cross-address PURE 0 · 0x801822c0 modal 388
46 96 4 (4/0/0) 4/4 cross-address PURE 0 · 0x8017fd64 modal 384
47 192 2 (2/0/0) 2/2 cross-address PURE 1 · 0x80191020 matched 384
48 127 3 (3/0/0) 3/3 cross-address PURE 0 · 0x80181d44 modal 381
49 95 4 (4/0/0) 4/4 cross-address PURE 0 · 0x8018317c modal 380
50 94 4 (4/0/0) 4/4 cross-address PURE 0 · 0x80188250 modal 376