Commit Graph

163 Commits

Author SHA1 Message Date
Christopher Williams ebbb0db2ed phase9: merge B 2 — 394 regions / 385 distinct bodies
B: 32 new this cycle. Load-bearing insight: frame slots never read back are
the callee's 9th/10th stack arguments (0x80057748 was 68-vs-80 until the
10-arg call). Branchless conditional lever (ternary-zero differs from
if/else — sltu+negu+and). negu evidence set grows (3rd row) for finding
26's toolchain direction. Sibling 0x8005789C (11th stack arg) recorded
with the start-from-10-args note. Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:40:27 -04:00
Christopher Williams 811af05171 phase9: ledger — B's pre-screen correction, name-keyed gp finding 2026-09-24 02:36:46 -04:00
Christopher Williams 2131faf4e6 phase9: reconcile negatives + regen worklist (392 registered) 2026-09-24 02:36:33 -04:00
Christopher Williams 157b247a5c phase9: merge B 0x80103D0C — 392 regions / 383 distinct bodies
B: 30 new this cycle. 0x80103D0C matched; two source fixes recorded
(mask at use site; D_801220F4 is a short not int — sh vs sw tell).
Pre-screen correction: 50/55 (91%) of rare-epilogue rows in A are in the
mutual-exclusion blocked subset (move-pseudo detector fixed: rt==0 not
rs==0) — the class is not unmatchable but operationally mostly blocked;
coordinator's original skip instinct was partly right. New name-keyed-gp
finding: the gp marker hangs off the NAME not the address, so a
differently-named symbol with the right address silently loses gp-relative
form. Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:36:33 -04:00
Christopher Williams 4620187199 phase9: ledger — primitive-init family exclusion, B's 0-for-3 numbers 2026-09-24 02:33:59 -04:00
Christopher Williams 7a0a8b7cb5 phase9: exclude the primitive-init family remainder (worker C + B, family conclusion)
Fourth failure (0x80012CFC, 54 bytes — worst residual of the cycle) against
two successes in one family confirms C's scheduler-bound diagnosis. Family
is a toolchain limit, not a source problem: 0x80012A10/0x80012AE0 (earlier
excluded) plus now 0x80012CFC/0x80012B20. Extensive arithmetic checks
(5 stack args fix a 9-parameter signature; lui immediates 0x08000000 and
0x38000000 are high halves) confirm the model without the bytes.
2026-09-24 02:33:35 -04:00
Christopher Williams 176390b319 phase9: reconcile negatives + regen worklist (391 registered) 2026-09-24 02:31:04 -04:00
Christopher Williams 9cb9fd2e50 phase9: merge B 0x800263A8 — 391 regions / 382 distinct bodies
B solved one of C's parked picks with a better vehicle: the result-first
hypothesis needs RETURN-inside-loop, not a result local (a local allocates
to a0 and costs a move). 0x800263A8 matched 64B first try. Its twin
0x80016224 is now 8 differing bytes, a pure node-v1/payload-a0 register
swap — identical residual to B's own 0x800161E0 (one allocation family,
chartered together). Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:31:04 -04:00
Christopher Williams bad3982984 phase9: ledger — B's tracked-deletion incident, the ls-files rule, independent verification 2026-09-24 02:29:26 -04:00
Christopher Williams 91e008623e phase9: ledger — C rotation closed, B surgical picks corrected 2026-09-24 02:28:19 -04:00
Christopher Williams 000b380bf1 phase9: ledger — worker C rotation (measured, clean handoff) 2026-09-24 02:27:18 -04:00
Christopher Williams e58c7745c0 phase9: reconcile negatives + regen worklist (390 registered) 2026-09-24 02:26:43 -04:00
Christopher Williams 4ca37b05bd phase9: merge C handoff final — 390 regions / 381 distinct bodies
C's last claim 0x800A745C (flag-as-literal lever: named variable cost 4
bytes of s1 save/restore). Handoff accepted after a MEASURED stall signal:
1/4 batch, plus breaking two of its own recorded rules (gp+2300 arithmetic
and the g_/D_ name) in one batch — the criterion C committed to. Handoff
content: 71 claims all tracked-verified, 48 report rows, 38 parked
negatives by class, rareepi.py classifier (validated on 6 cases), orig.py,
lever list with scope limits, ~26 fresh rows in the 100-120 band.
Symbol note: D_80122234 already tracked (C's g_ request redundant — ignore);
g_801219D4 genuinely new for the open 0x80016E24. Gate MATCH whole-binary
SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:26:35 -04:00
Christopher Williams c4923e1440 phase9: ledger — cycle-4 380 bodies 2026-09-24 02:24:10 -04:00
Christopher Williams 2d8fefa048 phase9: reconcile negatives + regen worklist (389 registered) 2026-09-24 02:23:39 -04:00
Christopher Williams 82df438880 phase9: merge C 2 — 389 regions / 380 distinct bodies
2 tier-2 rows (0x800B58C8, 0x80073364). C's weaker-batch honest report:
2/6 then +1 on a fix; new arithmetic instance (0x00FFFF00 from lui 0xff +
ori 0xff00 — the standing compute-don't-eyeball rule applied to two-piece
constant builds). Three genuine compiler residuals with untried levers
named. Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:23:38 -04:00
Christopher Williams e6bef47d32 phase9: ledger — cycle-4 378 bodies 2026-09-24 02:20:24 -04:00
Christopher Williams 72dca4f93c phase9: reconcile negatives + regen worklist (387 registered) 2026-09-24 02:20:12 -04:00
Christopher Williams b8205318f5 phase9: merge C 4 — 387 regions / 378 distinct bodies
4 tier-2 rows (0x80089B30, 0x800A9F7C, 0x800A34E8, 0x80103B8C). C tested
the register-binding lever on 0x800245D8 (FAILED, record corrected from
untried to tried-and-failed; family nuance kept for the pointer-based
0x8006AE04). New address-vs-value tell (same-looking global: lw rt,off(rt)
= VALUE, lui+addiu = ADDRESS). F10 re-confirmed (5th row). Gate MATCH
whole-binary SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:20:04 -04:00
Christopher Williams 2c972af35e phase9: merge B 2 — 383 regions / 374 distinct bodies
Worker B: 28 new this cycle. 0x800B6C14's inverted-polarity guard
(if (test() == 0) — nonzero skips the work) recorded as the 3rd
same-count-wrong-reading this cycle. Two pure-allocation negatives
(0x8007374C 7B reg swap, 0x800A86B4 pointer roles). Gate MATCH
whole-binary SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:18:56 -04:00
Christopher Williams 57a9640fd2 phase9: ledger — cycle-4 372 bodies 2026-09-24 02:16:59 -04:00
Christopher Williams 33b98e5ec6 phase9: reconcile negatives + regen worklist (381 registered) 2026-09-24 02:16:44 -04:00
Christopher Williams 5ac12080ba phase9: merge C 5 — 381 regions / 372 distinct bodies
5 tier-2 rows (0x80099024, 0x800B74D0, 0x80016DCC, 0x800282EC,
0x800474B0). C's repeat register-allocation signature flagged (0x800245D8
+ the 0x8006AE04 list-walk family share the same root: cc1 refuses an
argument register the original used; the register-binding lever is named
for both). Two confirmations: signed-width tell (3rd row: 0x80016DCC count
<=0 guard), and 0x800474B0's 3rd arg genuinely equals its 4th (faithfully
reproduced, not 'corrected'). Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:16:36 -04:00
Christopher Williams b5e53ffe3d phase9: ledger — cycle-4 367 bodies, shape-grouping note 2026-09-24 02:14:35 -04:00
Christopher Williams 660ee12e50 phase9: reconcile negatives + regen worklist (376 registered) 2026-09-24 02:14:11 -04:00
Christopher Williams 622686fba3 phase9: merge C 3 — 376 regions / 367 distinct bodies
3 tier-2 rows (0x8008B910, 0x800AFB1C, 0x80028150), all first-verified.
C's no-arithmetic-errors batch confirms the python3 -c rule works. Three-row
list-walk family negative (0x8006AE04/0x8006AD5C/0x8006B470, all register
allocation) recorded with the untried register-binding lever
(register char *p __asm__("$4")). C's shape-based pre-grouping suggestion
for the phase's last stretch recorded. Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:14:11 -04:00
Christopher Williams 71d079cbb6 phase9: ledger — dependent-claim rule, C's gp-arithmetic fix 2026-09-24 02:11:26 -04:00
Christopher Williams befe45bfb7 phase9: reconcile negatives + regen worklist (373 registered) 2026-09-24 02:11:19 -04:00
Christopher Williams f4fa95ad78 phase9: merge 0x8002E3FC after its gp symbol landed — 373 regions / 364 distinct bodies
Worker C diagnosed the earlier drop: the source was correct; the row failed
only because g_80121BFA (gp) was not yet tracked, so it resolved absolutely
(+8 bytes). Adding the symbol row first made it 80 bytes MATCH. C's standing
rule adopted: claims referencing symbols not yet in the tracked registry are
reported as DEPENDENT (symbol merged before the claim), never as verified
against a superset. Process error #2 (gp arithmetic) recorded. Gate MATCH
whole-binary SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:11:03 -04:00
Christopher Williams da972a6fe2 phase9: ledger — cycle-4 363 bodies, rare-epilogue model confirmed, bad-claim isolation 2026-09-24 02:07:11 -04:00
Christopher Williams 9f138cac0f phase9: reconcile negatives + regen worklist (372 registered) 2026-09-24 02:07:01 -04:00
Christopher Williams d7149cb22d phase9: merge B 3 + C 4 — 372 regions / 363 distinct bodies
Worker B: 26 new this cycle, incl. the rare-epilogue three-way model
confirmed textually (sub-case b: 0x800F8928 mutual exclusion, before/after
68->64 then or-encoded moves), the discard-an-argument-outright pass-through
5th flavour, and D_80121ED8 corroboration. Worker C: 4 matched (0x80048E20,
0x8005784C, 0x800579A0, 0x80057AE0). GATE INCIDENT: C's 0x8002E3FC claimed
but its source is LENGTH-MISMATCH (88 vs expected) against the tracked
registry — dropped from the merge, reported back to C. Gate MATCH
whole-binary SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:06:43 -04:00
Christopher Williams c738b97698 phase9: ledger — rare-epilogue consequence corrected (worker B falsified the skip; three-way model) 2026-09-24 02:04:04 -04:00
Christopher Williams 3062c0ec0f phase9: reconcile negatives + regen worklist (365 registered) 2026-09-24 02:02:54 -04:00
Christopher Williams af0ac5f3b8 phase9: merge C 4 — 365 regions / 356 distinct bodies
4 tier-2 frames (0x8002864C, 0x80049298 with gp=-D_80121BFC, 0x801032D4,
0x800893E8). C's process-error owning (hardcoded ends instead of the
worklist column) and the F24 finding (caller-saved reloaded pointer across
a call means the store belongs before the call) recorded. Rare-epilogue
census: 47 tier-2 rows carry the pattern at their final instructions —
definitive class, broadcast to the workers. Gate MATCH whole-binary
SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 02:02:12 -04:00
Christopher Williams 942beee61c phase9: ledger — rare-epilogue class census: 47 tier-2 rows (definitive) 2026-09-24 02:01:42 -04:00
Christopher Williams ce1e2f83fb phase9: ledger — cycle-4 352 bodies, F22/F23 findings 2026-09-24 01:58:05 -04:00
Christopher Williams 612fbd11bd phase9: reconcile negatives + regen worklist (361 registered) 2026-09-24 01:57:48 -04:00
Christopher Williams e407d5d2f2 phase9: merge C 3 — 361 regions / 352 distinct bodies
Worker C closed 0x80031F2C (a row the coordinator had recorded as a
negative) via the F23 struct-assignment lever (second confirmation) —
stale negative removed. Also 0x800129C8, 0x8009132C (F22: unsigned char
local re-masks an already-zero-extended lbu — width-of-DESTINATION tell).
C's link-error finding recorded: 'small-data section too large' on a
region that built fine = a duplicate gp symbol (name mismatch), not a -G
problem. New negative 0x80042E68 pairs with 0x80042DD4; named pointer
lever untried. Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 01:57:36 -04:00
Christopher Williams 8300f855a5 phase9: ledger — cycle-4 349 bodies, gate-incident and F19 recurrences 2026-09-24 01:52:48 -04:00
Christopher Williams cd60c6b3ea phase9: merge worker C 3 — 358 regions / 349 distinct bodies
3 tier-2 frames from C (0x800A6840, 0x8002C728, 0x8002E968). Gate DIFF
avoided: C's 0x8002C728 used the name g_80121B84 which resolves implicitly
WITHOUT the gp marker (F19) — its local superset carried a g_-marked row so
C's own run matched, but the tracked registry only has D_80121B84. Fixed the
source to the tracked name; re-verified MATCH. C's 0x80025070 'negative'
corrected: that row is the coordinator's registered claim (stale index
entry removed). C's address-arithmetic charter warning (lui + negative
displacement must be hand-derived; five occurrences) recorded. Gate MATCH
whole-binary SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 01:52:24 -04:00
Christopher Williams 814340cb20 phase9: merge B 3 — 355 regions / 346 distinct bodies
Worker B: 3 more tier-2 frames (0x80036328, 0x800AA2B4, 0x80021FF4 — the
latter with the base+offset decode and the clearest finding-13 scratch
constant yet) + symbol D_80121978 (gp). 23 new bodies this cycle.

