{
  "generatedFrom": "Payments Signal canonical architecture registry",
  "notice": "SYNTHETIC / TRAINING ONLY",
  "blueprintId": "architecture-payment-operations",
  "versionLabel": "Payments Signal reference architecture v1",
  "reviewDate": "2026-07-23",
  "traces": [
    {
      "id": "ops-investigate-payment",
      "label": "Investigate an uncertain payment",
      "summary": "Follow an operational signal to a safe, reconciled close without guessing whether money moved.",
      "viewId": "component",
      "steps": [
        {
          "id": "ops-investigate-payment-step-1",
          "title": "Expose the uncertainty",
          "nodeId": "ops-state-view",
          "interfaceId": "ops-e1",
          "plainExplanation": "The view keeps accepted, sent, delivered, settled, posted, and reported states separate.",
          "businessState": "Last confirmed state identified"
        },
        {
          "id": "ops-investigate-payment-step-2",
          "title": "Create owned work",
          "nodeId": "ops-monitoring",
          "interfaceId": "ops-e2",
          "plainExplanation": "Age, cut-off, value, customer impact, and settlement uncertainty determine priority.",
          "businessState": "Case required"
        },
        {
          "id": "ops-investigate-payment-step-3",
          "title": "Assemble the evidence",
          "nodeId": "ops-case",
          "interfaceId": "ops-e5",
          "plainExplanation": "Messages, identifiers, books, statements, and previous actions share one case.",
          "businessState": "Investigation opened"
        },
        {
          "id": "ops-investigate-payment-step-4",
          "title": "Ask the right counterparty",
          "nodeId": "ops-network-case",
          "interfaceId": "ops-e6",
          "plainExplanation": "The correct request travels to the party that can evidence the missing state.",
          "businessState": "External response pending",
          "messageIds": [
            "camt-110",
            "camt-111"
          ]
        },
        {
          "id": "ops-investigate-payment-step-5",
          "title": "Choose the safe action",
          "nodeId": "ops-repair",
          "interfaceId": "ops-e4",
          "plainExplanation": "Settlement and idempotency guards decide whether repair, retry, return, or no value action is safe.",
          "businessState": "Recovery authorised"
        },
        {
          "id": "ops-investigate-payment-step-6",
          "title": "Reconcile every layer",
          "nodeId": "ops-recon",
          "interfaceId": "ops-e8",
          "plainExplanation": "Instruction, settlement, journal, statement, fee, and linked return agree.",
          "businessState": "Financial state aligned"
        },
        {
          "id": "ops-investigate-payment-step-7",
          "title": "Close and report",
          "nodeId": "ops-reporting",
          "plainExplanation": "Customer and management reporting reflect the proven final state.",
          "businessState": "Case closed with evidence"
        }
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "payments-signal-editorial",
            "locator": "Payment operations, exception, and investigation architecture",
            "label": "simplified-educational-illustration",
            "simplifications": "Queues, statuses, repair rights, investigation messages, service levels, operational roles, customer communication, and accounting action depend on the institution, rail, scheme, message profile, and legal context."
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Payments Signal reference architecture v1"
        },
        {
          "ref": {
            "sourceId": "bis-cpmi-pfmi",
            "locator": "Principles 17, 23 and 24",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "CPMI-IOSCO Principles for financial market infrastructures"
        }
      ]
    }
  ],
  "stressCases": [
    {
      "id": "ops-stress-late-status",
      "label": "Status arrives after manual action",
      "trigger": "A late network status contradicts the assumption used for a manual repair.",
      "divergesAfterStepId": "ops-investigate-payment-step-5",
      "traceId": "ops-investigate-payment",
      "affectedNodeIds": [
        "ops-state-view",
        "ops-case",
        "ops-repair",
        "ops-recon"
      ],
      "affectedInterfaceIds": [
        "ops-e4",
        "ops-e6",
        "ops-e7"
      ],
      "lastConfirmedState": "The manual action is recorded; the late external state is newly evidenced.",
      "settlementState": "Settlement must be re-evaluated from source evidence.",
      "fundsState": "There may now be two linked value movements or one duplicate attempt.",
      "owner": "Payment investigations",
      "safeAction": "Freeze further action and reconcile both the original and manual attempt.",
      "requiredEvidence": [
        "Original message",
        "Late status",
        "Manual action reference",
        "Statements and journals"
      ],
      "recoverySteps": [
        "Reconstruct the timeline",
        "Contain duplicates",
        "Use return or correction rules",
        "Correct reporting"
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "payments-signal-editorial",
            "locator": "Payment operations, exception, and investigation architecture",
            "label": "simplified-educational-illustration",
            "simplifications": "Queues, statuses, repair rights, investigation messages, service levels, operational roles, customer communication, and accounting action depend on the institution, rail, scheme, message profile, and legal context."
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Payments Signal reference architecture v1"
        }
      ]
    },
    {
      "id": "ops-stress-ledger",
      "label": "Payment engine recovers before ledger",
      "trigger": "The orchestration service is healthy but posting outcome remains uncertain.",
      "divergesAfterStepId": "ops-investigate-payment-step-5",
      "traceId": "ops-investigate-payment",
      "affectedNodeIds": [
        "ops-state-view",
        "ops-repair",
        "ops-command"
      ],
      "affectedInterfaceIds": [
        "ops-e4",
        "ops-e10"
      ],
      "lastConfirmedState": "Payment processing reached the posting boundary.",
      "settlementState": "External settlement may or may not have followed.",
      "fundsState": "A journal may already exist.",
      "owner": "Incident command and ledger operations",
      "safeAction": "Keep value-affecting replay disabled until the journal and settlement boundary are reconciled.",
      "requiredEvidence": [
        "Business key",
        "Ledger transaction log",
        "Network state",
        "Recovery checkpoint"
      ],
      "recoverySteps": [
        "Prove journal state",
        "Recover downstream queues in order",
        "Release controlled replay"
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "bis-cpmi-pfmi",
            "locator": "Principle 17",
            "label": "official-requirement"
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "CPMI-IOSCO Principles for financial market infrastructures"
        },
        {
          "ref": {
            "sourceId": "payments-signal-editorial",
            "locator": "Payment operations, exception, and investigation architecture",
            "label": "simplified-educational-illustration",
            "simplifications": "Queues, statuses, repair rights, investigation messages, service levels, operational roles, customer communication, and accounting action depend on the institution, rail, scheme, message profile, and legal context."
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Payments Signal reference architecture v1"
        }
      ]
    },
    {
      "id": "ops-stress-recall",
      "label": "Recall is mistaken for reversal",
      "trigger": "An operator expects a cancellation request to undo a settled payment automatically.",
      "divergesAfterStepId": "ops-investigate-payment-step-4",
      "traceId": "ops-investigate-payment",
      "affectedNodeIds": [
        "ops-repair",
        "ops-network-case",
        "ops-state-view"
      ],
      "affectedInterfaceIds": [
        "ops-e3",
        "ops-e5",
        "ops-e6"
      ],
      "lastConfirmedState": "The original payment may already be settled.",
      "settlementState": "A recall request does not itself reverse settlement.",
      "fundsState": "Funds remain where settlement and beneficiary posting placed them until an accepted return or other process moves value.",
      "owner": "Payment investigations",
      "safeAction": "Send the correct request only with authority; track the response and any separate return.",
      "requiredEvidence": [
        "Original settlement state",
        "Recall authority",
        "camt.056 or MT request",
        "camt.029 or response",
        "Return evidence"
      ],
      "recoverySteps": [
        "Record request and response",
        "Link any pacs.004 or other return",
        "Reconcile both movements"
      ],
      "evidence": [
        {
          "ref": {
            "sourceId": "payments-signal-editorial",
            "locator": "Payment operations, exception, and investigation architecture",
            "label": "simplified-educational-illustration",
            "simplifications": "Queues, statuses, repair rights, investigation messages, service levels, operational roles, customer communication, and accounting action depend on the institution, rail, scheme, message profile, and legal context."
          },
          "verifiedDate": "2026-07-23",
          "versionContext": "Payments Signal reference architecture v1"
        }
      ]
    }
  ]
}
