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:
1 parent
d69d9a345b
commit
fb24f30e0a
4 files changed
+50
-21
No files matched your search
+17
-9
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user