Files
alkstore/tasks/review-wave-4-fixes.md
T

93 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: review-wave-4-fixes
name: Review gate — wave-4 fix batch (review 002 resolutions)
status: pending
depends_on: [pg-fix-forwarder-reconnect, pg-fix-tx-wake, pg-fix-open-path, pg-fix-stale-unlisten, pg-fix-scheduler-resilience, pg-fix-dedupe-cleanup, pg-fix-docs-alignment]
scope: moderate
risk: low
impact: phase
level: review
tags: [wave-4-fixes, review]
---
## Description
Review the fix batch decomposed from the wave-4 general review
(`docs/reviews/002-wave-4-general-review.md`) before wave 5
decomposes. The batch's own gate — distinct from the general review
that found the issues: verify each finding's fix is *real* (code-read
against the review's failure mechanism, not test-name-trust), and
that the fixes didn't damage the postures the wave-4 gate pinned.
Check:
- **Finding 1 (forwarder reconnect)**: the loop survives repeated
failed connects — code-read the restructured reconnect arm (no path
back to the `take()`'s `else return`); the failed-connect arm is
test-exercised (the seam/injection is real, not a mock that never
fails); the fanout-sender release invariant (receivers terminal iff
loop gone) holds on every exit path.
- **Finding 2 (tx wake)**: `pg_notify` present in
`publish_with_key_tx` (contract obligation) and the enqueue twins
(parity), commit-atomic inside the caller's tx, empty payload
(channel-only wakes); the no-ghost rollback arm pinned; the compose
test's determinism evidence (repeated solo runs) recorded.
- **Finding 3 (open path)**: `max_size` guard before any round trip;
the DSN options append (or documented engine-wins) verified against
the actual setter semantics.
- **Finding 4 (stale UNLISTEN)**: the generation-drop/reconcile
decision unit-pinned across all four command/staleness
combinations; the invariant stated in the forwarder docs.
- **Finding 5 (scheduler)**: quarantine + retry behavior vs the
review's fix shape; the leadership exit-path posture documented; the
doc claim corrected.
- **Minor notes**: dedupe (one decode owner — grep-auditable), the
const, the helper routing, the doc alignments in deployment.md.
- **No regressions**: the wave-4 gate's pinned postures re-spot-checked
where the fixes touched them — forwarder integrity (the two
deadlock pitfalls still structurally excluded), seam integrity,
close semantics (the pg arm: open across reconnects, close at
shutdown only), the no-replay honesty pin, entry-point validation.
- **Records**: `tasks/review-wave-4.md` F-1 note and
`docs/plans/implementation.md`'s review-rounds line consistent with
what landed.
- **Gates**: full workspace build/test/clippy/fmt; the pg suite green
against the harness server; the compose test run repeatedly (the
determinism claim verified, not asserted).
**Wave-5 gate**: per the general review's sequencing, wave 5
decomposes after Findings 1–2's fixes land (the suite's wake-driven
rows would otherwise inherit a hang-shaped false failure). This gate
confirms both landed; if only they have, say so explicitly — wave 5
may decompose with 3–7 still in flight only if this gate judges the
remainder wake-independent (expected: yes — 3–7 touch no wake-driven
suite surface).
## Acceptance Criteria
- [ ] Each finding's fix verified against the review's failure
mechanism (code-read + the new tests' actual coverage)
- [ ] No regressions to the wave-4 gate's pinned postures (re-spot-
checked at the touched sites)
- [ ] Records consistent (F-1 retirement, review-rounds line)
- [ ] All gates green (incl. against the harness server); compose-test
determinism evidence recorded
- [ ] Findings recorded; wave 5 decomposition disposition stated
explicitly
## References
- docs/reviews/002-wave-4-general-review.md (the findings this batch
resolves)
- tasks/review-wave-4.md (the wave-4 gate's pinned postures + F-1's
record)
- docs/plans/implementation.md (Review gates; Review rounds so far)
- tasks/pg-fix-*.md (the batch's seven tasks)
## Notes
> To be filled by implementation agent
## Summary
> To be filled on completion