Repository navigation
Conversation
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.
Part 1 of the review split requested in #769. This changes the existing Notifications-mode transport only: authorized inbound message IDs are durably claimed before terminal/attachment writes, partial input is never blindly replayed, and full-text output parts record their payload fingerprints and confirmed message IDs separately. Retries skip confirmed parts and stop on uncertainty. Unversioned identical automatic notices also pause after uncertain delivery; deliberate notices remain distinct requests.
REST retries use one enforced nonce, preserve multipart payloads, respect the real retry-after and do not retry ambiguous thread creation. The journal is bounded to 2048 metadata records/2 MB with seven-day retention and private atomic writes. It contains no prompt/response/file bytes or token. Invalid journals fail closed. Acceptance is transport acceptance, never fabricated task completion.
Scope excludes Full-mode channels/threads and transcript readers, questions and model controls, Activity/history/Results, generated files and remote uploads. Those remain in the draft integration reference #769 and will be reviewed separately.
Validation: 116 delivery and existing bridge tests pass, including duplicate/restarted inbound events, partial input, persistent-store refusal, refused/uncertain multipart output, formatter changes, nonce reuse, retry limits and scope cancellation. Typecheck, lint and format checks pass. Isolated curl /api/status and /api/discord return success with Discord disabled; the temporary instance was stopped. No production deployment or diagnostic Discord messages.
Tracking: johoja12#218 (parent johoja12#97).