- Cargo.toml: default = ["mem", "sqlite"]; cargo tree (default) diffed byte-identical pre/post — mem is dependency-free, the lean-base posture untouched (the plan's decided point, 2026-10-14) - plain cargo test now runs 54 conformance tests (was 19): mem_column (the contract-reference column), local_column, and binding - ADR-013 §4: dated amendment (2026-10-15) + the table's mem row reads on; the columns' cfg(feature = "mem") gates stay — they read correctly once default-on, and the mem-paired pg-lo configuration (kv = mem, no sqlite/postgres) verified compiling - AGENTS.md: the verification block is the feature-aware matrix — what each shape proves, the pg columns' live-harness acceptance (ALKBLOBS_PG_*, pglo-poc) vs the server-less skip posture, both cargo-llvm-cov configurations recorded (server-less ~57% misleads; live ~96% honest) - stale default-off mem wording updated where it read wrong: tests/conformance README §Current state, src/mem.rs module doc (+ its three private-intra-doc-link doc warnings, now zero-warning cargo doc), overview.md §Dependency posture, backends-and-dispatch.md kv-tier wording; accepted ADR-003/ADR-011 left as history, superseded by the amendment Verification: cargo test (default: 128 lib + 54 conformance) and cargo test --all-features (server-less: 271 + 125) green; clippy -D warnings green (default, all-features, pg-pure, mem+pg-lo, mem+postgres); fmt clean; cargo doc --no-deps zero warnings.
5.4 KiB
id, name, status, depends_on, scope, risk, impact, level, tags
| id | name | status | depends_on | scope | risk | impact | level | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mem-default-on | mem flips default-on; the AGENTS verification block becomes the feature-aware matrix | completed | narrow | low | project | implementation |
|
Description
Review-001 D-4 (with D-2b/c). The contract-reference conformance
column is opt-in because mem is default-off, so plain cargo test
runs no reference column and anchors nothing; the pg columns'
acceptance shape (live harness vs server-less skip) is documented
nowhere; and the two cargo-llvm-cov configurations disagree loudly
(57% server-less vs ~96% live) with only session discipline — not the
crate or its instructions — saying so. The decided fix
(docs/plans/implementation.md §Decided points, 2026-10-14): flip mem
to default-on, and rewrite AGENTS.md's verification block as the
feature-aware matrix.
- Cargo.toml:
default = ["mem", "sqlite"]. Thememfeature entry itself unchanged (still empty of deps) — flipping the default pulls the mem engine plus the conformance suite'smem_column,local_column(its kv tier is mem), andbindingmodules into the plain default run. The dependency-tree invariant verified:cargo tree(default) byte-identical to the pre-change tree. - ADR-013 §4 gains the dated amendment: mem default-on, the one line of rationale (the reference column runs by default; dependency-free, so the lean-base posture and the engine-feature independence table are untouched), cross-referencing review-001 D-4 and the plan's decided point.
- tests/conformance: the
#[cfg(feature = "mem")]gates onmem_column/local_column/bindingstay (they read correctly once default-on —pg-lowithoutpostgres+ withoutmemstill compiles the columns out, which remains a supported shape); the module docs' stale "default-off" wording for mem audited and updated where it now reads wrong. - AGENTS.md's Verification Commands block becomes the
feature-aware matrix:
cargo test(default — now includes the mem + local conformance columns; the reference rows anchor the default run)cargo test --all-features— server-less runs skip the pg columns cleanly and are not the acceptance shape; acceptance runs against the live dockerized harness (ALKBLOBS_PG_*, pglo-poc)- the two cargo-llvm-cov configurations recorded (server-less misleads — pg modules single-digit because their tests skip; the live-harness number is the honest one)
- the clippy/fmt/doc rows unchanged in substance, with the
--all-featuresvariants named
Acceptance Criteria
default = ["mem", "sqlite"]in Cargo.toml;cargo tree(default features) diffed against pre-change shows the dependency set byte-unchanged- plain
cargo testruns mem_column, local_column, and binding (previously compiled out) — the column test counts in the run output confirm it - ADR-013 §4 carries the dated amendment
- AGENTS.md's verification block is the feature-aware matrix above
- conformance module docs' stale "default-off" mem wording updated
- gates green:
cargo test,cargo test --all-features(server-less), clippy across the variants, fmt, doc
References
- docs/reviews/001-storage-surface-general-review.md (D-4, D-2 b/c)
- docs/plans/implementation.md (§Wave 8; §Decided points — the 2026-10-14 entries)
- docs/architecture/decisions/013-family-composition-reactive-boundary-and-feature-graph.md §4 (the feature graph — the amendment's home)
- Cargo.toml (the feature graph)
- tests/conformance/main.rs (the column gates; local_column's kv tier is mem)
- AGENTS.md (the verification block this task rewrites)
Summary
Completed 2026-10-15.
memjoineddefault = ["mem", "sqlite"]; the dependency tree diffed byte-identical (mem pulls nothing — captured pre/post withcargo tree). Plaincargo testnow runs 54 conformance tests (was 19): mem_column (the contract-reference column), local_column, and binding — the reference rows anchor the plain run (review-001 D-4 dissolved at the root). ADR-013 §4 carries the dated amendment (2026-10-15, cross-referencing D-4 and the plan's decided point; the §4 table's mem row reads on). AGENTS.md's verification block was rewritten as the feature-aware matrix: what each shape proves, the pg columns' live-harness acceptance shape (ALKBLOBS_PG_*, pglo-poc) vs the server-less skip posture, and both cargo-llvm-cov configurations recorded (server-less ~57% misleads; live-harness ~96% is the honest number). Stale "default-off" mem wording audited and updated where it read wrong: the conformance README's §Current state local-column passage (cargo test --features mem→ the default build), src/mem.rs's module doc, and the living spec docs the ADR-013 amendment flows through (overview.md's dependency-posture table, backends-and-dispatch.md's kv-tier wording); accepted ADRs (ADR-003/ADR-011) left as historical records, superseded by the amendment. The flip surfaced three private-intra-doc-link warnings in src/mem.rs on the now-default doc build — fixed (plain-backtick names);cargo doc --no-depszero warnings. The conformance columns'cfg(feature = "mem")gates kept (they read correctly once default-on; feature-reduced builds without mem still compile the columns out).