Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0e241-8285-7a63-8c0c-51c9cb824dc3
18 lines
2 KiB
Markdown
18 lines
2 KiB
Markdown
# Transactional recovery: mechanism mappings
|
||
|
||
0.1 research preview. These map previously reviewed mechanisms to candidate decisions,
|
||
not complete, interchangeable product implementations. No new source verification was
|
||
performed for this mapping; dates and revisions are those in the linked reviews.
|
||
[Transactional sequence](../sequences/TransactionalApplication.md).
|
||
|
||
| Decision | Located mechanism and provenance | What still needs verification |
|
||
| --- | --- | --- |
|
||
| CAND-0005 — retain unfinished intent | Zulip and Element composer draft paths, pinned source R01/R03 in [FrontendRecoveryImplementations](../research/reviews/FrontendRecoveryImplementations.md) | Complete base/draft/current merge, retention policy, restart and composer-to-operation handoff |
|
||
| CAND-0006 — reject a stale proposal | Kubernetes conditional PUT, T01 in [TransactionalEvidenceExpansion](../research/reviews/TransactionalEvidenceExpansion.md); GitLab optional file precondition T02 has different failure semantics | Actual endpoint atomicity and domain checks; do not treat every GitLab 400 as version rejection |
|
||
| CAND-0007 — resolve uncertain outcome | Stripe bounded replay identity T03; Element/Matrix echo/retry source R04–R06; [Matrix SDK observation](../research/reviews/MatrixRecoveryExperiment.md) uses synthetic transport | Receiver retention/identity scope, lookup, true server deduplication, cancellation/compensation; these mechanisms are not one assembled stack |
|
||
| CAND-0008 — refresh after acceptance | React Router revalidation and concurrency guidance T04/T05 in the transactional review | Read-after-write, obsolescence and preserved drafts in the actual application; client cancellation does not stop server effects |
|
||
|
||
Select a mechanism only after the application's acceptance and failure contracts are
|
||
known. These examples do not require Kubernetes, Stripe or a particular UI framework;
|
||
they illustrate different obligations. Combining them is a proposed design, not a
|
||
known deployed use. Full-contract recurrence remains unassessed.
|