The wave-8 review gate (the plan's §Review gates pattern; the
pre-release gate). Audit the release-readiness pass as landed:
Docs honesty audit: the README's claims traced to specs (the
readme task's trace list re-verified by spot-read); the deployment
matrix's rows read true as implemented across the three engines;
the crate docs' posture claims consistent with the matrix; the
env-boundary sentence present and the grep result current.
Contract-window closure audit: every wave-6 recorded
observation disposed (wake-ordering decision landed per the
user's call; the ADR-023 §2 classifications; the try_recv shape;
the get_job prose; the mem-arithmetic disposition); every landed
amendment dated + cited; the class-1 window's termination
recorded — ADR-017 §2's "terminates permanently at the core
crate's first release" becomes a fact at this gate: the record
states the window closes with the first publish, and no
undisposed class-1 candidate remains.
N-1 + Findings 2–3 dispositions audited: the growth-posture
acceptance is a decision of record (not a shrug); the findings'
landed-vs-parked dispositions recorded so the inventory is closed.
Flake-watch outcome audited: the investigation's conditions
matrix + disposition read; if a follow-up fix task was created, its
status is visible (a live engine bug blocks the release blessing —
the gate says so explicitly rather than publishing over it).
Publish-prep audit: cargo package evidence per crate; the
exclusion verification re-run this session (file lists of the
built .crates — no fuzz/sidecar/suite leakage); the publish
checklist of record complete and mechanical.
Frontmatter + records hygiene: the parse sweep re-run (zero
invalid frontmatters under docs/); the renumber sweep's
disposition list spot-checked (stale wave-7 references gone or
annotated; genuine fuzz-wave references intact).
All gates re-run green this session: cargo build, cargo test, cargo clippy --all-targets -- -D warnings, cargo fmt --check, the fuzz corpus-replay gate, the wasm32 check, and the
doc gate (cargo doc --no-deps warning-free).
Spec flips + records: the remaining draft architecture docs
(core-contract.md, overview.md, queues.md, deployment.md, the
architecture README) flip to stable with dated gate annotations —
the release-facing spec set is stable at the gate, mirroring the
wave-5/6 engine-spec flips; docs/architecture/README.md's Current
State refreshed (waves 6–8); implementation.md's wave-8 row
updated + a review-rounds entry; task files audited (all wave-8
dependencies completed, Notes/Summary filled).
docs/architecture/decisions/017-contract-versioning.md §2 (the
window termination this gate records)
tasks/review-wave-5.md §Notes 6 (the flake ledger)
tasks/review-wave-6.md §Recorded findings (the dispositions this
gate audits)
tasks/review-wave-7.md (the parked exclusion verification)
tasks/review-wave-5.md / tasks/review-wave-6.md (the gate pattern)
Notes
Gate verdict: passed. One finding found and fixed at the gate (a
pg engine divergence from the close-out pass's ADR-023 §2
annotation); no blocker, no major live defect. Every audit item was
re-verified by this session's own runs/reads, not by trusting the
implementing tasks' self-reports.
1. Docs honesty audit — recorded
README: the trace list (release-readme §Notes) spot-read —
the seven-mechanism list against core-contract.md §Mechanism
contracts, the engine posture lines against deployment.md §Host
semantics + §TLS posture, mem's wasm/ephemeral lines against
ADR-024 §2/§5, the license note against the workspace license
field + ADR-018. Every claim has a spec source; the usage sketch
was compile-checked and executed from a scratch crate with path
deps (the mem round-trip mirrors the lib-doc doctest cargo test
re-verifies — green in this session's run). No aspirational or
unshipped claims found.
Deployment matrix: rows read true as implemented across the
three engines (the full text of
release-deployment-matrix's five corrections — the consumer-side
FULL claim false-as-implemented, the three-guard list, the NFS
re-citation, the unsourced mem latency number replaced — present
in the final text; the env-boundary §Configuration boundary
sentence present; no internal task/wave pointers remain in the
release-facing text — re-read this session). Spot-checks against
code: synchronous = NORMAL at bootstrap, poll_interval 1 ms
default, NoTls on every pg path, max_size 0 rejected — all
match the text.
Crate docs: the four published crates' lib-doc posture claims
read against deployment.md/the engine specs — the sqlite
single-host/one-host-cross-process, pg's max_size + 1 budget +
NoTls v1, mem's honest-ephemeral/wasm identity all consistent with
the matrix. Doc gate green (RUSTDOCFLAGS="-D warnings" cargo doc --no-deps, zero warnings this session).
Env boundary: the grep re-run this session — 40 env::var
reads, all inside the pg test modules' DSN plumbing; production
paths env-free. The matrix's "grep re-verified across the
workspace at release" sentence is current.
2. Contract-window closure audit — recorded
All five wave-6 recorded observations verified disposed with dated
in-place citations: the publish→wake ordering tolerance
(core-contract.md streams tolerance paragraph + the
delivery-guarantee obligations bullet + ADR-015 §4's companion
annotation; the user declined the enforced-guarantee amendment —
the documented-tolerance posture was the user's call, recorded in
the task's Notes); the ADR-023 §2 heartbeat(extend)/save_offset
classifications (boundary/offset row annotated, core-contract
numeric-domain paragraph mirrored); the EventReceiver::try_recv
closed shape (ADR-021 §5 dated annotation); the get_job prose
(core-contract + queues.md now say the uniform id-global /
tx-filtered split); the mem-arithmetic no-action disposition (task
Notes, explicit).
The registered suite-duty follow-up — audited, and landed at the
gate (the close-out pass deferred it to "the review-wave-8 gate
owns the audit"): no suite leg pinned the two new classifications.
In the audit read of pg's implementation, a real divergence
surfaced: pg's negative-seed clamp contradicted the ADR-023 §2
annotation — pg's offsets-table CHECK ("offset" >= 0) + the
GREATEST($3, 0) upsert clamped a fresh consumer's negative
save_offset to 0, where SQLite and mem store the raw negative
and the annotation pins "a negative is stored as the checkpoint"
(get_offset observable: −5 vs 0, the only read that
distinguishes; below-checkpoint saves, monotone no-ops, and
reads-resume-forward were uniform). Per AGENTS.md's ADR-wins
discipline, the pg code was fixed: raw seed, CHECK dropped,
doc comments updated (the window is open until first publish —
legal; no published consumer exists). Suite legs then landed:
the negative-heartbeat(extend) leg in
job_handle_validity_predicate (heartbeat lands true while
unexpired; the voided claim refuses ack through the validity
predicate; the row survives as processing) and the
negative-save_offset seed leg in receiver_close_and_save_arms
(fresh-consumer seed stored raw; read_from_consumer resumes
forward from the anchor) — both stamped with the ADR-023 §2
(annotated 2026-10-11) accumulation per version_stamp.rs
convention; green on all three columns against the live pg server
(and core-contract.md's numeric-domain backlog row updated to
name the landed legs). The close-out task's "code read verified
the uniform shapes" claim was right on acceptance/monotonicity
and wrong on the stored seed value through pg's clamp — corrected
here.
The class-1 termination record landed: ADR-017 §2's class-1
bullet now carries the dated termination-of-record annotation
(2026-10-11, the wave-8 gate): the close-out pass landed every
recorded disposition, the gate audited no undisposed class-1
candidate remains (grep across docs/tasks for parked window
candidates — none; the surviving "class-1 window open/open at
time of writing" phrases are historical ADR texts), and the
class terminates permanently at the core crate's first
cargo publish — the 0.1.0 release this gate blesses (§1's
2026-10-11 amendment; contract changes thereafter are classes
2–4 only).
3. N-1 + Findings 2–3 dispositions — audited as decisions of record
N-1: the conscious acceptance is a decision of record with a
per-engine, per-path rationale table (deployment.md §Growth
postures), made against the implemented engines' code (the task's
re-read verified each path: sweep-on-call-only retention, the
at-attach-only prune, consumer-invoked trim_to; mem's
process-lifetime-bounded postures recorded structurally). The
notify prune-cadence note landed in engine-sqlite.md
§Notifications-table hygiene, anchored and linked from the
matrix. Not a shrug; recorded and folded.
Findings 2–3: 2(a) and 3 landed as seam tests (the pg
generation-top LISTEN-pause arm with the exactly-one-wake
differentiator, replay-proofed both ways; the SQLite
rollback-fault two-drop-arm test via the rollback_fault seam),
and 2(b) + the defensive arms' parked dispositions are recorded
with current line refs, reach reasons, and the tested-elsewhere
coverage each overlaps — the inventory reads closed, not
re-derivable. Gates green per the task's record; both engines'
suites green this session.
4. Flake-watch outcome — audited
The fired lock-row trigger was investigated per the ledger's
prescription (instrumentation first — the tee-before-filter
capture procedure demonstrated on a deliberately-failing probe;
the conditions matrix run, 48+ rounds; the second-precision
arithmetic read against lock.rs/resolution.rs with the
delay-only argument confirmed for the lapse legs and corrected
for the contention leg; mechanism probes + natural repro captured,
2/30 loaded solo runs, exact message at the exact site).
Disposition: reproduced; root cause harness-model — the row's
contention leg wrote ttl = 1 into a live-TTL assertion
second-precision stamps collapse below a second; the engine acted
per ADR-008 §7 at every step. Fixed test-side in-session (the
two-leg row: long-TTL exclusion leg, short-TTL lapse leg);
30/30 loaded verification green; the three columns green.
No live engine bug — nothing blocks the release blessing.
Post-investigation watch posture: the lock row's flag retires;
the trim row stays watch-flagged (no repro in this session's
rounds) and one new single-occurrence observation
(row_stream_ordering_equivalence under 8-CPU-burner synthetic
load — a drain-window scheduling lottery, message captured,
no ordering violation) is recorded in the ledger dated
2026-10-11. Their stated status: watch continues, no ride-along
fix, instrumentation first; neither reproduces under dev/gate
conditions. Recorded; not blocking.
5. Publish-prep audit — recorded
Package evidence, fresh this session: cargo package -p alkstore — packaged 30 files + verification build green; the
.crate inspection shows LICENSE-MIT/LICENSE-APACHE at the
tarball root, README, normalized manifest, no stray paths. The
engines' registry-side verification remains correctly blocked
pre-core-publish (re-captured this session with --allow-dirty:
no matching package named 'alkstore' found … searched: crates.io index); their evidence stands on the reconstructed exact-list
trees of record (all green, the publish-shaped manifests).
Exclusion verification re-run this session: fresh
cargo package --list for all four crates — alkstore 30 files,
sqlite 36, postgres 31, mem 23; zero fuzz//sidecar/corpora paths
or alkstore-fuzz-shared references in any list; the engine
packages' src/fuzz_surface_tests.rs + tests/contract_suite.rs
riders are the documented crate-internal probe tests and dev-dep
suite target, not sidecar leakage; the suite appears in no
[dependencies]; the workspace exclude = ["fuzz"] holds.
Substrate packaging: src/substrate/PROVENANCE.md +
src/substrate/LICENSE confirmed in the alkstore-sqlite list;
the crate README documents the carriers.
Path-dep bounds + metadata: alkstore = { version = "0.1", path = … } verified on all three engines + the suite dep;
descriptions/readmes wired per crate; keywords/categories landed;
homepage/documentation omitted per family precedent; ADR-017 §1's
0.1.0 amendment dated + cited. The manual publish checklist of
record is complete (release-publish-prep §Notes — core first,
then engines, gates → package → eyeball → publish, tag v0.1.0);
publishing is the user's post-gate action. The one mechanical
note: run the checklist from the committed, clean tree (cargo
package refuses dirty trees).
6. Frontmatter + records hygiene — re-run green
The PyYAML parse sweep re-run exactly as recorded
(docs-frontmatter-cleanup's command, both globs): 0 failures
across docs/**/*.md + tasks/*.md.
The renumber sweep spot-check: re-grepped wave 7|wave-7 across
docs/reviews/ + tasks/ — every non-fuzz hit carries its
wave-8 annotation (001 header, 002 security bullet, 003 echo +
trail, review-wave-5's three sites, review-wave-6's three,
review-wave-4's gate record, pg-fix-scheduler-fire-wake's ledger
note); genuine fuzz-wave/review-7 references intact;
taskgraph validate green (79 tasks).
7. All gates re-run green this session
cargo build — clean.
cargo test --workspace — all green server-less (core 25 + 1
lib-test target, suite harness 3, mem 102 lib + 25 suite + 1
doctest, sqlite 193 + 25, pg 127 lib (SKIP posture) + 25 + 9).
Live pg column against the harness server (pglo-poc): 127 +
25 + 9, all green (this session, post-fix — the run that verified
the pg seed-divergence fix and the new suite legs).
Doc gate (RUSTDOCFLAGS="-D warnings" cargo doc --no-deps) — zero
warnings.
8. Spec flips + records — landed this gate
Flipped stable with dated gate annotations: core-contract.md,
overview.md, queues.md, deployment.md (already stable from the
matrix pass — annotation current), the architecture README.
The engine specs' engine-mem.md row in the README's doc table
corrected (it still read draft; the wave-6 gate flipped the
spec). open-questions.md stays draft deliberately — it is the
OQ tracker, whose lifecycle is separate from the spec set
(noted in the README table's row); the doc set this gate freezes
is the release-facing spec set.
docs/architecture/README.md: Current State refreshed (waves 1–8,
the pre-release gate passed, the window's termination stated).
Task files audited: all ten wave-8 dependencies completed with
Notes/Summary filled; two of their AC checklists
(release-contract-window-close, release-readme) were left
unticked despite the work + records being complete — ticked at
this gate; no placeholder residue remains in the wave-8 task set.
Findings summary
#
Severity
Finding
Disposition
1
LOW (contract-observable)
pg's negative-seed clamp (GREATEST(offset, 0) + the offsets CHECK) diverged from ADR-023 §2's 2026-10-11 "a negative is stored as the checkpoint" annotation on get_offset
Fixed engine-side at the gate (raw seed, CHECK dropped; window open until first publish); suite legs landed uniformly (three columns green); backlog row updated
2
INFO
The close-out pass's "uniform shapes" verification missed the clamp (acceptance was verified; the stored seed value was not)
Corrected by the fix above; recorded here for the record's honesty
3
INFO
The 2026-10-11 row_stream_ordering_equivalence load observation (from release-flake-investigation §F6)
Watch-flagged in the ledger, carries post-release; no ride-along fix, instrumentation first; single occurrence under synthetic load beyond dev/gate conditions — not blocking
Summary
Gate passed 2026-10-11. The pre-release pass audited clean on every
axis and one contract-observable divergence surfaced and was fixed:
pg's negative-seed clamp contradicted the ADR-023 §2 close-out
annotation, resolved engine-side (raw seed, no CHECK), with the
registered suite-duty follow-up discharged — the
negative-heartbeat(extend) and negative-save_offset legs landed,
stamped, and green on all three columns (pg verified against the
live harness server). The class-1 termination of record landed in
ADR-017 §2: every recorded disposition is dated + cited, no
undisposed candidate remains, and the window terminates permanently
at the core crate's first cargo publish — the 0.1.0 this gate
blesses. N-1's acceptance and Findings 2–3's dispositions are
decisions of record; the flake investigation's outcome is a
harness-model root cause, test-side fixed, watch retired, with the
remaining watch items recorded and non-blocking. Publish prep
verified fresh (package evidence, exclusion re-run clean, the
manual checklist of record standing); the frontmatter and renumber
hygiene sweeps re-ran green; all gates re-run green this session
(build, workspace tests, live-pg suite, clippy, fmt, fuzz replay,
wasm32, doc gate). The release-facing spec set — core-contract.md,
overview.md, queues.md, deployment.md, the architecture README — is
flipped stable; engine-mem.md's README-table row corrected to
match its wave-6 flip; implementation.md's records updated;
open-questions.md stays the draft tracker by intent. Implementation
is complete; the release itself is the user's manual publish session.