Repository navigation
fix(feedback): bind browser idempotency key to payload and outcome - #325
Merged
Merged
Conversation
Contributor
Author
|
Triage: the browser now sends idempotency_key, but the current /ingest and /feedback handlers do not read or forward it. If the PR's duplicate-write prevention claim depends on this key, that guarantee is not implemented end to end. Please wire the key through server-side binding and deduplication, or narrow the claim to client-side retry state; then fix the blocked checks. Outside A2. |
Sarthib7
added a commit
that referenced
this pull request
Sep 20, 2026
Rebased onto main with DCO sign-off for #325. Signed-off-by: sarthib7 <sarthiborkar7@gmail.com>
Sarthib7
force-pushed
the
v1/feedback-web-key
branch
from
September 20, 2026 19:17
5fcec1b to
297169e
Compare
Sarthib7
force-pushed
the
v1/feedback-web-key
branch
from
September 20, 2026 19:23
297169e to
2275f41
Compare
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.
Fixes #317
The dashboard feedback retry idempotency key is bound to the serialized payload and rotated when the payload changes; cleared on accepted or definitive HTTP 409, retained across uncertain failures. Prevents key reuse across edited payloads and a 409 retry loop.
Files:
kb/static/app.js,tests/test_dashboard_contract_gaps.py.Verification: test_dashboard_contract_gaps passed on a main-based tree. Rollback: delete branch, close PR.
Part of core completion rollout (#317).