Skip to content
Merged
Show file tree
Hide file tree
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
10 changes: 10 additions & 0 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,16 @@ Plan: `.claude/plans/gremlin-composable-algebra-v1.md`.
| D-CMH-G1-5 | FirstOfRun | Withdrawn 2026-10-12 (backup `backup/session-011BMJ-2026-10-12`; see entry session-reset-inventory) | insufficiency proof first; Quack + R2IL vs independent oracle |
| D-CMH-G1-6 | ordered `I32` conditions + `MIN`/`MAX` folds as method steps; R2IL `MIN`/`MAX` wired | Withdrawn 2026-10-12 (backup `backup/session-011BMJ-2026-10-12`; see entry session-reset-inventory) | both frontends == row loop incl. empty selection; 8 disable runs red |

## D-FOLD-CORE — the fold path as a core capability (2026-10-13)

Decision (operator, 2026-10-13): the contract's only dependency becomes mask-risc and through it ndarray (the other session's step); `lance-graph` core depends on mask-risc, quack and R2IL by default; NAL moves into core as a module and keeps lowering through R2IL. The contract never depends on OGAR (`ogar-loco` depends on the contract).

| D-id | scope | status | gate / falsifier |
|---|---|---|---|
| **D-FOLD-CORE-a** | `lance-graph-r2il` becomes a workspace member; it, `lance-graph-nal` and `r2il-mask-abi-probe` take OGAR by git `main` (the `lance-graph-ogar` coordinate) instead of `../../../OGAR` paths; the root patches the contract's git URL to the member | In PR | `cargo metadata`: one `lance-graph-contract`, one `ogar-loco`, one `ogar-r2il`; tests: r2il 19, nal 8, probe 40, all green |
| **D-FOLD-CORE-b** | `crates/lance-graph` depends on mask-risc, quack and R2IL by default | Queued | core builds and tests green with the three in the default graph |
| **D-FOLD-CORE-c** | NAL as a module of `crates/lance-graph`; `crates/lance-graph-nal` removed; W2 tests moved unchanged | Queued | the 8 W2 tests pass unchanged in core |

## D-PROD-V4 — production build tiers (2026-10-13)

