Wave-4 general review (002): two live-proven bugs — the forwarder's permanent death after one failed reconnect (the failure arm the gate's test never covered) and the tx enqueue/publish paths' missing pg_notify wake (F-1's root cause, engine-side) — plus a max_size:0 open-hang, two narrow robustness gaps, doc mismatches, and the decode-duplication smell; reviews renumbered 001/002 per the alk* numbering pattern (references updated)

This commit is contained in:
glm-5.3-flash committed 2026-10-09 22:01:04 +00:00
1 parent f9bd5716fa
commit 89828170f4
7 files changed
+290 -9

No files matched your search

+9 -2
View File
@@ -245,8 +245,15 @@ wave-5/6 decision; none is a consumer-visible defect):
open** (contradicting the streams/locks agents' "unrelated, wait for
wave 5" read: reproduced twice this session — once in a
first-of-session full lib run, once in a solo run; ~2/106 runs
total, all at the same site). Failure signature: `must_recv_event`'s
15 s deadline exhausts — the bridge's re-drain never fires after a
total, all at the same site). **Update (2026-10-09): root cause
found by the wave-4 general review
(`docs/reviews/002-wave-4-general-review.md`, Finding 2) — the tx
enqueue/publish paths issue no `pg_notify` wake at all; the
subscriber's pre-commit drain parks on a wake that never comes. Fix
is engine-side (one `pg_notify` in `publish_with_key_tx`), not the
suite-hardening candidates below, which become
defense-in-depth.** Failure signature: `must_recv_event`'s 15 s
deadline exhausts — the bridge's re-drain never fires after a
committed `publish_tx`. Facts established: the engine's wake path is
honest (the tx INSERT's commit *is* the NOTIFY carrier — verified by
the 64-run probe mirroring the test's beats, which never missed and