Skip to content

Commit 8a97cd2

Browse files
committed
docs(roadmap): record outbox failure and ownership verification
Record the reproduced INSERT failure, both independent review rounds and full backend regression without changing accepted decisions or claiming dispatcher or consumer delivery is implemented. ADR: 0057
1 parent 96e6f4d commit 8a97cd2

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

‎docs/roadmap/phase-02b-events-auth.md‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,40 @@ the frozen P02b-0 entry record remain byte-preserved. The
10741074
CI verdict; local results do not establish that verdict or merge approval.
10751075
PR review and merge remain pending.
10761076

1077+
#### PR #29 outbox INSERT and ownership follow-up (2026-10-12)
1078+
1079+
All four follow-up comments reproduce against `b561c8f`. Commit `96e6f4d`
1080+
marks the existing unit rollback-only when the immediate outbox INSERT throws,
1081+
then rethrows the same exception. Only a successful INSERT records produced
1082+
work; validation refusals before execution retain their existing behavior.
1083+
1084+
The existing duplicate-EventId regression now covers propagation and absorption
1085+
of a real PostgreSQL INSERT failure. Both cases first fail against the old code
1086+
at the immediate rollback-only assertion, before coordinator unwinding can
1087+
poison the unit. The fixed cases retain the successful parent's receipt, create
1088+
no failed-child receipt, prove original exception identity or absorbed-error
1089+
refusal, and verify rollback and shared-state cleanup. All 31 outbox cases pass.
1090+
1091+
Architecture 31 records Steps 2–3's delivered enqueue, successful-save
1092+
collection/promotion and owner-only drain. Standards 02/18 distinguish UoW-owned
1093+
domain collector/source cleanup from reconciliation and audit capture cleanup
1094+
owned exclusively by the outermost `AuditExecutionCoordinator` frame. The
1095+
catalogue no longer claims inbox parity for `InProcessEventBus`. Dispatch and
1096+
consumer delivery/inbox remain P02b-2 and P02b-3; no ADR decision changes.
1097+
1098+
Two fresh independent review rounds pair GPT-6-astra xhigh runtime review with
1099+
GPT-6.1-sol xhigh proof/corpus review. Round 1 approves `b561c8f..96e6f4d`
1100+
without findings. Round 2 covers the same code/document changes and this dated
1101+
closeout; both reviewers approve without findings.
1102+
1103+
Full local verification passes 1,766 unit, 266 architecture, four contract and
1104+
1,153 integration cases: 3,189 backend cases, zero failed/skipped. Focused outbox
1105+
repeats overlap that total. Release build has zero warnings/errors; solution
1106+
format, seven ADR lifecycle checks, the changed-document link/anchor sweep and
1107+
`git diff --check` pass. No frontend source, schema, credential or accepted ADR
1108+
changes. The [PR checks](https://github.com/HodeTech/LearnStack/pull/29/checks)
1109+
own final-head CI evidence; PR review and merge remain pending.
1110+
10771111
### Durable outbox dispatch
10781112

10791113
P02b-1 Steps 2/3 implement `IOutbox`, replace Packet 3's step-7 shell with

0 commit comments

Comments
 (0)