{
  "verifiedAt": "2026-09-29T12:35:04.908Z",
  "scope": "Actual local validation/effect-helper source; synthetic fixtures, stubbed persistence/provider; no network, model generation, database or sends.",
  "documents": [
    {
      "case": "An allowed body change",
      "result": "accepted"
    },
    {
      "case": "A changed destination",
      "result": "rejected"
    },
    {
      "case": "Extra text after the fixed ending",
      "result": "rejected"
    },
    {
      "case": "An unsupported claim inside the allowed region",
      "result": "accepted"
    }
  ],
  "recovery": [
    {
      "case": "Stopped before dispatch; resumed",
      "providerCalls": 1,
      "outcome": "executed"
    },
    {
      "case": "Accepted result; failed caller checkpoint; retried",
      "providerCalls": 1,
      "outcome": "reused false result"
    },
    {
      "case": "Dispatched; response lost; three retries",
      "providerCalls": 1,
      "outcome": "blocked"
    },
    {
      "case": "Inputs changed after acceptance",
      "providerCalls": 1,
      "outcome": "blocked"
    },
    {
      "case": "Later occurrence of the same step",
      "providerCalls": 2,
      "outcome": "separate result"
    }
  ],
  "limitations": [
    "Synthetic, hand-authored candidate emails; no claim about model quality.",
    "Recovery checks inject exceptions with in-memory persistence and a fake provider; they do not test database locks, process crashes, delivery or production reliability.",
    "The downloadable JavaScript is a teaching model, not the production implementation."
  ]
}
