- store-fleet-construction: the fleet: true declaration slotting into
the fleet-capable constructors (the recorded non-event), the
composite fleet-validity predicate enforced at the constructor
(kv=postgres AND pg-lo-same-instance OR local-on-declared-shared-
media OR kv-only re-routing), the TTL/owner-id fleet state, the
same-instance probe design point
- engine-pg-lo-joint: the pg-lo joint contribution — staged-put
mechanics (512 KiB knee, CAS, transactional LO creation) into the
store-held PgJointTx, the wave-5 deferred API-shape design point
- store-fleet-put: the joint entry+pin tx driver (amendment A1's
drop discipline lands here — its recorded owner), the pin guard's
TTL/3 renewal form, the dedup upsert-renewal, pin-first/
publish-second for large=local, the consolidation one-tx put
- store-fleet-sweep: the SQL sweep lease (ADR-013 §2 semantics),
SQL-level delete arbitration on the direct + window-execution
paths, the expired-pin reaping clause (the seam as the named home
for fleet-clause growth), the fleet liveness registration verb,
the two-domain arbitration composition
- suite-column-fleet: the fleet column — two-instance factories over
one schema, the exact-count fleet sweep rows (the wave's gate),
lease contention, cross-instance arbitration, TTL/renewal rows,
the fleet-validity predicate rows
- review-wave-6: the fleet gate per the plan, plus a standing
code-smell/hygiene block — cargo doc --no-deps asserted clean
(the twice-bitten PGLO-1 rustdoc private-link class), the
allow(dead_code) scope notes audited against their remainder,
stale wave-6 forward references, and task-Summary-vs-diff
correctness
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.
Dependency graph validated: two parallel roots (construction, pg-lo
joint), put merging them, sweep parallel to put, the fleet column
merging, the review gate last; no cycles.
- 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).
Five tasks against the wave-3 contract surface as reviewed (no
amendments from the gate):
- engine-postgres: the fleet-capable kv engine — the B5 row shape
(fillfactor 90) in one engine-owned schema, the deadpool pool with
per-connection prepared-statement discipline, the synchronous_commit
parity knob wired per-connection, ON CONFLICT DO NOTHING CAS, the
stable MVCC-snapshot list cursor, the batch-delete helper
(key = ANY($1), consumer wave 6), the read-only virgin-store split
- engine-postgres-fleet: the engine-state seam's full clause families
(ADR-012 §5's postgres row — every family yes): gc_pins + gc_window,
the joint tx ownership rule in the JointTx shape, pin_commit
atomicity, pin_renew/pin_check/arbitrate, the pg advisory lock as
the sweep lease's shipped provider; fleet activation stays wave 6
- store-postgres-construction: KvEngine::Postgres slots in, the
KvCursor arm, the dual-tier/kv-only constructors (DSN + opts +
threshold + window delay), the non-fleet posture recorded, the
pg-pure build verified
- suite-column-postgres: the first SKIP-posture column — the alkstore
pg-factory pattern reused (fresh schema per open, CASCADE teardown,
env-driven ALKBLOBS_PG_* settings), durable-schedule sweep rows,
acceptance green against the harness server (pglo-poc :15432,
verified live)
- review-wave-4: the engine-wave gate (engine-vs-contract conformance)
Verification: dependency graph validated (all ids resolve, no cycles,
topological order clean); docs-only change.
Refs: docs/plans/implementation.md §Wave 4
Six tasks against the wave-2 contract surface as reviewed (no
amendments from the gate):
- engine-sqlite: the default kv engine — WAL + synchronous=NORMAL,
prepared statements, the indexed size column probe (B5's row shape),
has-as-EXISTS, virgin-store no-tables-yet tolerance, spawn_blocking
discipline
- engine-sqlite-window: the engine-state seam's window family only
(ADR-012 §5's reduction — gc_window, stage/take; no pin rows, no
sweep-lock body)
- store-sqlite-construction: KvEngine::Sqlite slots in, the
dual-tier/kv-only constructors with the constructor-tunable window
delay (default 5 min), ensure_gc_schema at construction, the
one-window-host posture
- store-sweep-durable-window: the sweep's SQL-backed form — overdue
rows execute with re-arbitration before/alongside marking, candidates
stage at mark_end + window, counts exact relative to the schedule
(ADR-012 §6.7); the inline form preserved verbatim
- suite-column-sqlite: the first SQL-backed column, server-less —
form-independent reference rows mirror directly; the sweep rows are
schedule-relative (the recorded INV-4/5 mirror amendment)
- review-wave-3: the engine-wave gate (engine-vs-contract conformance)
Verification: dependency graph validated (all ids resolve, no cycles,
topological order clean); docs-only change.
Refs: docs/plans/implementation.md §Wave 3
Nine tasks against the wave-1 contract surface as reviewed (no
amendments from the gate):
- engine-mem / engine-local (parallel, dependency-free): the two
engines; local owns the stage-hygiene exact-count tests and the
Drop-cancellation story the wave-1 review recorded
- store-construction: the Store type, constructor modes, size-threshold
dispatch; binds the conformance factory's Store associated type
- store-read-paths ∥ gc-protocol: read ops with the ADR-012 §6.1
fall-through rule; the ADR-005 in-process protocol (pins, liveness,
delete windows, abort-as-data, GcRefuse with the full protection set)
- store-put-paths: the two put paths behind one signature, ADR-003's
three numbered rules, pin-before-publish, Batch, kv-only rejection
- suite-column-mem → suite-column-local: the reference column, then the
dual-tier dispatch-coverage shape mirroring it
- review-wave-2: the gate (facade/dispatch/GC vs ADR-003/005/012)
Verification: dependency graph validated (all ids resolve, no cycles,
topological order clean); docs-only change.
Refs: docs/plans/implementation.md §Wave 2
- docs/plans/implementation.md: the meta plan (alkstore pattern) — nine
waves, dependency logic, decided points, review gates. Scope authority:
v0.1.0 ships the full surface (all five engines, fleet GC, ops).
- Wave 1 decomposed: scaffold-crate-features, core-error-model,
core-hashing-keys, core-trait-and-types, suite-scaffold,
review-wave-1 (the one-way-door gate).
- Waves 2-9 shaped in the plan; each decomposes after the prior wave's
review gate.
Verification: cargo test / clippy -D warnings / fmt --check green
(docs-only change).