mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-01 15:43:06 -04:00
chore(phase-31): S54 checkpoint refresh + wave-metrics row for wave W (412 banked, fleet 95.9/91.5/97.04)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# P30 S49 — cousin-unit survey (similarity tier over the open frontier)
|
||||
|
||||
> Generated by `tools/family_cousins.py` at HEAD `commit:2511` from `.run/family_hseq.json` + the binary sigs (R32-checked against an independent stub recount — a stale map fails loud). Compare digests only at the same HEAD.
|
||||
> Generated by `tools/family_cousins.py` at HEAD `commit:2515` from `.run/family_hseq.json` + the binary sigs (R32-checked against an independent stub recount — a stale map fails loud). Compare digests only at the same HEAD.
|
||||
>
|
||||
> **A unit is a CANDIDATE grouping** — same-source cousins split by skeleton drift (insertion/deletion; the li-expansion class). Cousins need a per-member seeded CRACK, never a `family_sweep` remap. The whole-binary byte-gate stays the sole arbiter.
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
| category | units | open fns | open ins | lever |
|
||||
|---|--:|--:|--:|---|
|
||||
| A-prop | 442 | 2082 | 93021 | family_sweep (propagation) |
|
||||
| seeded | 360 | 892 | 33498 | seeded crack — edit a >=0.85-similar MATCHED body |
|
||||
| cousin-multi | 1187 | 4070 | 167934 | 1 crack seeds the unit's other members |
|
||||
| cold | 3039 | 3039 | 198450 | full-price crack (the honest unique tail) |
|
||||
| **total** | **5028** | **10083** | **492903** | |
|
||||
| A-prop | 443 | 2088 | 93423 | family_sweep (propagation) |
|
||||
| seeded | 361 | 892 | 33782 | seeded crack — edit a >=0.85-similar MATCHED body |
|
||||
| cousin-multi | 1182 | 4056 | 166475 | 1 crack seeds the unit's other members |
|
||||
| cold | 2979 | 2979 | 193172 | full-price crack (the honest unique tail) |
|
||||
| **total** | **4965** | **10015** | **486852** | |
|
||||
|
||||
## Top units by open instructions (whole-cluster weight)
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
| 25 | cousin-multi | 810 | 10 | 2 | · | · | `ov_SC01_005:0x8017e108` (84 ins ×5) |
|
||||
| 26 | A-prop | 798 | 3 | 1 | 1.0 | `ov_SC01_000:0x80130d48` | `ov_SC01_077:0x80130d48` (266 ins ×3) |
|
||||
| 27 | cousin-multi | 784 | 4 | 1 | · | · | `ov_SC03_108:0x8017ffd0` (196 ins ×4 jr) |
|
||||
| 28 | A-prop | 782 | 7 | 6 | 1.0 | `md_SC03_077:0x801ef9c0` | `ov_SC02_000:0x80181e70` (122 ins ×2) |
|
||||
| 29 | cousin-multi | 767 | 15 | 7 | 0.839 | · | `ov_SC03_028:0x8018966c` (63 ins ×4) |
|
||||
| 30 | seeded | 752 | 14 | 10 | 0.921 | `ov_SC02_027:0x8017f6d4` | `ov_SC02_027:0x8017f858` (48 ins ×3) |
|
||||
| 28 | cousin-multi | 767 | 15 | 7 | 0.839 | · | `ov_SC03_028:0x8018966c` (63 ins ×4) |
|
||||
| 29 | seeded | 752 | 14 | 10 | 0.921 | `ov_SC02_027:0x8017f6d4` | `ov_SC02_027:0x8017f858` (48 ins ×3) |
|
||||
| 30 | A-prop | 684 | 6 | 5 | 1.0 | `md_SC03_077:0x801ef9c0` | `ov_SC02_000:0x80181e70` (122 ins ×2) |
|
||||
| 31 | cousin-multi | 680 | 8 | 2 | 0.7 | · | `md_SC03_077:0x801efb58` (87 ins ×4 jr) |
|
||||
| 32 | cousin-multi | 668 | 3 | 3 | · | · | `ov_SC02_017:0x80186770` (230 ins ×1) |
|
||||
| 33 | cousin-multi | 658 | 14 | 5 | · | · | `ov_SC04_018:0x80181124` (52 ins ×4) |
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
> 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:2514` · 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.
|
||||
> **Scope (212 binaries): 141 location overlays + 70 md_* modules + the resident · MAIN IS EXCLUDED** · generated at HEAD `commit:2515` · 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):** 97.2% fn / 96.4% instr / 92.4% distinct-code matched. Unmatched: 10,015 instances / 486,852 ins (8,648 distinct classes).
|
||||
|
||||
|
||||
@@ -261,3 +261,32 @@ that pointer all along while the card builder discarded it.
|
||||
fleet-wide 60-200 mass band thinning under `--rank total`. Each group is a whole-binary rebuild, so
|
||||
the gate cost per banked instruction is rising even while the bank rate holds. At ~12 groups, re-open
|
||||
the band question against the velocity ledger rather than drawing another wave on reflex.
|
||||
|
||||
## Wave W (P31 S54) — the UNKNOWN lane, and the selector that was overriding the prompt
|
||||
|
||||
| | wave V | **wave W** |
|
||||
|---|--:|--:|
|
||||
| cards / drafted ins | 70 / 6,503 | 71 / 6,500 |
|
||||
| **gate groups** | 9 | **3** |
|
||||
| **drafts per rebuild** | 7.8 | **24.3** |
|
||||
| standalone MATCH | 69/70 | **71/71 of the agents that ran** (2 lost to server rate-limiting) |
|
||||
| banked | 68 | **68** |
|
||||
| mechanical siblings | 25 | **0** |
|
||||
| index_gaps -> confirmed / rejected / already-covered | 67 -> 14 / 9 / 76 | 68 -> 4 / 3 / 41 |
|
||||
|
||||
**The draw is the story.** Wave W's first draw came up SHORT — 63 cards, 5,647 ins, 10 gate groups —
|
||||
continuing 5 -> 7 -> 9. Probing the atlas rather than accepting it: **`UNKNOWN` held 607 of the 1,179
|
||||
in-band members, more than every other lever lane combined**, and `build_wave_atlas`'s default
|
||||
`--levers` excluded it — while the wave PROMPT tells every agent that UNKNOWN drafts like any other
|
||||
lane. The tool was silently overriding the doctrine, and the "thinning frontier" was a default flag.
|
||||
|
||||
**Two costs, both real, recorded so the next draw is a choice and not a reflex:**
|
||||
* **Zero siblings.** UNKNOWN groups are mostly singletons: waves T/U/V got 49/34/25 functions free
|
||||
from the remap, W got none. Face mass and delivered mass are different numbers (§193-A/`--rank
|
||||
total`), and the UNKNOWN lane maximises the first at the expense of the second.
|
||||
* **Harvest yield fell to 4** from 14. Partly the seeding (three sessions of laws off the table),
|
||||
partly that this lane's functions are ordinary — the atlas could not name a lever precisely because
|
||||
there was no distinctive one to name.
|
||||
|
||||
**Gate-group concentration is the wall-clock lever overnight**: 3 rebuilds instead of 9 is roughly an
|
||||
hour back per wave, and wall-clock — not tokens — is what bounds a session that runs waves in series.
|
||||
|
||||
@@ -229,23 +229,58 @@ R22 clean-fleet **213/213** after every banked batch · tools-health green · 0
|
||||
byte-neutral only if every existing USE SITE still compiles unchanged — and prefer editing the
|
||||
draft, which verifies in seconds, over the TU, which costs a rebuild and risks the whole file.
|
||||
|
||||
- 2026-08-18 — **WAVE W: 71/71 drafted, 68 banked in THREE gate groups — and the draw exposed that the
|
||||
SELECTOR had been overriding the DOCTRINE.** The first draw came up short (63 cards / 5,647 ins /
|
||||
10 groups, continuing 5 -> 7 -> 9), so I probed the atlas instead of accepting it: **UNKNOWN held
|
||||
607 of the 1,179 in-band members — more than every other lane COMBINED — and
|
||||
`build_wave_atlas`'s default `--levers` excluded it**, while the wave PROMPT tells every agent
|
||||
"UNKNOWN does NOT mean hard — it means the atlas could not name a lever ... UNKNOWN cards draft
|
||||
like any other lane (measured across waves O-S)". Redrawn with UNKNOWN in: **73 cards / 6,500 ins
|
||||
in 3 GATE GROUPS = 24.3 drafts per rebuild** (T 14.2 · U 10.4 · V 7.8). Result: **71/71 of the
|
||||
agents that ran matched** (2 died on server rate-limiting and are released back to the pool),
|
||||
**68 banked** (ov_SC03_105 26/26 · md_SC07_004 34/36 · ov_SC06_006 8/8 — the first MODULE binary
|
||||
drafted this session). UNKNOWN is now a DEFAULT lane (§198). **Recorded cost: zero siblings** —
|
||||
UNKNOWN groups are mostly singletons, so the free remap that gave T/U/V 49/34/25 gave W nothing.
|
||||
Concentration and sibling mass trade against each other; pick per wave.
|
||||
|
||||
- 2026-08-18 — **§196 `decl_prior`: the card now carries the fleet's declaration consensus.** Chosen
|
||||
by measurement, not intuition: wave V's tokens are **88.3% drafting / 8.4% repair / 3.2% reconcile**
|
||||
at **9.3 match_one compiles per agent**, so the lever is what a drafter must GUESS before its first
|
||||
compile. Two such guesses are answered in the tree — callee arity/return type (§195-A: the asm has
|
||||
NO tell either way, the procedure is a two-arity A/B) and global type (every CONFLICTING-EXTERN
|
||||
drop). `tools/decl_prior.py` indexes 4,162 files -> **67,094 symbols** (9,739 with a banked
|
||||
DEFINITION); cards carry the rows for their own target's symbols, ranked DEF > TU (authoritative,
|
||||
law 2) > FLEET modal + rivals with counts. I did NOT build the offset-width prior I first sketched:
|
||||
the `.s` already gives access width unambiguously (`lh`/`lhu`/`lw`), so it would have been
|
||||
redundant. Structs deferred to the readability pass per Drew.
|
||||
|
||||
- 2026-08-18 — **§197 harvest (4 confirmed / 3 rejected / 41 already-covered), and one entry is banked
|
||||
CONTESTED.** Two verifiers confirmed the same phenomenon (`lhu ; sll 16 ; sra 16+K` where the
|
||||
target has `lh ; sra K`) and attributed it to DIFFERENT passes — cse's `fold_rtx` associative block
|
||||
(with `-da` dumps showing the middle insn already gone in `x.i.cse`) vs combine preferring the
|
||||
count-merge. R34 forbids reading agreement between disagreeing oracles as corroboration, so the
|
||||
tell and the cure (a zero-byte asm re-tie; a FRESH TEMP works with no second SET at all) are banked
|
||||
and the pass question is recorded open. Both verifiers independently **byte-refuted §136 type-form
|
||||
rule 9's cure**: `u16 v[4]` and `SVECTOR v` compile byte-identically in rule 9's own context.
|
||||
|
||||
## 🛑 SESSION CHECKPOINT — S54 FINAL (2026-08-17). Phase 31 CONTINUES. NOTHING IN FLIGHT.
|
||||
|
||||
**HEAD `commit:2509` · tree clean except Ghidra `db.*.gbf` restart-noise (R23: do NOT stage) ·
|
||||
**HEAD `commit:2515`+ · tree clean except Ghidra `db.*.gbf` restart-noise (R23: do NOT stage) ·
|
||||
R22 `make check-all` = 213 passed / 0 failed of 213 from a CLEAN tree (run 3x this session, after
|
||||
each wave) · EXE `143dbb89` · 0 NON_MATCHING.** No process running, no cron armed, no workflow in
|
||||
flight. Drew pushes.
|
||||
|
||||
### Banked this session: 344 functions (235 gated heads + 108 mechanical siblings + 1 main)
|
||||
### Banked this session: 412 functions (303 gated heads + 108 mechanical siblings + 1 main)
|
||||
| lane | banked | notes |
|
||||
|---|--:|---|
|
||||
| wave T — mass band, 5 groups | 70 of 70 | **zero drops** — first wave ever to bank every byte-verified draft |
|
||||
| wave U — mass band, 7 groups | 73 of 73 | **100% drafted AND 100% banked**; 15% fewer tokens, 64% of the wall-clock |
|
||||
| wave V — mass band, 9 groups | 68 of 69 | 8 of 9 groups clean |
|
||||
| mechanical siblings (`family_sweep --hseq`) | 49 + 34 + 25 = **108** | ~0 tokens; 9 failed of 112 attempts |
|
||||
| wave W — UNKNOWN lane, 3 groups | 68 of 70 | 71/71 drafted; 0 siblings (UNKNOWN groups are singletons) |
|
||||
| §180 leftover sweep | 24 | byte-perfect drafts already on disk from waves M/O/P/R/S |
|
||||
|
||||
**Fleet 95.9% instr-weighted · 91.4% distinct-code · 97.02% fn-count · MAIN 20.5%.**
|
||||
**Fleet 95.9% instr-weighted · 91.5% distinct-code · 97.04% fn-count · MAIN 20.5%.**
|
||||
(Session start: 95.6 / 90.8 / 96.92.)
|
||||
|
||||
### THE FIVE RESULTS THAT OUTLIVE THE COUNT
|
||||
|
||||
Reference in New Issue
Block a user