Architecture comparison
Use DOC with source revision, question, current path, demonstrated friction, alternatives, chosen/recommended seam, consequences, migration/checks and revisit trigger.
| Alternative | Coupling removed | Behavior/compatibility risk | Evidence | Cost |
|---|---|---|---|---|
| Keep current design | None | Existing failure persists | Reproduction/source | Low now |
| Single mutation boundary | Parallel writers lose direct authority | Must migrate helper callers | Callers/record tests | Bounded |
| Replace persistence stack | Unclear additional benefit | Broad migration and recovery changes | Not yet justified | High |
A current-state map should show the real request/data flow and the actual write owner. A target map should explain what each boundary hides from its consumers. Use a glossary/ADR for accepted consequential vocabulary and choices.
Example verification: replay old helper operations through the new boundary with stable IDs, revision conflicts and evidence links intact. An interface type compiling alone does not prove migration or recovery.