Entry: `entries/2026-10-13-production-targets-v4.md`.
Expand Down
17 changes: 12 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ members = [
"crates/lance-graph-contract",
"crates/lance-graph-mask-risc",
"crates/lance-graph-quack",
# The fold reading of R2IL over mask-risc (FoldDialect, D-SQLP-1). A member
# since 2026-10-13: the fold path is a core capability, and CI and the root
# Dockerfiles check out the OGAR sibling it path-deps (`ogar-loco`,
# `ogar-r2il`). The contract may never depend on OGAR (`ogar-loco` depends on
# the contract), but members other than the contract may.
"crates/lance-graph-r2il",
# EXPERIMENTAL, routed nowhere: Cypher (upstream front end, read-only) →
# bound LogicalOperator → Quack, with typed refusals.
"crates/lance-graph-cypher-quack",
Expand Down Expand Up @@ -101,11 +107,6 @@ exclude = [
# that checkout present. Verify via
# `cargo test --manifest-path crates/r2il-mask-abi-probe/Cargo.toml`.
"crates/r2il-mask-abi-probe",
# The fold reading of R2IL over mask-risc (FoldDialect), extracted from
# r2il-mask-abi-probe (D-SQLP-1). Excluded for the same reason: it path-deps
# the OGAR sibling. Verify via
# `cargo test --manifest-path crates/lance-graph-r2il/Cargo.toml`.
"crates/lance-graph-r2il",
# NAL over the fold path (D-NALP-1/2): path-deps lance-graph-r2il, so it
# needs the OGAR checkout too. Own workspace root; verify via
# `cargo test --manifest-path crates/lance-graph-nal/Cargo.toml`.
Expand Down Expand Up @@ -405,6 +406,12 @@ object_store = { version = "0.14", features = ["aws"] }
# Full measurement + the target geometry: .claude/knowledge/CARGO-COMPUTE-SUBSTRATE.md
ndarray = { path = "../ndarray" }

[patch."https://github.com/AdaWorldAPI/lance-graph"]
# OGAR's crates (`ogar-loco`, reached through the `lance-graph-r2il` member)
# depend on the contract by its git coordinate. Without this the workspace
# would hold two contract packages: the member and the git copy.
lance-graph-contract = { path = "crates/lance-graph-contract" }

[patch."https://github.com/AdaWorldAPI/ndarray"]
# The same sibling checkout for crates that name the canonical git coordinate
# (today `lance-graph-mask-risc`, so that git consumers of Quack can build).
Expand Down
3 changes: 2 additions & 1 deletion crates/lance-graph-nal/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ lance-graph-contract = { path = "../lance-graph-contract" }
lance-graph-mask-risc = { path = "../lance-graph-mask-risc" }
# The procedure executor: NAL operations are R2IL call sequences over it.
lance-graph-r2il = { path = "../lance-graph-r2il" }
ogar-loco = { path = "../../../OGAR/crates/ogar-loco" }
# By git `main`, the coordinate `lance-graph-r2il` uses (one `ogar-loco`).
ogar-loco = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" }

[patch."https://github.com/AdaWorldAPI/lance-graph"]
lance-graph-contract = { path = "../lance-graph-contract" }
Expand Down
26 changes: 9 additions & 17 deletions crates/lance-graph-r2il/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,16 @@ edition = "2021"
publish = false
description = "The fold reading of R2IL executed over mask-risc: FoldDialect, an ogar-loco Dialect that turns R2IL calls into mask-risc Programs and runs them at each fold boundary. Extracted from r2il-mask-abi-probe (D-SQLP-1)."

# Its OWN workspace root, like `r2il-mask-abi-probe`: it path-deps the OGAR
# sibling (`ogar-loco`, `ogar-r2il`), and no ordinary lance-graph workspace
# build should need that checkout. Verify via
# `cargo test --manifest-path crates/lance-graph-r2il/Cargo.toml`.
[workspace]
# A workspace member: the root `Cargo.toml` patches the contract and ndarray
# git coordinates to their local paths, so there is one of each.

[dependencies]
# The only bulk execution engine.
lance-graph-mask-risc = { path = "../lance-graph-mask-risc" }
# The interpreter seam and the R2IL opcode/arity table. By PATH, matching
# `r2il-mask-abi-probe`, so both crates see one `ogar-r2il` identity.
ogar-loco = { path = "../../../OGAR/crates/ogar-loco" }
ogar-r2il = { path = "../../../OGAR/crates/ogar-r2il" }

# Same patches as `r2il-mask-abi-probe`: one local contract identity, one
# local ndarray identity.
[patch."https://github.com/AdaWorldAPI/lance-graph"]
lance-graph-contract = { path = "../lance-graph-contract" }

[patch."https://github.com/AdaWorldAPI/ndarray"]
ndarray = { path = "../../../ndarray" }
# The interpreter seam and the R2IL opcode/arity table, by git `main`, the
# coordinate `lance-graph-ogar` uses: one `ogar-loco` in the workspace, and a
# repo that pulls lance-graph by git can still resolve it (a `../../../OGAR`
# path escapes the fetched repository; medcare-rs #565). The OGAR crates take
# the contract from git `main`; the root `[patch]` maps that to the member.
ogar-loco = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" }
ogar-r2il = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" }
12 changes: 5 additions & 7 deletions crates/r2il-mask-abi-probe/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,11 @@ lance-graph-quack = { path = "../lance-graph-quack" }
# The fold dialect under test (D-SQLP-1). `tests/row_bridge.rs` used to
# define it; it now lives in its own crate and this probe tests it.
lance-graph-r2il = { path = "../lance-graph-r2il" }
# The oracle in THIS probe — deliberately not yet the delegating side. Reached
# by PATH, not git. Until 2026-10-10 mask-risc path-depped `ndarray` at
# `../../../ndarray`, which no cargo git checkout could resolve, so the
# differential could not live on the OGAR side. The direction
# here matches `crates/symbiont`'s existing `../../../OGAR/crates/...` deps.
ogar-r2il = { path = "../../../OGAR/crates/ogar-r2il" }
ogar-loco = { path = "../../../OGAR/crates/ogar-loco" }
# The oracle in THIS probe — deliberately not yet the delegating side. By git
# `main` since 2026-10-13, the coordinate `lance-graph-r2il` uses, so the
# probe and the dialect it tests see one `ogar-r2il` and one `ogar-loco`.
ogar-r2il = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" }
ogar-loco = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" }
# Round 3 (`tests/v3_v4_dual_reading.rs`): the V3 reading — `NodeRow`,
# `node_rows_from_le_bytes`, `FacetCascade::ref_from_bytes` — over the same
# bytes the loco/R2IL reading projects.
Expand Down
Loading