PR H: architecture note amendments (§5.1 trust / §9.2 settlement / §4.1 unwind) #12

Merged
nsatoshi merged 1 commits from devin/1776876637-arch-note-amendments into main 2026-04-22 17:13:01 +00:00

1 Commits

Author SHA1 Message Date
Devin
e15aa11417 PR H: architecture note amendments (\u00a75.1 trust, \u00a79.2 settlement, \u00a74.1 unwind)
Some checks failed
Code Quality / SonarQube Analysis (pull_request) Failing after 21s
Code Quality / Code Quality Checks (pull_request) Failing after 6s
Security Scan / Dependency Vulnerability Scan (pull_request) Failing after 4s
Security Scan / OWASP ZAP Scan (pull_request) Failing after 4s
Three normative amendments identified during the gap-analysis and now
captured as a standalone doc. Each amendment cites the implementation
impact on PRs A-G and lists follow-up tickets that extend (not regress)
the already-landed code.

\u00a75.1 Transaction Coordinator trust model:
  - names the operator the Workflow Authority
  - requires SoD between Coordinator operator, Identity service, and
    Ledger Anchor
  - requires signed state transitions verifiable by participants
  - CurrenciCombo ref topology: issuing bank runs it (single-party
    hosted); federated and neutral-utility topologies are future work
    and can swap in without changing the API.

\u00a79.2 Commit rule (accepted != settled):
  - enumerates the exact SWIFT/ISO-20022 messages that count as
    settlement: pacs.002 ACSC, camt.025 ACSC, camt.054 CRDT,
    MT910/MT900
  - ACCP/ACSP/PDNG do NOT satisfy COMMIT; stay in VALIDATING until
    settlement evidence or timer expiry -> ABORTED
  - wires explicitly to PR E's camt parsers + PR B's exception taxonomy.

\u00a74.1 Instrument irrevocability matrix:
  - UNWIND_PENDING is a Coordinator state, not a guarantee the
    underlying banking artefacts reverse
  - separate instrument-leg and payment-leg matrices based on
    observable progress (dispatched / acknowledged / accepted /
    settled)
  - irrevocable once instrument.acknowledged; only remaining control
    plane actions are accelerated expiry, counter-guarantee, or
    legal discharge
  - refines the reason payload on ABORTED -> UNWIND_PENDING; no
    transition-table change.

Lands docs-only; no code change. Implementation follow-ups enumerated
in "Summary of downstream tickets".
2026-04-22 16:52:14 +00:00