Renames the written-usage rule into practice across the contract surface:
docs/ (architecture, research, plans, sdd), tasks/ (all 43 task files,
taskgraph validate passes), AGENTS.md, README.md, CHANGELOG.md, and the
.opencode/agents/ prompts. Every replacement is a sense-preserving
rewrite (colons, semicolons, commas, parentheses, sentence splits, varied),
never a mechanical swap; no spaced hyphens were substituted. Enum fields,
frontmatter, tables, wire data, and cited identifiers survive verbatim;
en dashes inside numeric ranges keep their meaning.
Verification: taskgraph validate (43 tasks), repo grep clean (single
exempt hit: the verification command's own search pattern in AGENTS.md),
cargo test, clippy --all-targets -D warnings, fmt --check, doc all green.
- plan file status → closed; wave-5 row → published; §Plan closure
added (the freeze inventory one-way, the still-booked upstream asks)
- w5-publish task: the checklist record (manifest sanity, the full
verification set, dry-run, package list) + status, over the green
review-wave-5 verdict
- Seven task files under tasks/implementation/: w5-decline-matrix,
w5-e2e-server, w5-e2e-client, w5-fuzz-harness, w5-release-readiness,
review-wave-5 (pure review), w5-publish (over the gate)
- Four independent implementation tasks (disjoint files) over the
landed waves; release readiness over all four; the gate stays a
pure review; the publish is its own task (the alkgit pattern)
- Interpretations recorded: gate-then-publish split, e2e vehicle
placement, matrix-runner vehicle, fuzz exposure shape, the
crate-qualified alkssh-v0.1.0 tag, no version bump (0.1.0 is the
manifest value)
- Plan doc: wave-5 row -> decomposed + the decomposition record
Verification: taskgraph validate (42 tasks) clean