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

+75
View File
@@ -0,0 +1,75 @@
---
id: release-findings-2-3-disposition
name: Review 003 Findings 2–3 — the parked pre-release dispositions
status: pending
depends_on: []
scope: narrow
risk: low
impact: component
level: implementation
tags: [wave-8, tests, sqlite-engine, postgres]
---
## Description
Review 003's Findings 2–3, parked to the pre-release pass by the
wave-6 gate (`docs/reviews/003-wave-5-general-review.md`; the park
trail: `tasks/review-wave-6.md` §Rider closed). The review's own
recommendation shapes the task — the cheap seams land, the
race-shaped arm stays parked with its disposition recorded, so the
next general review does not re-derive the inventory:
- **Finding 2 (LOW, pg forwarder narrow untested arms)**: land the
cheap seam for (a) — the "connection died before/during the LISTEN"
fall-through to the reconnect path (`forwarder.rs:693-698`) — using
the house `cfg(test)` seam pattern (`pg-fix-forwarder-reconnect`'s
config seam; `sqlite-commit-error-arm`'s one-shot flag). The
mid-recv-loop stale-command abandonment race arm (b)
(`forwarder.rs:719-727`) and the small defensive arms
(`mid_listen_error` ack, forwarder-gone, shutdown abort/await) stay
parked with the code-read as their pin — **record that disposition
explicitly** (the review's "either way the disposition should be
recorded").
- **Finding 3 (LOW, SQLite rollback-failure-on-drop arms)**: a
rollback-fault arm on the existing commit-fault seam
(`alkstore-sqlite/src/seam.rs` — the `sqlite-commit-error-arm`
machinery) covering both drop arms in one small test:
`SqliteTxHandle::drop`'s failed-`ROLLBACK` path (`tx.rs:439-447`) and
`ConnLease::drop`'s (`tx.rs:166-175`) — pin the same properties the
commit test pins (error surfaced/printed, connection dropped, writer
slot replenished, store usable).
If a seam proves more invasive than the review estimated, the
acceptable fallback is the code-read-as-pin disposition for that arm —
recorded, not silent. The line between "landed" and "parked with
disposition" is this task's judgment call, made explicitly in Notes.
## Acceptance Criteria
- [ ] Finding 2's (a) arm seam-tested (or its not-taken disposition
recorded with the invasiveness reason); the race arm + defensive
arms' parked disposition recorded
- [ ] Finding 3's rollback-fault test landed covering both drop arms
(or its not-taken disposition recorded)
- [ ] The disposition record written so a future general review reads
the inventory as closed, not re-derivable
- [ ] `cargo test -p alkstore-sqlite` green server-less; `cargo test
-p alkstore-postgres` green server-less (SKIP posture) and — if
the pg seam landed — green against the harness server; clippy
`-D warnings`; fmt clean
## References
- docs/reviews/003-wave-5-general-review.md §Finding 2, §Finding 3
- tasks/review-wave-6.md (the park record)
- tasks/sqlite-commit-error-arm.md (the seam pattern + the commit-arm
test this mirrors)
- tasks/pg-fix-forwarder-reconnect.md (the pg config-seam precedent)
## Notes
> To be filled by implementation agent
## Summary
> To be filled on completion