GATE INCIDENT: the first candidate gate DIFFed with 4 extra bytes because
src/func_80025070.c was DELETED from the working tree after my commit
( status) — the build used a stale/wrong object. Restored from git and
re-gated clean. Lesson recorded: every tracked src/ file is a claim; a
registry row whose source is missing breaks the whole-binary gate with a
cascade, so the pre-gate 'git status src/' check must catch deletions too.
Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 01:51:09 -04:00
Christopher Williams a23222dcfb phase9: ledger — hygiene catch (registry sources must be committed) 2026-09-24 01:47:03 -04:00
Christopher Williams 29e89ad999 phase9: commit worker B's report-5 sources (registry already carried them; sources were omitted from the earlier merge commit) 2026-09-24 01:46:54 -04:00
Christopher Williams 99626648b3 phase9: ledger — context rotation plan, maspsx limitation 2026-09-24 01:46:02 -04:00
Christopher Williams f35ec5607e phase9: merge B 0x80034A80 — 352 regions / 343 bodies
Worker B's maspsx structural limitation recorded: a region needing
addu-encoded moves (maspsx expands move->addu, GNU as expands move->or)
AND an assembler-filled jr slot cannot be matched with any single
maspsx= setting — this explains a family of epilogue residuals. B
verified in .s files. Two negatives with mechanisms (0x800254B0 alloc,
0x800751E8 with negu — evidence FOR the toolchain, finding-26 route).
B self-corrected an invented-address method error. Gate MATCH whole-
binary SHA-1 e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 01:45:51 -04:00
Christopher Williams ec677c6c5c phase9: reconcile negatives (now-registered rows dropped) + worklist regen 2026-09-24 01:42:27 -04:00
Christopher Williams db93c35371 phase9: merge B 2 + coordinator 1 — 351 regions / 342 distinct bodies
Worker B matched 0x800F6330 (correcting my stale negative: destination is
0x8011AA18 via the signed-displacement finding-4 trap) and 0x80090B7C
(18th/19th first-attempt matches this cycle). Coordinator absorbed
0x80025070 (conditional dispatch wrapper). B's correction of its own
void-vs-valued epilogue tell accepted (0x800FBDC0 counterexample; the
shared-epilogue hypothesis stands untested — recorded as observation, not
rule). Gate MATCH whole-binary SHA-1
e173426c157384ebf1b6caf8c6fea18a85a14af9.
2026-09-24 01:42:16 -04:00
Christopher Williams 64561c9eca phase9: remove stale 0x800F6330 negative (worker B matched it; my symbol was the finding-4 sign-adjust trap — 0x8011AA18 not 0x8012AA18) 2026-09-24 01:41:46 -04:00
Christopher Williams 523b901eb3 phase9: ledger — rare-epilogue census (16 sites, library band) 2026-09-24 01:40:23 -04:00