Files
alkblobs/tasks/mem-default-on.md
T
glm-5.3-flash 7aac9404db feat: mem flips default-on — the reference column anchors plain cargo test (review-001 D-4)
- 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.
2026-10-15 01:54:13 +00:00

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
wave-8
review-001
feature-graph
conformance

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"]. The mem feature entry itself unchanged (still empty of deps) — flipping the default pulls the mem engine plus the conformance suite's mem_column, local_column (its kv tier is mem), and binding modules 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 on mem_column/local_column/binding stay (they read correctly once default-on — pg-lo without postgres + without mem still 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-features variants 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 test runs 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. mem joined default = ["mem", "sqlite"]; the dependency tree diffed byte-identical (mem pulls nothing — captured pre/post with cargo tree). Plain cargo test now 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-deps zero 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).