- The first SQL-backed column: the default-build production shape
(kv = sqlite + large = local, feature sqlite default-on) runs the
form-independent reference rows verbatim (INV-1, INV-6, the
NoLivenessSources/ProtectFailed abort shapes, the kv-only rejection
row against kv-only(sqlite)) and grows the durable-schedule sweep
rows — exact counts asserted relative to the staged schedule
(ADR-012 §6.7): two-sweep counts over the full protection set, the
race across the window delay (a re-put landing during the window
survives the executing sweep), the holder-stages-only lease shape,
INV-5 through durable-schedule outcomes, and the schedule-relative
INV-2/INV-3 readings
- Dispatch rows mirror the local column's family with the placement
oracle adapted by medium: the sqlite file's pool/window rows vs the
root's committed files; virgin-store reads as no-ops on a fresh file
(the no-tables-yet tolerance engine-instrumented, this row its
facade form)
- Factories: dual-tier sqlite+local and kv-only(sqlite), instance-
tracked temp sites (fresh sqlite file + private root per open;
idempotent panicking-row-safe teardown), the column-tuned threshold
and the test window-delay tuning (Duration::ZERO — execute-on-next-
sweep); the module is cfg(feature = "sqlite"), default-on — the
column runs in every default cargo test, server-less, never skips
- Shared fixtures moved to rows.rs (committed_file_count,
staging_file_count, slice_digest, LatchProtect pub(crate)) so the
columns share them without the mem gate
- README: the schedule-relative reading for SQL-backed columns
recorded (citing ADR-012 §6.7), the sqlite rows table inventory,
Current state (three columns)
Verification: cargo test (default) green — 69 lib + 19 conformance +
3 git-interop; cargo test --features mem green (124 lib + 54
conformance); cargo check --all-features --tests green; cargo clippy
--all-targets -- -D warnings green; cargo fmt --check green.