V13-FE-006: consolidate approved UI and contract hardening
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# V13-FE-034 — Idempotency retry contract
|
||||
|
||||
## Source / Assumption / Unknown / Decision Required
|
||||
|
||||
- Source: `frontend/src/shared/commands/idempotency.ts`, `frontend/src/shared/crud/useOptimisticCommand.ts`, and their characterization tests.
|
||||
- Assumption: one `createRequest()` represents one user intent; every retry reuses that immutable request envelope.
|
||||
- Unknown: each production command's server-side deduplication store, response replay contract, retention, and endpoint coverage.
|
||||
- Decision Required: BE/QA approval of per-command idempotency persistence and duplicate-side-effect evidence.
|
||||
|
||||
## Existing contract verified
|
||||
|
||||
- UUID key is generated once per intent.
|
||||
- `run()` sends the same `Idempotency-Key` on repeated execution.
|
||||
- Optional `If-Match` is forwarded for optimistic concurrency.
|
||||
- 409/412 sets the conflict state and pending state is cleared.
|
||||
- Concurrent execution is rejected while a command is pending.
|
||||
|
||||
## Evidence
|
||||
|
||||
- `pnpm test -- src/shared/crud/tests/useOptimisticCommand.spec.ts`: 1 file / 2 tests passed in the FE regression run.
|
||||
- Full FE regression: 49 files / 126 tests passed; typecheck passed.
|
||||
|
||||
## Outstanding
|
||||
|
||||
This proves the client boundary only. Server-side deduplication, replayed response equivalence, retention, and per-endpoint integration evidence remain outstanding. This Slice is `IN_PROGRESS`.
|
||||
Reference in New Issue
Block a user