Repository navigation
Commit e9bf3aa
committed
lgj-abi: the operand is what makes the differential a test, measured
Follow-up to the file it amends. The disable table ran five arms and all
five are red, but one of them settles a claim the previous commit only
asserted: that replacing the tautological `LE_I32(500)` operand mattered.
Mis-mapping `LGJ_OP_LE_I32` to `Pred::LtI32` in `plan_lower` — one token,
and the exact defect class `lowering_convergence.rs` exists to catch — is:
operand 300 (shipped): RED `LeI32(300)` = 866, `LtI32(300)` = 865
operand 500 (pre-fix): GREEN both select all 1000
So at the operand the spec originally used, a real mis-map is INVISIBLE:
the two arms agree on an answer neither of them computed correctly. Two of
the nine opcodes would have shipped untested while the file read as
covering all nine.
Recorded where the claim lives — in `OPCODE_CASES`'s doc comment, beside
the measurement that chose the operand, with an explicit instruction not to
move it back under the "the domain doc says 361, so 500 is safely past it"
reasoning that put it there.
Disable table, all five red: the AND/OR asymmetry (an OR gated on the
accumulator); the prefix rewrite (`k := 0`); the one-opcode mis-map above;
the fold's OR node (flattened into the enclosing AND); the fold's dead
prefix (an OR before the first AND becoming a leaf).
182 lib tests, every integration binary green, clippy `-D warnings` + fmt
clean. Board: LATEST_STATE 2026-09-14 (6) amended with the table.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX1 parent 8ad1a1b commit e9bf3aa
2 files changed
Lines changed: 31 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
55 | 74 | | |
56 | 75 | | |
57 | 76 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
458 | 458 | | |
459 | 459 | | |
460 | 460 | | |
461 | | - | |
| 461 | + | |
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
465 | 465 | | |
466 | 466 | | |
467 | 467 | | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
468 | 479 | | |
469 | 480 | | |
470 | 481 | | |
| |||
0 commit comments