Repository navigation
lance-graph-xlog: one resident hypercube as XLOG's execution context (probe, D-XLOG-NATIVE-7) - #1911
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMNZqKXSaeb9g2ypywF
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMNZqKXSaeb9g2ypywF
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMNZqKXSaeb9g2ypywF
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMNZqKXSaeb9g2ypywF
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: 696a1f5853
ℹ️ 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".
…e probe to D-XLOG-NATIVE-7 An empty map made bag_count fail with TerminalNeedsOut, because mask-risc refuses a zero-length I64 sink. Both per-side passes now return their empty result without running a program, and a test covers two empty relations. D-XLOG-NATIVE-5 was already the bind-store binding entry; the probe takes the next free id and gets its STATUS_BOARD row. Indexes regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMNZqKXSaeb9g2ypywF
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMNZqKXSaeb9g2ypywF
Cites d-xlog-native Amendment E (#1910) as the decided route: assimilate into lance-graph-xlog, polyfill the callers, CubeCL over ndarray only for the residue; CudaBuffer plumbing is not ported. Records that the device-less provider / CudaBuffer::View idea (#1911) is OPEN and that the "Amendment F" cited by cube.rs:2 and the D-XLOG-NATIVE-7 entry is absent from the plan. Adds the per-crate caller-surface count toward E's open census. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
Removes the Amendment F written in f94c20a: it backfilled an experiment's scope as an architectural decision. d-xlog-native-v1.md is back to its pre-F text. The three citations of a never-written Amendment F (cube.rs:2, tests/cube.rs:1, the D-XLOG-NATIVE-7 entry header) now point to the D-XLOG-NATIVE-7 entry and PR #1911. Doc comments only; no code changes. D-XLOG-WIRE: Amendment E stays the decision of record. The device-less provider and CudaBuffer::View are a non-authoritative research possibility. The provider-call count is an inventory, not a migration mandate. Cube::closure / closure_wide are not equivalent to xlog-cube's host-row recursive SCC evaluation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX
What
Adds
lance_graph_xlog::cube, a single resident context that holds every relation, and view handles into it.Cube::newmaps each id in both columns of every relation exactly once, against one shared tile map read under aMapTableframe.scan,bindandjoinreturnCopyViewhandles. Creating a view runs no program and builds no row.support: twoScatterOrU32programs, thenmask_and.bag_count: twoGroupReduce Countprograms, then a checked product.materialize_rows: the only place tuples are built.This is the experiment from the session's correction: replace the machine under XLOG's CUDA-facing API, rather than speeding up its operators one relation at a time. The comparison with Amendment E (#1910) and the XLOG-side seam census are in
.claude/board/entries/2026-11-01-xlog-resident-hypercube-context.md.Tests (
crates/lance-graph-xlog/tests/cube.rs)support/bag_countacross five bound shapes.LocalMap::lookups()is unchanged after intake.supportthen runs exactly 2 programs and builds 0 rows.Each guard was broken on purpose and its test went red:
materialize_rowsignoring the bound.Not in this PR
Recursion, union and difference as views; more than one tile; n-ary relations; the
CudaBuffer::Viewvariant and a provider that needs no CUDA device in the XLOG fork; per-node cost measurements.Generated by Claude Code