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.
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 main2026-11-02 23:36:58 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Live-test hittade: en klient som repeterade en lyckad uppladdning med samma idempotensnyckel fick
202 outcome_unknowni stället för samma201-kvitto, eftersom DOC0-kvittot aldrig sparades.Nu sparas
document_id,version_id,receipt_checksum,pipeline_stagepå 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.