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
11 changes: 6 additions & 5 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
## 2026-10-15 — main after #1555 (merged); D-WAL measured on branch `ccr-9f3b8075-74u47l-wal-shootout` (unpushed)
## 2026-10-15 — main after #1562 (merged `31ef1802`); D-WAL on main

- **On `main` (#1555, merged `5366a5ab`):** `crates/lance-graph-metta` (excluded) with the D-MTP-1 join probe and the D-MTP-1b range-hop probe; plan `metta-polyfill-v1.md`. Examples only, no production change.
- **On branch:** D-WAL-5/6/7 (decisions accepted 2026-10-15): `LanceCycleWriter` opens and writes on a Lance session with an 8 MiB metadata cache (`SESSION_METADATA_CACHE_BYTES`); index forms of `deinterlace` / `local_trajectories` in `lance-graph-planner::temporal`.
- **Contract (new type):** `temporal_pov::{VersionClock, ClockError}` — rows of an append-only lane per version; `rows_at(&TemporalPov)` resolves a point of view to one half-open row range (v4: 4.2 ns per call; a per-row scan of 400k rows takes 127 µs). Eight bytes per version.
- **On branch (unpushed):** D-WAL-1/2/3 for `LanceCycleWriter` vs the lancedb 0.40 MemWAL path (probe, harness, example behind `lancedb-sdk`); entry `2026-10-15-d-wal-shootout.md`. No production wiring.
- **On `main` (#1562):** D-WAL-1/2/3 for `LanceCycleWriter` vs the lancedb 0.40 MemWAL path (probe, harness, example behind `lancedb-sdk`); entry `2026-10-15-d-wal-shootout.md`. No production wiring of MemWAL.
- **On `main` (#1562):** D-WAL-5/6/7: `LanceCycleWriter` opens and writes on a Lance session with an 8 MiB metadata cache (`SESSION_METADATA_CACHE_BYTES`); index forms of `deinterlace` / `local_trajectories` in `lance-graph-planner::temporal` (refuse more than `u32::MAX` rows).
- **Contract (new type):** `temporal_pov::{VersionClock, ClockError}` — rows of an append-only lane per version; `rows_at(&TemporalPov)` resolves a point of view to one half-open row range (v4: 4.2 ns per call; a per-row scan of 400k rows takes 127 µs). Eight bytes per version. Not yet wired into a writer or reader.
- **Decision D-LNC-7:** L stays the default with the capped session; MemWAL stays an option; the 60-minute soak is deferred.
- **On `main` (#1555, merged `5366a5ab`):** `crates/lance-graph-metta` (excluded) with the D-MTP-1 join probe and the D-MTP-1b range-hop probe; plan `metta-polyfill-v1.md`.

## 2026-10-14 — the rail walk applies the reader's field mask on branch `ccr-0455e606-wmtsor` (unmerged)

Expand Down
7 changes: 7 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 2026-10-15 — lance-graph PR #1562 (merged `31ef1802`, branch `ccr-9f3b8075-74u47l-wal-shootout`, head `e38779f5`, 19 commits) — D-WAL: LanceCycleWriter vs MemWAL measured; capped session cache, version clock, copy-free temporal projections

- **Added:** plan `wal-shootout-v1.md`; probe `tests/wal_shootout_probe.rs` (V1–V4, behind `lancedb-sdk`), harness `tests/wal_common/`, examples `wal_shootout` and `wal_rss_probe`; `LanceCycleWriter` session capped at `SESSION_METADATA_CACHE_BYTES` (8 MiB) on create and open; contract `temporal_pov::{VersionClock, ClockError}`; `temporal.rs` index forms (`deinterlace_indices`, `local_trajectories_indices`, `local_trajectory_indices_of`); entry `2026-10-15-d-wal-shootout.md`; STATUS rows D-WAL-1..7, D-LNC-7.
- **Locked:** both write paths are crash-atomic per cycle and lose no acknowledged cycle (V1 sweep 0 ms … 10 s brackets the boundary on both arms; V2 reaches ACK 2/5/9 on both); MemWAL needs `durable_write = true`. L's RSS growth was Lance's session metadata cache (V²/2 manifest fragments): 628 MiB default vs 7.8 MiB capped at 1,600 versions. D-LNC-7: L default, MemWAL optional.
- **Deferred / open:** the 60-minute soak; seeding the version clock from storage on open; compaction/deletes break the clock's prefix property (fragment-id remap needed); clock not wired into a writer or reader.
- **Confidence:** high for V1/V2 and the cache cap (test-first, disable runs red); medium for D-WAL-2/3 timings (one VM, soak truncated at 27.5 min).

## 2026-10-14 — lance-graph PR #1555 (merged `5366a5ab`, branch `ccr-9f3b8075-74u47l-metta`, head `457a8c41`, 14 commits) — D-MTP: MeTTa over the masking-algebra polyfill; two-hop join and the hop as a range

- **Added:** plan `metta-polyfill-v1.md` (Hyperon seams, PeTTa vs Hyperon measurements, MeTTa-as-IR verdict, datafrog fork as the exact Rust oracle). `crates/lance-graph-metta` (own workspace, excluded; datafrog from `AdaWorldAPI/datafrog` as a dev-dependency only) with `join_probe` (D-MTP-1, two-hop join through Quack `Semijoin`) and `join_range_probe` (D-MTP-1b, the hop as a range under a monotone `dst`). Entries `2026-10-14-metta-polyfill-map.md`, `-d-mtp-1-join.md`, `-d-mtp-1b-range-hop.md`; STATUS D-MTP rows.
Expand Down
Loading