Repository navigation
D-RMAP focus probe and native join over a relationship table; board rows for #1618–#1620 - #1621
Conversation
PR_ARC_INVENTORY entries for #1618 (post-merge recovery for #1601-#1617, merged dbe0696) and #1619 (D-RMAP binding palette generation and the §7 versioning crosswalk, merged 8e004a2), and a LATEST_STATE section for main after #1619. Contract inventory delta: none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d8957bd6d5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Two Codex findings on #1621, both checked against the plan text: - #1619: map generation is the sealed RelationshipMap/RelationFacts DurableRef only; ThoughtCommitId applies to palette generation alone (D-RMAP-1A §7.3). - #1618: at dbe0696 the thought-palette binding still keyed only MapPaletteId; #1618 added the map generation to the tile key and a palette generation to MapPalette. The binding change is #1619's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K
Merges main (#1620, dca8e7b) into the #1621 branch and resolves the LATEST_STATE conflict by keeping #1620's own section, now marked merged, under a new "main after #1620" section. Adds the PR_ARC_INVENTORY entry for #1620, including the corrected cost figure (1.6x shared vs rebuilt, not 110x). Entries index regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K
Measures the D-RMAP-1A §6 economics on a probe, with nothing adopted: a 256-slot focus over 65 536 identities, bound to an existing sorted run or PathMap trie, prepared into a slot-space CSR and a 256x256 tile per predicate, and evaluated through the existing mask-risc executor. No gather, no copied fact, no new opcode, store or CE64 field; address translation happens only in preparation, and out-of-focus targets are reported as escapes rather than dropped. - crates/mork-pathmap-probe/src/rmap.rs: SortedRun, Focus, Csr, Tile, ThoughtDelta, incremental rebind, place focus masks and register lanes, membership planes for postings, witness refusals. - boundary.rs: SpogTrie (PathMap, p|s|o) and PostingTrie. - tests/rmap.rs: 12 tests against an independent scan oracle; 11 guards disable-verified. - examples/rmap_cost.rs: amortization at N = 1..1 000 000, churn k = 1..256, 1/8/64 thoughts, bytes. Measured (release, warm, medians of 5): break-even reuses 76 / 11 / 1.8 for sparse degree 2 / degree 8 / dense; the tile beats CSR only on the dense relation; incremental rebind loses at k = 256. Recorded in D-RMAP-1A §8, STATUS_BOARD D-RMAP-1A-P and a board entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K
The Schnellverschluss native arm was blocked on "a co-addressed producer for the input shape". This adds one as a probe: JoinTable lays R(x, y) and S(y, z) out by the slot of y in one shared domain, each side tied to its own dataset generation. The leapfrog y-level intersection becomes one mask-risc And over two presence planes; enumeration reads both sides only at the surviving slot, so no operand is read at a position taken from another's values. Not admitted: the global-to-local binding still needs the D-RMAP-1 BIND membrane review, and nothing is wired into Quack or R2IL. - src/join.rs: JoinDomain, Side, JoinTable (prepare, prepare_star, replace_side, check), JoinExec (joint, answers, for_each_answer, bag_count), filter planes per thought. - boundary.rs: Backend::Native answers through the table, for set and bag semantics. - tests: 8 join tests and native arms in the differential suite against the nested-loop oracle; 7 guards disable-verified. - examples/join_cost.rs: native vs PathMap vs MORK on the cost.rs fixtures and a heterogeneous one. Measured at n = 50 000: prepare 2.7 ms (PathMap 14.7, MORK 22.9); set answers 7.4 ms (26.1, 144); bag count 36 us; reseal of one side 0.21 ms vs 2.47 ms for the table. Cyclic bodies are not covered. Recorded in the Schnellverschluss plan §7b, D-RMAP-1A §8.8a, STATUS_BOARD D-MPS-8 and a board entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K
Arc entries for #1621-#1626 and a LATEST_STATE section; four ISSUES rows that each gather one blocker's several names (admission, recursion driver, retraction provenance, DurableRef/ThoughtCommitId); a correction for the stale D-RMAP-2 "not run" index line; the Haiku run ledger; and D-RMAP-2 §5a-AMX re-measured on a second AMX host. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VncKoyG6JkpsoqhqTGTv3f
This PR has three parts. All the code is probe code in
crates/mork-pathmap-probe; nothing is adopted or wired into Quack or R2IL.1. Focus-bound RelationshipMap probe (D-RMAP-1A §8,
src/rmap.rs)A 256-slot focus over 65 536 identities is bound to an existing index (a sorted run of fact rows, or a PathMap trie). It is prepared into a slot-space CSR, plus a 256×256 bit tile per predicate. 1–3-hop reach runs through the existing mask-risc executor:
12 tests run against an independent scan oracle; 11 guards are disable-verified. Measured (release, warm cache, medians of 5):
2. Native join over a versioned relationship table (Schnellverschluss §7b,
src/join.rs)The Schnellverschluss plan blocked the native arm on "a co-addressed producer for the input shape".
JoinTableis such a producer. It lays outR(x, y)andS(y, z)by the slot ofyin one shared domain, and each side keeps its own dataset generation:y-level intersection is one mask-riscAndover two presence planes.Backend::Nativenow answers in the differential suite, for both set and bag semantics (both upstream indexes are sets). There are 8 new tests, and 7 guards are disable-verified. At n = 50 000:Not admitted: the global-to-local binding needs the D-RMAP-1 BIND membrane review. Cyclic bodies (triangle) are not covered.
3. Board rows for #1618, #1619, #1620
PR_ARC_INVENTORY.md, one entry per PR:dbe0696f): the post-merge recovery for docs(arxiv): extract HGR theorem patterns and HRR retrieval bottleneck #1601–design: separate zero-copy RelationshipMaps and thought-selected palettes (D-RMAP-1) #1617.8e004a20): the palette generation now carried in the binding, plus the D-RMAP-1A §7 versioning crosswalk.dca8e7b1): the MORK/PathMap probe, with the corrected cost figure (1.6×, not 110×).LATEST_STATE.md: a "main after MORK / PathMap Schnellverschluss: source switch, typed backend switch, differential probe (D-MPS-0..7) #1620" section.The two Codex findings on the board commit were fixed in
fcc4bd4cand resolved.Because this PR now includes code, it needs its own arc entry after it merges.
Checks run locally
cargo test --release, with and without--features leapfrog: all green.cargo clippy --all-targets -D warnings, both feature sets: clean.cargo fmt --check: clean.🤖 Generated with Claude Code
https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K