Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/plans/r2il-machine-semantic-contract-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,8 @@ per workspace rule (grindwork → Sonnet; accumulation/orchestration/gates
| wave | deliverable | falsifier / kill condition |
|---|---|---|
| **W0** | ~~`Custom(n)` census~~ **RUN 2026-08-25 — see the ⊘ note in §3.** Census: 0 custom spaces in 94,536 rows / 4 binaries (latent). Mechanism falsified in code: the lo-u16 is a rank in an unnamed table; two arches collide byte-identically | **VERDICT: fixed spaces 0–3 stay; the custom axis is BLOCKED from the `0xC4` mint as carved.** The kill condition fired on a third possibility the row did not anticipate — neither "content" nor "reading", but a reading relative to a table absent from the address |
| **W1** | the R2IL V4 tenant spec: ClassView carving of the 12 bytes for Op / Varnode-ref / macro-ref rows, written against `le-contract.md` §3 | field-isolation matrix test (I-LEGACY-API-FEATURE-GATED): write each field, assert all others unchanged. Any aliasing ⇒ re-carve |
| **W2** | the `0xC4 BinaryLifting` mint (ruff PR3 arc, O5) — container concepts only, gated on W0's verdict for the space axis | mint request names concepts; a concept that encodes per-binary content is rejected by W0's rule |
| **W1** | *(status 2026-08-25: **MAY PROCEED**, independently of W0's verdict — insofar as its carving work does not depend on the custom-space decision. Where it does touch that axis, it inherits W2's block.)* the R2IL V4 tenant spec: ClassView carving of the 12 bytes for Op / Varnode-ref / macro-ref rows, written against `le-contract.md` §3 | field-isolation matrix test (I-LEGACY-API-FEATURE-GATED): write each field, assert all others unchanged. Any aliasing ⇒ re-carve |
| **W2** | ⛔ **BLOCKED-BY-OGAR-MINT-DECISION (W0 ran 2026-08-25).** The gate is no longer *"W0 decides how the space axis is carved"* — W0's verdict is that the **custom axis must not enter the mint in its current carving at all** (the lo-u16 is a rank inside a table the classid never names; two arches collide byte-identically). Fixed spaces 0–3 are unaffected and stay. **Do not resume W2 on the space axis** until OGAR rules on one of the three named-but-undecided options (arch in the address / raw SLEIGH identity / custom space outside the classid). Container concepts that do not touch the space axis are not blocked by this. | the original row's falsifier stands for the concept half; for the space half the block is the verdict, not a test to re-run. Entry: `E-W0-THE-SPACE-ORDINAL-IS-A-RANK-RELATIVE-TO-A-TABLE-THE-CLASSID-NEVER-NAMES-1` |
| **W3** | palette wiring: macro-id byte → `{Learned,Explore}Palette[id]` → R2IL×BPE microcode, `ogar-loco` routing | B4-equivalent byte-exact round-trip through the palette; admission stays MUL's/the triangle's, NEVER the wiring's |
| **W4** | `r2sleigh` seam: `r2sleigh-lift` emits INTO the tenant (R1 — no private graph then serialize). libsla STAYS — it is the oracle | parity: lift the same binary via today's path and via the tenant; byte-equal FlatFact streams. libsla removal is LAST (see below), never first |
| **W5** | `lance-graph-java` facade: `PcodeOp`/`Instruction`/`Varnode` as lazy views over handles + masks | the mask-native gates (GraphHopTest allowlist, allocation gates) extended to the new views; `getPcode()` pays materialization ONLY when called — measured, not asserted |
Expand Down