fix(upload): idempotent retry ger samma verifierade kvitto #459

Merged
admin merged 1 commits from fix/upload-retry-receipt into main 2026-11-02 23:36:58 +00:00
Owner

Live-test hittade: en klient som repeterade en lyckad uppladdning med samma idempotensnyckel fick 202 outcome_unknown i stället för samma 201-kvitto, eftersom DOC0-kvittot aldrig sparades.

Nu sparas document_id, version_id, receipt_checksum, pipeline_stage på försöksraden (sql/021, additiv) och en replay returnerar samma kvitto utan ny POST. Saknas kvittot faller den tillbaka på observation som förut.

Verifierat: 10/10 koordinatortester, typecheck grön; migrationen körd i prod.

Live-test hittade: en klient som repeterade en **lyckad** uppladdning med samma idempotensnyckel fick `202 outcome_unknown` i stället för samma `201`-kvitto, eftersom DOC0-kvittot aldrig sparades. Nu sparas `document_id`, `version_id`, `receipt_checksum`, `pipeline_stage` på försöksraden (sql/021, additiv) och en replay returnerar **samma kvitto utan ny POST**. Saknas kvittot faller den tillbaka på observation som förut. Verifierat: 10/10 koordinatortester, typecheck grön; migrationen körd i prod.
admin added 1 commit 2026-11-02 23:35:34 +00:00
fix(upload): an idempotent retry returns the same verified receipt
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 5s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / security (pull_request) Successful in 35s
CI (SIAX Cloud) / integration (pull_request) Successful in 37s
CI (SIAX Cloud) / quality (pull_request) Successful in 43s
92eb78ba0a
A client retry with the same idempotency key replayed the journal and got
'outcome_unknown' even when the first upload had succeeded, because the
verified DOC0 receipt was never persisted. Store document/version/checksum/
stage on the attempt (sql/021) and return it on replay; only a missing receipt
falls back to observation. No second POST, no duplicate document.
CODEOWNERS rules requested review from sax3l 2026-11-02 23:35:34 +00:00
admin scheduled this pull request to auto merge when all checks succeed 2026-11-02 23:36:55 +00:00
admin merged commit 6652fde6df into main 2026-11-02 23:36:58 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/0pt#459