wave-8 decomposition — the release-readiness pass: eleven tasks (seven independent entries: frontmatter cleanup — 11 docs with invalid YAML frontmatter, the renumber sweep, crate docs, the class-1 window's last dispositions, N-1, Findings 2-3, the fired-trigger flake investigation; then deployment matrix -> README -> publish prep -> review-wave-8 gate); plan wave-8 row + task set + review-rounds entry

This commit is contained in:
glm-5.3-flash committed 2026-10-10 23:10:22 +00:00
1 parent 6524778593
commit 9e069ced59
12 files changed
+1004 -6

No files matched your search

+87 -6
View File
@@ -1,10 +1,10 @@
---
status: draft
last_updated: 2026-10-10 (the fuzzing decision resolved: adopted and
inserted as wave 7 per docs/research/fuzzing.md; release readiness
renumbered to wave 8. Waves 1–6 implemented + reviewed; the wave-6
gate passed with three inline edge-domain fixes, and Findings 2–3 and
the flake watch carry to the wave-8 pre-release pass.)
last_updated: 2026-10-10 (wave 8 decomposed — the release-readiness
task set: seven independent entry tasks incl. the frontmatter cleanup
and the renumber sweep, then matrix → README → publish prep → gate.
Waves 1–7 implemented + reviewed; Findings 2–3, the fired flake-watch
trigger, and the class-1 window's last dispositions ride wave 8.)
---
# alkstore — Implementation plan
@@ -50,7 +50,7 @@ readiness is wave 8.
| 5 | [Contract suite](#wave-5--contract-suite): the cross-engine equivalence properties (core-contract.md §Verification backlog), version-stamped per ADR-017 | waves 3 + 4 | implemented + reviewed (2026-10-10) |
| 6 | [Mem engine](#wave-6--mem-engine): separate `alkstore-mem` crate, full contract v1 over in-memory mechanisms (tx overlay, queue/scheduler/streams/locks/wakes), the suite's third factory column (born pinned), wasm32 compile-clean acceptance | waves 1 + 5 | implemented + reviewed (2026-10-10) |
| [7](#wave-7--fuzzing) | [Fuzzing](#wave-7--fuzzing): the `fuzz/` sidecar workspace (cargo-fuzz targets over the payload codec, the three `@every` parsers, name validation), committed seed corpora + the corpus-replay gate, detached campaigns | wave 6 | implemented + reviewed (2026-10-10) |
| [8](#wave-8--release-readiness) | [Release readiness](#wave-8--release-readiness): crate docs, deployment matrix final pass, README (written last, honestly), publish prep | wave 7 | not yet decomposed |
| [8](#wave-8--release-readiness) | [Release readiness](#wave-8--release-readiness): crate docs, deployment matrix final pass, README (written last, honestly), publish prep | wave 7 | decomposed (2026-10-10) |
## Wave 1 — Foundations
@@ -468,6 +468,78 @@ family's renumber-annotation precedent (`tasks/review-wave-5.md`'s
ADR-024 annotations), affected records get swept (or annotated) when
wave 8 decomposes — history is not rewritten in place.
**Wave 8's task set** (the decomposition, 2026-10-10 — the carried
items ride as their own tasks; the gate closes the wave):
- `docs-frontmatter-cleanup` — the user-flagged easy win: 11 docs
carry invalid YAML frontmatter (unquoted multi-line `last_updated`
values containing `: ` sequences — plain scalars can't carry them;
verified by a PyYAML parse sweep). Quote the values, prose verbatim;
parse sweep green.
- `release-renumber-sweep` — the historical note's mandate, executed:
the stale "wave 7"-means-release-pass references in review
001/002/003 and the wave-3..6 task files annotated (or reworded
where the reference is a live pointer), genuine fuzz-wave
references untouched.
- `release-crate-docs` — the four published crates' public-API
rustdoc: `cargo doc` warning-free, missing-docs audit, accuracy
spot-checks against core-contract.md / deployment.md (core's docs
are contract text), the doc-hidden fuzz re-exports documented as
fuzz/test-only, the example-carrier decision.
- `release-contract-window-close` — ADR-017 §2's class-1 window
terminates at first release, so the wave-6 gate's recorded
observations dispose now or never: the multi-thread publish→wake
ordering tolerance (documented-tolerance vs ADR amendment — raised
with the user), the ADR-023 §2 classifications (`heartbeat(extend)`,
`save_offset`), the `EventReceiver::try_recv` closed shape, the
`get_job` prose fix, the mem-arithmetic note's disposition.
- `release-n1-growth-posture` — review 001's N-1 consciously accepted
(or a user-approved hygiene scope change) against the implemented
engines; the notify prune-cadence note lands in the SQLite engine's
docs.
- `release-findings-2-3-disposition` — review 003's parked pair: the
cheap seams land (Finding 2's death-during-LISTEN arm; Finding 3's
rollback-fault arm on the existing commit-fault seam), the
race-shaped arm stays parked with its disposition recorded.
- `release-flake-investigation` — the wave-5 ledger's trigger fired
(the lock row's second failure, 2026-10-10): the dedicated
investigative session the ledger prescribes — instrument the
output-capture blind spot first, focused repro loop across the
conditions matrix, disposition recorded (repro → follow-up fix
task; no-repro → bounded-investigation record + watch posture
updated).
- `release-deployment-matrix` — deployment.md row-by-row against the
three implemented engines as release text; the env-variable
boundary re-check (review 003's prepublish item) + the pinning
sentence; N-1's acceptance folded; internal task/wave pointers
leave the release-facing text.
- `release-readme` — the root README (written last, honestly — its
dependencies are the wave's doc-shaped tasks), LICENSE-MIT +
LICENSE-APACHE (the family pattern; none exist yet), the CHANGELOG
seed, the per-crate readme wiring decision.
- `release-publish-prep` — package metadata (descriptions are missing
on all four published crates), `cargo package` verification per
crate, the wave-7-parked publish-exclusion *verification* (no
published package leaks the sidecar), path-dep version bounds +
publish-order records, the substrate's PROVENANCE/license packaging
check, the manual publish checklist of record (the actual
`cargo publish` is the user's post-gate action).
- `review-wave-8` — the pre-release gate: docs honesty audit, the
contract-window closure audit + the class-1 termination record, the
N-1/findings dispositions, the flake outcome, the publish-prep
audit, the hygiene sweeps re-run, all gates green (incl. the fuzz
replay + wasm + doc gates), and the remaining `draft` architecture
docs flipped `stable`.
Parallelism note: six tasks are independent entry points (frontmatter,
renumber sweep, crate docs, contract window, N-1, findings 2–3, flake
investigation — seven counting them all); the deployment matrix
depends on N-1; the README depends on the doc-shaped tasks (written
last); publish prep depends on the README + the flake outcome; the
gate depends on everything. The flake investigation and the findings
disposition are the only code/test-side tasks — everything else is
docs, records, and packaging.
## Decided points
- **Contract-suite layout — option (a)**: a small internal
@@ -663,6 +735,15 @@ decomposes. Specific gates:
wiring (the AGENTS.md flip) → review gate. Seven tasks; the
every-parse differential is the load-bearing one (the wave-6
finding class). See the Wave 7 section.
- **Wave-8 decomposition** (2026-10-10) — the pre-release pass: seven
independent entry tasks (the user-flagged frontmatter cleanup — 11
docs with invalid YAML frontmatter, verified by parse sweep; the
renumber sweep the historical note mandated; crate docs; the
class-1 window's last dispositions; N-1; Findings 2–3; the flake
investigation the ledger's fired trigger owes), then the deployment
matrix → README → publish prep chain, then the gate. Two tasks are
code/test-side (findings 2–3, flake investigation); the rest is
docs, records, and packaging. See the Wave 8 section.
- **Wave-4 fix-batch decomposition** (2026-10-09) — the general
review's findings decomposed into seven `pg-fix-*` tasks + a
`review-wave-4-fixes` gate: Finding 1 → `pg-fix-forwarder-reconnect`