fix: make protected answer batches atomic - #311
Merged
Joncallim merged 6 commits intoJul 30, 2026
Merged
Conversation
…covery fix: recover timestamp-only legacy claims
…isher-reuse fix: reuse the production task event publisher
Joncallim
marked this pull request as ready for review
July 30, 2026 16:49
Joncallim
merged commit Jul 30, 2026
f552895
into
codex/pr198-f2-s4-clarification-inventory
4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Source Issue
Issue: #179
What changed
Protected clarification forms now use the existing fixed-authority answer routine inside one PostgreSQL transaction. The route validates the complete open-question batch before calling that writer, queues the answers continuation after commit, and only then attempts the progress event as best-effort.
This closes PR #198 findings
PRRT_kwDOS9dWe86VJqjvandPRRT_kwDOS9dWe86VJqj4without adding a database routine, role, migration, or plaintext sink. Legacy encrypted clarification handling is unchanged.Why it matters
A later invalid answer can no longer leave the first answers committed, and a temporary task-event publisher outage can no longer strand a successfully committed answer batch before the answers worker is queued.
Base and scope
codex/pr198-f2-s4-clarification-inventory10c2154b33f5d4fe55597be54a47eeefa3c609d49340ccc01af671f1b02effd683a7d8f74078d267Validation
git diff --check: passed30559990552, job90930218008: passed, including the mandatory 16/16 S4 PostgreSQL suite30559990683, job90930219120: passedStack
This is the first child in the required F5 → F4 → F3 progressive merge order. It remains draft and must not be merged directly.