Implement event log and job queue with outbox semantics #10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Acceptance: §3.4 (transactional outbox, at-least-once, idempotent handlers, retry/backoff, dead-job surfacing), §5.6 (per-entity ordering, rebuildability). Tests reference CR-9.
Note from #3: the §7.4 retention purge currently runs as an in-process scheduler (RetentionPurger). When the persistent job queue lands here, move the purge onto it (recurring job, at-least-once, idempotent).
Live on prod (
2dfcaa9): §3.4 event log and job queue operational. Events append inside the applying transaction (no standalone path — §5.2 atomicity structural, verified by a rejected-apply test), jobs claim via FOR UPDATE SKIP LOCKED and execute in the claiming transaction (at-least-once), exponential backoff, dead after max attempts with /admin/jobs surfacing + one-click retry, /admin/events inspection. §5.6/CR-9 consumer framework (durable per-consumer cursors, in-order idempotent dispatch) tested and ready — first real consumers wire in with M3. §7.4 purge migrated onto the queue as a self-rescheduling job (closes the earlier note). Worker + pending purge job verified live on the host. 7 new tests, 71 total green. Seams in D21.