{
  "tool_id": "art-531-member-margin-call-lifecycle",
  "note": "Vectors computed directly from the shipped kernel. Covers the happy path (funded within SLA), a late funding, the disputed-and-escalated contingency path, a still-open call within its SLA window, and a combined sequence-invalid plus rejected-input failure case.",
  "vectors": [
    {
      "name": "funded-within-sla",
      "description": "Issued, confirmed, and funded 45 minutes after issuance against a 60-minute SLA. MARGINCALL_ATTESTED, suggested route 'end'.",
      "policy_parameters": {
        "call_id": "MC-0001",
        "member_ref": "MEMBER-REF-1042",
        "currency": "USD",
        "amount_minor_units": 250000000,
        "sla_minutes": 60,
        "issued_at": "2026-07-31T14:00:00Z",
        "as_of": "2026-07-31T15:30:00Z",
        "confirmed_at": "2026-07-31T14:10:00Z",
        "funded_at": "2026-07-31T14:45:00Z"
      },
      "output_payload": {
        "call_id": "MC-0001",
        "member_ref": "MEMBER-REF-1042",
        "currency": "USD",
        "amount_minor_units": 250000000,
        "amount_display": "2500000.00",
        "sla_minutes": 60,
        "issued_at": "2026-07-31T14:00:00Z",
        "as_of": "2026-07-31T15:30:00Z",
        "confirmed_at": "2026-07-31T14:10:00Z",
        "funded_at": "2026-07-31T14:45:00Z",
        "disputed_at": null,
        "escalated_at": null,
        "dispute_reason": null,
        "current_state": "funded",
        "elapsed_to_funded_minutes": 45,
        "elapsed_to_asof_minutes": 90,
        "met_within_sla": true,
        "overdue": false,
        "sequence_valid": true,
        "sequence_errors": [],
        "attested": true,
        "suggested_gate_route": "end",
        "rejected_inputs": [],
        "rationale": [
          "Call MC-0001 issued 2026-07-31T14:00:00Z, currently funded, declared SLA 60 minute(s).",
          "Funded 45 minute(s) after issuance, within the 60-minute SLA.",
          "This is a state/attestation fact over the timestamps supplied for this call. It does not itself implement any escalation workflow and the suggested gate route is informational only."
        ],
        "note": "Deterministic margin-call lifecycle attestation over caller-declared state timestamps and a caller-declared SLA window. It attests whether the call was funded within the CCP's own published timing rule -- issued -> confirmed -> funded, or issued -> disputed -> escalated -- rather than implementing any margin-call workflow itself."
      },
      "compliance_flags": [
        "MARGINCALL_FUNDED_WITHIN_SLA",
        "MARGINCALL_ATTESTED"
      ],
      "golden_hash": "af6c63fda36f0c6812f7304442a13acae5725a98638233d4d68967df7d1ccb34"
    },
    {
      "name": "funded-late",
      "description": "Funded 75 minutes after issuance against a 30-minute SLA. MARGINCALL_FUNDED_LATE, not attested, suggested route 'hold'.",
      "policy_parameters": {
        "call_id": "MC-0002",
        "member_ref": "MEMBER-REF-2077",
        "currency": "USD",
        "amount_minor_units": 500000000,
        "sla_minutes": 30,
        "issued_at": "2026-07-31T09:00:00Z",
        "as_of": "2026-07-31T12:00:00Z",
        "confirmed_at": "2026-07-31T09:20:00Z",
        "funded_at": "2026-07-31T10:15:00Z"
      },
      "output_payload": {
        "call_id": "MC-0002",
        "member_ref": "MEMBER-REF-2077",
        "currency": "USD",
        "amount_minor_units": 500000000,
        "amount_display": "5000000.00",
        "sla_minutes": 30,
        "issued_at": "2026-07-31T09:00:00Z",
        "as_of": "2026-07-31T12:00:00Z",
        "confirmed_at": "2026-07-31T09:20:00Z",
        "funded_at": "2026-07-31T10:15:00Z",
        "disputed_at": null,
        "escalated_at": null,
        "dispute_reason": null,
        "current_state": "funded",
        "elapsed_to_funded_minutes": 75,
        "elapsed_to_asof_minutes": 180,
        "met_within_sla": false,
        "overdue": false,
        "sequence_valid": true,
        "sequence_errors": [],
        "attested": false,
        "suggested_gate_route": "hold",
        "rejected_inputs": [],
        "rationale": [
          "Call MC-0002 issued 2026-07-31T09:00:00Z, currently funded, declared SLA 30 minute(s).",
          "Funded 75 minute(s) after issuance, exceeding the 30-minute SLA.",
          "This is a state/attestation fact over the timestamps supplied for this call. It does not itself implement any escalation workflow and the suggested gate route is informational only."
        ],
        "note": "Deterministic margin-call lifecycle attestation over caller-declared state timestamps and a caller-declared SLA window. It attests whether the call was funded within the CCP's own published timing rule -- issued -> confirmed -> funded, or issued -> disputed -> escalated -- rather than implementing any margin-call workflow itself."
      },
      "compliance_flags": [
        "MARGINCALL_FUNDED_LATE"
      ],
      "golden_hash": "a6e07b225145de31853724b626c6f50cd2624735d6a12dfcd083d71430930845"
    },
    {
      "name": "disputed-escalated-overdue",
      "description": "The dispute/escalate contingency path: member disputes the call and it is escalated per §27.4. Still within the declared SLA window as of the evaluation point. MARGINCALL_ESCALATED, suggested route 'escalate'.",
      "policy_parameters": {
        "call_id": "MC-0003",
        "member_ref": "MEMBER-REF-3311",
        "currency": "EUR",
        "amount_minor_units": 120000000,
        "sla_minutes": 45,
        "issued_at": "2026-07-31T08:00:00Z",
        "as_of": "2026-07-31T10:00:00Z",
        "disputed_at": "2026-07-31T08:20:00Z",
        "dispute_reason": "member disputes stress scenario inputs",
        "escalated_at": "2026-07-31T09:00:00Z"
      },
      "output_payload": {
        "call_id": "MC-0003",
        "member_ref": "MEMBER-REF-3311",
        "currency": "EUR",
        "amount_minor_units": 120000000,
        "amount_display": "1200000.00",
        "sla_minutes": 45,
        "issued_at": "2026-07-31T08:00:00Z",
        "as_of": "2026-07-31T10:00:00Z",
        "confirmed_at": null,
        "funded_at": null,
        "disputed_at": "2026-07-31T08:20:00Z",
        "escalated_at": "2026-07-31T09:00:00Z",
        "dispute_reason": "member disputes stress scenario inputs",
        "current_state": "escalated",
        "elapsed_to_funded_minutes": null,
        "elapsed_to_asof_minutes": 120,
        "met_within_sla": null,
        "overdue": false,
        "sequence_valid": true,
        "sequence_errors": [],
        "attested": false,
        "suggested_gate_route": "escalate",
        "rejected_inputs": [],
        "rationale": [
          "Call MC-0003 issued 2026-07-31T08:00:00Z, currently escalated, declared SLA 45 minute(s).",
          "Not yet funded; call remains within the declared SLA window as of the declared evaluation point.",
          "Disputed 2026-07-31T08:20:00Z (member disputes stress scenario inputs), escalated 2026-07-31T09:00:00Z.",
          "This is a state/attestation fact over the timestamps supplied for this call. It does not itself implement any escalation workflow and the suggested gate route is informational only."
        ],
        "note": "Deterministic margin-call lifecycle attestation over caller-declared state timestamps and a caller-declared SLA window. It attests whether the call was funded within the CCP's own published timing rule -- issued -> confirmed -> funded, or issued -> disputed -> escalated -- rather than implementing any margin-call workflow itself."
      },
      "compliance_flags": [
        "MARGINCALL_ESCALATED"
      ],
      "golden_hash": "1da42d749fb4a9826f5dcfbebf1d2807af1d8b3d9118e4a49bf969febf41fb5d"
    },
    {
      "name": "pending-within-sla",
      "description": "A still-open call (no confirmed/funded/disputed timestamp) evaluated at a caller-declared as_of, well inside its declared SLA window. No member_ref supplied -- an absent reference is a legitimate declaration, never a rejected input. MARGINCALL_PENDING.",
      "policy_parameters": {
        "call_id": "MC-0004",
        "member_ref": null,
        "currency": "USD",
        "amount_minor_units": 75000000,
        "sla_minutes": 90,
        "issued_at": "2026-07-31T13:00:00Z",
        "as_of": "2026-07-31T13:30:00Z"
      },
      "output_payload": {
        "call_id": "MC-0004",
        "member_ref": null,
        "currency": "USD",
        "amount_minor_units": 75000000,
        "amount_display": "750000.00",
        "sla_minutes": 90,
        "issued_at": "2026-07-31T13:00:00Z",
        "as_of": "2026-07-31T13:30:00Z",
        "confirmed_at": null,
        "funded_at": null,
        "disputed_at": null,
        "escalated_at": null,
        "dispute_reason": null,
        "current_state": "issued",
        "elapsed_to_funded_minutes": null,
        "elapsed_to_asof_minutes": 30,
        "met_within_sla": null,
        "overdue": false,
        "sequence_valid": true,
        "sequence_errors": [],
        "attested": false,
        "suggested_gate_route": "hold",
        "rejected_inputs": [],
        "rationale": [
          "Call MC-0004 issued 2026-07-31T13:00:00Z, currently issued, declared SLA 90 minute(s).",
          "Not yet funded; call remains within the declared SLA window as of the declared evaluation point.",
          "This is a state/attestation fact over the timestamps supplied for this call. It does not itself implement any escalation workflow and the suggested gate route is informational only."
        ],
        "note": "Deterministic margin-call lifecycle attestation over caller-declared state timestamps and a caller-declared SLA window. It attests whether the call was funded within the CCP's own published timing rule -- issued -> confirmed -> funded, or issued -> disputed -> escalated -- rather than implementing any margin-call workflow itself."
      },
      "compliance_flags": [
        "MARGINCALL_PENDING"
      ],
      "golden_hash": "b83a0fba53ce4b85dfa86b0a12ed87b6e19df1ed589f1fae91e9ca85fc81eaf8"
    },
    {
      "name": "sequence-invalid-and-rejected-inputs",
      "description": "funded_at precedes both confirmed_at and issued_at, and amount_minor_units is a non-numeric string. Both defects surface together: MARGINCALL_SEQUENCE_INVALID and MARGINCALL_INPUTS_REJECTED, and the not-attested result holds even though the raw elapsed-minutes arithmetic alone would otherwise look SLA-compliant.",
      "policy_parameters": {
        "call_id": "MC-0005",
        "currency": "USD",
        "amount_minor_units": "not-a-number",
        "sla_minutes": 30,
        "issued_at": "2026-07-31T10:00:00Z",
        "as_of": "2026-07-31T11:00:00Z",
        "confirmed_at": "2026-07-31T09:50:00Z",
        "funded_at": "2026-07-31T09:00:00Z"
      },
      "output_payload": {
        "call_id": "MC-0005",
        "member_ref": null,
        "currency": "USD",
        "amount_minor_units": 0,
        "amount_display": "0.00",
        "sla_minutes": 30,
        "issued_at": "2026-07-31T10:00:00Z",
        "as_of": "2026-07-31T11:00:00Z",
        "confirmed_at": "2026-07-31T09:50:00Z",
        "funded_at": "2026-07-31T09:00:00Z",
        "disputed_at": null,
        "escalated_at": null,
        "dispute_reason": null,
        "current_state": "funded",
        "elapsed_to_funded_minutes": -60,
        "elapsed_to_asof_minutes": 60,
        "met_within_sla": true,
        "overdue": false,
        "sequence_valid": false,
        "sequence_errors": [
          "confirmed_at precedes issued_at by 10 minute(s)",
          "funded_at precedes issued_at by 60 minute(s)",
          "funded_at precedes confirmed_at by 50 minute(s)"
        ],
        "attested": false,
        "suggested_gate_route": "hold",
        "rejected_inputs": [
          {
            "where": "amount_minor_units",
            "reason": "expected an integer number of minor units, got string",
            "supplied": "not-a-number"
          }
        ],
        "rationale": [
          "Call MC-0005 issued 2026-07-31T10:00:00Z, currently funded, declared SLA 30 minute(s).",
          "Funded -60 minute(s) after issuance, within the 30-minute SLA.",
          "Declared timestamps are not chronologically consistent: confirmed_at precedes issued_at by 10 minute(s); funded_at precedes issued_at by 60 minute(s); funded_at precedes confirmed_at by 50 minute(s).",
          "This is a state/attestation fact over the timestamps supplied for this call. It does not itself implement any escalation workflow and the suggested gate route is informational only."
        ],
        "note": "Deterministic margin-call lifecycle attestation over caller-declared state timestamps and a caller-declared SLA window. It attests whether the call was funded within the CCP's own published timing rule -- issued -> confirmed -> funded, or issued -> disputed -> escalated -- rather than implementing any margin-call workflow itself."
      },
      "compliance_flags": [
        "MARGINCALL_SEQUENCE_INVALID",
        "MARGINCALL_FUNDED_WITHIN_SLA",
        "MARGINCALL_INPUTS_REJECTED"
      ],
      "golden_hash": "ff82295abcce2ed641d2ffd38e6212e2984f75a11a11dcf22ac8b839b5bdde4f"
    }
  ]
}
