{
  "schema": 1,
  "synthetic": true,
  "live_provider_calls": 0,
  "customer_results_claimed": false,
  "scenarios": [
    {
      "id": "duplicate",
      "title": "Repeated signup delivery",
      "before": {
        "contacts": 1,
        "welcome_messages": 2
      },
      "after": {
        "contacts": 1,
        "welcome_messages": 1
      },
      "states": [
        "confirmed",
        "confirmed"
      ],
      "passed": true
    },
    {
      "id": "lost_reply",
      "title": "Provider accepts, then response is lost",
      "before": {
        "contacts": 1,
        "welcome_messages": 2
      },
      "after": {
        "contacts": 1,
        "welcome_messages": 1
      },
      "states": [
        "needs_reconciliation",
        "needs_reconciliation"
      ],
      "passed": true
    },
    {
      "id": "partial",
      "title": "Restart after contact commit",
      "after": {
        "contacts": 1,
        "welcome_messages": 1
      },
      "states": [
        "confirmed"
      ],
      "passed": true
    },
    {
      "id": "no_consent",
      "title": "No consent",
      "after": {
        "contacts": 1,
        "welcome_messages": 0
      },
      "states": [
        "suppressed"
      ],
      "passed": true
    },
    {
      "id": "existing_opt_out",
      "title": "Existing unsubscribe preserved",
      "after": {
        "contacts": 1,
        "welcome_messages": 0
      },
      "states": [
        "suppressed"
      ],
      "passed": true
    },
    {
      "id": "conflict",
      "title": "Same event ID, different recipient",
      "after": {
        "contacts": 1,
        "welcome_messages": 1
      },
      "states": [
        "conflict_rejected"
      ],
      "passed": true
    },
    {
      "id": "reserved",
      "title": "Interruption before provider invocation",
      "after": {
        "contacts": 1,
        "welcome_messages": 0
      },
      "states": [
        "needs_reconciliation"
      ],
      "passed": true
    },
    {
      "id": "concurrent",
      "title": "Eight concurrent form events, one welcome journey",
      "after": {
        "contacts": 1,
        "welcome_messages": 1
      },
      "states": [
        "confirmed",
        "needs_reconciliation",
        "needs_reconciliation",
        "confirmed",
        "confirmed",
        "needs_reconciliation",
        "needs_reconciliation",
        "needs_reconciliation"
      ],
      "passed": true
    }
  ],
  "limitations": [
    "Local SQLite simulation; no WordPress, Make, Brevo or real email is exercised.",
    "Persistent at-most-once invocation is not an exactly-once delivery guarantee.",
    "An uncertain outcome stays visible and blocked, including a possible unsent message.",
    "Provider reconciliation, authenticated account isolation, encryption, retention and verified consent adapters are required for production.",
    "The inherited guard's ceiling is a synthetic placeholder of one micro-unit; no money is spent."
  ],
  "source_package": {
    "url": "/integration-proof.zip",
    "sha256": "be4a781b56f1d236eb33d7505159c3b5dabc3279e10dd2e0894f54cc6bac50e4",
    "files": [
      {
        "name": "README.md",
        "sha256": "c0c570b56e9373a9ab57649db2c27e61bab1dedc367f341c04bb1041420cece8"
      },
      {
        "name": "operation_guard.py",
        "sha256": "a5f5a6f151da5b531ccbfe093a77a6fd7de68f7e0bc97c30a8dbfc02bd199570"
      },
      {
        "name": "test_operation_guard.py",
        "sha256": "fa029806097522245037f43da405f3375c0126a36624fe016aaf4cc3e1da451c"
      },
      {
        "name": "test_webhook_proof.py",
        "sha256": "be63fdadf4671a5ca461cfd2ed91968fe2de950677e3fe7b0b1d256543d028f1"
      },
      {
        "name": "webhook_proof.py",
        "sha256": "a571023f6c2c15bf7f3fe5959875962812cbd094d7cf4e21989da0649a038d71"
      }
    ]
  }
}
