pg tx producer paths wake commit-atomically: publish_with_key_tx/enqueue_tx/outbox_enqueue_tx issue pg_notify on their mechanism-named channel (stream name / queue name / derived backing queue) inside the caller's tx — empty payload, best-effort log-and-swallow, no double-wake on the auto-commit paths; shared tx::wake_tx owner + module-doc section pinning the semantics; new tx_tests harness test pinning pre-commit silence, commit delivery on all three channels, and rollback silence; F-1 engine arm retired in review-wave-4 + implementation.md records (tx_publishes_compose_with_the_handle deterministic: 20 solo runs green; pg suite 116/116 x2 vs harness) (task pg-fix-tx-wake, review 002 Finding 2)

This commit is contained in:
glm-5.3-flash committed 2026-10-09 22:38:38 +00:00
1 parent 7ae426a01d
commit 9a5d1f4705
5 files changed
+261 -15

No files matched your search

+11 -4
View File
@@ -1,6 +1,6 @@
---
status: draft
last_updated: 2026-10-09 (wave-4 fix batch decomposed from the general review — 7 fix tasks + review-wave-4-fixes gate; wave 5 decomposition gates on the two HIGH fixes landing)
last_updated: 2026-10-09 (pg-fix-tx-wake landed — the second HIGH fix, retiring F-1's engine arm; wave 5's remaining gate is the fix batch's review gate)
---
# alkstore — Implementation plan
@@ -244,8 +244,10 @@ decomposes. Specific gates:
conformance code-read clean (0 findings); the flagged
`tx_publishes_compose_with_the_handle` flake reproduced twice and
recorded as F-1 (test-infra, wake-subscription under load — root
cause unresolved; candidate dispositions in the task's Notes for
wave 5's suite hardening); three no-action notes (F-2..F-4).
cause unresolved at gate time; candidate dispositions in the task's
Notes for wave 5's suite hardening); three no-action notes
(F-2..F-4). F-1's root cause was later found engine-side by the
general review below and retired by `pg-fix-tx-wake`.
- **General review, wave 4** (2026-10-09,
`docs/reviews/002-wave-4-general-review.md`) — two live-proven
consumer-facing bugs (the forwarder's permanent death after one
@@ -253,7 +255,12 @@ decomposes. Specific gates:
covered; the tx enqueue/publish paths' missing `pg_notify` wake —
F-1's root cause, engine-side), a `max_size: 0` open-hang, two
narrow robustness gaps, doc mismatches, decode-duplication smells.
Fixes recommended before wave 5 decomposes; not yet landed.
Fixes recommended before wave 5 decomposes. The tx-wake fix landed
(`pg-fix-tx-wake`, 2026-10-09): the tx producer paths now wake
commit-atomically, retiring F-1's engine arm (record updated in
`tasks/review-wave-4.md`) and making `tx_publishes_compose_with_the_handle`
deterministic (20 consecutive solo runs green); the remaining fixes
ride the wave-4 fix-batch decomposition below.
- **Wave 4 decomposition** (2026-10-08) — shaped as wave 3's
structural twin; wave-3 outcomes absorbed (constructors exist;
arithmetic re-owned per engine; per-engine `@every` parser;