docs(tasks): correct the wave-5 pure-build gates — the literal kv-less pg-lo config is not a gate

The wave-5 engine task (d69d9a3) found the literal
--no-default-features --features pg-lo config cannot compile the whole
crate: with no kv feature enabled, KvEngine/KvCursor go empty (E0004)
and the facade's by-reference dispatch matches are non-exhaustive
(references are always considered inhabited). Structural, not a bug —
per ADR-011 §4 every constructor mode pairs a kv engine, so a build
with zero kv engines is not a supported configuration (ADR-013 §4's
supported non-default configurations all include one).

The meaningful pure builds, verified on this tree:
- --no-default-features --features "pg-lo,mem" — check/test/clippy
  green (115 tests ok server-less)
- --no-default-features --features "postgres,pg-lo" — check/clippy
  green, test target compiles

Amended: engine-pg-lo (description + acceptance + gates),
engine-pg-lo-window (acceptance), store-pg-lo-construction (the full
structural reading + acceptance), review-wave-5 (gates). The engine
task's Notes/Summary already recorded the finding; the criteria text
now matches what was verified.

Verification: cargo test 69/19/3 ok, fmt --check green (docs-only
change).
This commit is contained in:
glm-5.3-flash committed 2026-10-12 07:36:32 +00:00
1 parent d69d9a345b
commit fb24f30e0a
4 files changed
+50 -21

No files matched your search

+17 -9
View File
@@ -22,9 +22,15 @@ posture (pool, prepared statements, schema bootstrap, error mapping);
the local engine (`src/local.rs`) is the structural twin for the
large-tier bodies (streaming read cursor, staged put). **`pg-lo` does
not imply `postgres`** (ADR-013 §4's consequence; the Cargo.toml
feature carries its own driver deps) — every shared piece must
compile under `--no-default-features --features pg-lo` (the pg-lo-pure
build).
feature carries its own driver deps) — every shared piece must compile
under the **pg-lo pure builds**: `--no-default-features --features
"pg-lo,mem"` and `--no-default-features --features "postgres,pg-lo"`.
**The literal kv-less config (`--no-default-features --features
pg-lo`) is not a gate and cannot compile the whole crate** — with no kv
feature enabled, `KvEngine`/`KvCursor` go empty and the facade's
by-reference dispatch matches are non-exhaustive (E0004; references
are always considered inhabited) — see `store-pg-lo-construction` for
the full reading.
- **Engine shape (POC #7 C1 is the contract)** — two artifacts: LOs
hold the bytes; the companion table
@@ -47,8 +53,8 @@ build).
helpers) live behind `#[cfg(feature = "postgres")]` today — decide
and record the sharing shape (the natural one: a crate-internal
pg-common module gated `cfg(any(feature = "postgres",
feature = "pg-lo"))`, one module per file, so the pg-lo-pure build
compiles without duplication). The `PgOpts` question rides the same
feature = "pg-lo"))`, one module per file, so the pg-lo pure builds
compile without duplication). The `PgOpts` question rides the same
point: it is `pub` and re-exported behind `postgres` (wave 4's
constructor signature put it on the public surface) — widening its
gate to `any(postgres, pg-lo)` (re-export gate widened with it) vs a
@@ -193,16 +199,18 @@ engine and its in-module unit tests only.
returned + VACUUM FULL operator line + rel-size monitoring;
autovacuum inherited; the cached-get capacity facts)
- [ ] Shared-helper + PgOpts + LO-isolation design points decided and
recorded; the pg-lo-pure build (`--no-default-features
--features pg-lo`) compiles clean
recorded; the pg-lo pure builds (`--no-default-features
--features "pg-lo,mem"` and `--features "postgres,pg-lo"`)
compile clean (the literal kv-less config is not a gate — see
the Description)
- [ ] Unit tests env-driven (`ALKBLOBS_PG_*`), skipping cleanly
server-less; green against the harness server at acceptance;
zero schema + LO residue on the shared db after runs
- [ ] `cargo test` (default — pg-lo compiles out) green;
`cargo test --features pg-lo` green server-less (skipping);
`cargo clippy --all-targets -- -D warnings` and `cargo fmt
--check` green (default + `--features pg-lo` + the pg-lo-pure
check)
--check` green (default + `--features pg-lo` + the pg-lo pure
builds)
## References