Skip to content
Draft
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
21 changes: 21 additions & 0 deletions .claude/board/entries/2026-11-05-hybrid-ordinal-chain-lab-v2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Hybrid AD/Entra/EXO ordinal chain lab, v2: no consumer lookup, DR frame witness

**Date:** 2026-11-05. **Status:** LAB (test-only). Follow-up to merged #1962; requires the paired OGAR change `ogar_dir_core::correspond::Output::entra_mailbox`.

## What changed

- OGAR `fold` already decided the sole Exchange Online row per Entra row and discarded it. `Output::entra_mailbox` keeps it (`NO_ROW` for none or several); `Ruler::from_fold` reads it instead of a second merge. Checked against a scalar scan on every `ogar-az` fixture; the duplicate and cross-tenant cases are pinned. The randomized fixture never generates a duplicate mailbox, so only the targeted test catches a first-match regression (disable-verified).
- The lab binds every ordinal from OGAR's output: no bind-time EXO scan remains.
- The lab-local value `Stamp` is replaced by `lance_graph_dt64::dr::FrameStore`/`Frame`. A frame cannot be built from numbers, so a foreign store or a re-seal at equal revisions is refused (the value stamp aliased them).

## Measured (release, two-row fixture; reported, not gated)

Cold prepare+bind ~12 µs. Warm read ~27 ns/property (frame check + 8 identity cross-checks). Typed Quack/mask-RISC sum ~122 ns/call. **0 heap allocations** on the hot read + fold path (thread-local counting allocator; disable-verified: a 1-byte allocation turns it red).

## Disable runs

Frame check off → 3 tests red. Identity cross-check off → the "owner forgot to advance" test red. Ambiguity: the cloud plane and the `entra_mailbox == NO_ROW` refusal each refuse alone; only both off turns 2 tests red (two independent guards, not a vacuous one).

## Still open

Cross-table value-derived reads stay outside the executor; the lab reads property lanes by bound ordinal in test code, not through an admitted Gather. The coordinate does not yet carry its DT64 class route (`RouteVersion`); FrameStore and BindStore run on separate clocks in this lab. The frame's revision numbers are caller-supplied, not derived from a source receipt.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,11 @@ index row, (3) no duplicate entry id. Checks 1 and 2 are deliberately
opposite directions; the stranding this convention prevents shows up in
exactly one of them, never both.

577 entries, 2026-08-06 .. 2026-11-04.
578 entries, 2026-08-06 .. 2026-11-05.

| date | entry id | finding | file |
|---|---|---|---|
| 2026-11-05 | `hybrid-ordinal-chain-lab-v2` | | [2026-11-05-hybrid-ordinal-chain-lab-v2.md](2026-11-05-hybrid-ordinal-chain-lab-v2.md) |
| 2026-11-04 | `D-DRIVER-ZC-0` | | [2026-11-04-d-driver-zc-0-virtual-bus-contract.md](2026-11-04-d-driver-zc-0-virtual-bus-contract.md) |
| 2026-11-04 | `D-DRISA-3` | | [2026-11-04-d-drisa-3-alu-semantics.md](2026-11-04-d-drisa-3-alu-semantics.md) |
| 2026-11-04 | `D-DRISA-1` | | [2026-11-04-d-drisa-1-register-proof.md](2026-11-04-d-drisa-1-register-proof.md) |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/dir-sim-persist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,5 +84,7 @@ jobs:
run: cargo clippy --manifest-path crates/lance-graph-dir-sim-lance/Cargo.toml --all-targets -- -D warnings
- name: test
run: cargo test --manifest-path crates/lance-graph-dir-sim-lance/Cargo.toml
- name: hybrid ordinal-chain lab clippy (excluded dir-sim crate)
run: cargo clippy --manifest-path crates/lance-graph-dir-sim/Cargo.toml --test ordinal_chain_lab -- -D warnings
- name: hybrid ordinal-chain lab (excluded dir-sim crate)
run: cargo test --manifest-path crates/lance-graph-dir-sim/Cargo.toml --test ordinal_chain_lab
Loading
Loading