- LargeEngine::PgLo slots in behind `pg-lo` + all six large-op
dispatch arms; the large cursor/staging bodies land as the
LargeCursor/LargeStaging sub-enums behind AnyCursor/AnyStaging's
one large arm (the recorded KvCursor pattern's large-tier twin)
- dual_tier_postgres_pglo (the consolidation posture; two DSN+opts
pairs, implicitly non-fleet, completing the fleet-valid engine
set) and dual_tier_mem_pglo (the one-window-host rule's named test
topology), both carrying the constructor-tunable delete-window
delay
- ensure_gc_schema_at_construction: the one-window-host rule's
store-core dispatch (kv host on dual-SQL — pg-lo's window clauses
dormant; pg-lo host on kv=mem); the sweep's mem arm gains the
large-host delegation, the branch keyed off the engine
representation never a flag
- stale scope notes updated to the landed state (store.rs module
doc, LargeEngine, the sweep docs, PUT_CHUNK, pg_lo.rs, gc.rs)
- 7 new env-driven constructor tests (dedicated-database janitor
discipline; consolidation + mem-pglo both shapes
Verified live against the pglo-poc harness server: cargo test
default 69/19/3, --features pg-lo 92/19/3, --features "pg-lo,mem"
151/54/4 (server-less 124/37/4), --no-default-features
"postgres,pg-lo" 102/19/3 (both live and server-less),
--all-features 188/71/4; clippy -D warnings and fmt --check green
on all four configurations; cargo doc clean. The literal kv-less
pg-lo config re-confirmed structurally uncompilable (d69d9a3's
finding; 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).
- engine-pg-lo: the Backend impl behind feature pg-lo (default-off) —
companion-table authority, one-tx staged put at the 512 KiB knee,
descriptorless lo_get windows, the orphan-recovery sweep, the
posture deltas recorded; the shared-helper/PgOpts/LO-isolation
design points named (LOs are database-level — the C7 lesson cited
so it is not rediscovered)
- engine-pg-lo-window: the EngineWindowState impl per ADR-012 §5's
pg-lo row — gc_window only, no fleet family anywhere
- store-pg-lo-construction: LargeEngine::PgLo slotting (the large
sub-enum design point), the consolidation + mem-pglo constructors
(the fleet-valid set completed, implicitly non-fleet), and the
one-window-host rule's store-core completion (dormancy + the
large-host sweep arm)
- suite-column-pg-lo: the second SKIP-posture column, two factories
spanning feature pairs, the dormancy row, zero LO residue in
teardown
- review-wave-5: the engine-wave gate; amendment A2 (janitor
adoption) verified here
Harness server cited in every server-touching task: dockerized
pglo-poc (postgres:16-alpine) on :15432, db blobs, postgres/poc
(verified live 2026-10-12); env-driven ALKBLOBS_PG_* settings, clean
server-less skips, acceptance requires green against the server.
Verification: cargo test 69/19/3 ok, clippy --all-targets -D warnings
green, fmt --check green (docs-only change).