- rows.rs: the reference row set (INV-1…6 + two constructor-mode rows),
factory-generic and engine-uniform, every row ADR-stamped and traced
to the backlog: round-trips over the content matrix on both put
paths, dedup (same/cross-path), stage hygiene (both paths, both
injectable failure modes, kv-degenerate residue via sweep outcomes),
sweep safety (full-protection-set happy shape, all three
GcAbortCause abort shapes incl. the single-flight SweeperLock lease,
the sweep-vs-pinned-put race), list correctness through exact sweep
outcomes only, stat discipline, mem-only posture, and kv-only
put-time rejection (threshold discovered by free probes; immediate/
mid-stream rejections and at-threshold-lands legs)
- mem_column.rs: the column's factories — mem-only (reference host)
and kv-only(mem) at a declared threshold — fresh isolated opens,
no-op idempotent teardown; structural factory-contract tests cover
isolation and teardown against a panicking row
- README: the reference row set recorded (INV-7's basis — what other
columns mirror), the row-lifecycle convention, column plan and
current state updated
- task suite-column-mem: status completed, notes and summary filled
Verification: cargo test --features mem (97 lib + 18 conformance +
4 git-interop), cargo test (default), cargo test --all-features,
clippy --all-features --all-targets -D warnings, fmt --check, and
cargo doc --no-deps — all green
Nine tasks against the wave-1 contract surface as reviewed (no
amendments from the gate):
- engine-mem / engine-local (parallel, dependency-free): the two
engines; local owns the stage-hygiene exact-count tests and the
Drop-cancellation story the wave-1 review recorded
- store-construction: the Store type, constructor modes, size-threshold
dispatch; binds the conformance factory's Store associated type
- store-read-paths ∥ gc-protocol: read ops with the ADR-012 §6.1
fall-through rule; the ADR-005 in-process protocol (pins, liveness,
delete windows, abort-as-data, GcRefuse with the full protection set)
- store-put-paths: the two put paths behind one signature, ADR-003's
three numbered rules, pin-before-publish, Batch, kv-only rejection
- suite-column-mem → suite-column-local: the reference column, then the
dual-tier dispatch-coverage shape mirroring it
- review-wave-2: the gate (facade/dispatch/GC vs ADR-003/005/012)
Verification: dependency graph validated (all ids resolve, no cycles,
topological order clean); docs-only change.
Refs: docs/plans/implementation.md §Wave 2