{
  "experiment": {
    "date": "2026-10-12",
    "scenarios": 10,
    "repetitionsPerScenario": 5,
    "totalRuns": 50,
    "allRunsClassified": "observed",
    "environment": {
      "hardware": "Apple M5",
      "memoryGB": 24,
      "os": "macOS Darwin 27.0",
      "node": "v26.0.0",
      "storage": "local libSQL file",
      "leaseMs": 4000,
      "heartbeatApproxMs": 1333,
      "maxRetries": 1,
      "taskTimeoutMs": 60000
    },
    "resultDefinition": {
      "requests": "HTTP requests received by the synthetic destination",
      "effects": "unique effects accepted by the synthetic destination; idempotency keys are enforced there",
      "rawPerRunLogsIncluded": false
    }
  },
  "scenarios": [
    {"id":"S1","adapter":"@mastra/libsql@1.24.0","description":"single-worker control","runs":5,"requestsPerRun":[1,1,1,1,1],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["A"],"ownersPersisted":["A"],"bStartedWhileAAlive":false,"takeoverMs":null},
    {"id":"S2","adapter":"@mastra/libsql@1.24.0","description":"B starts while A runs a 9-second task","runs":5,"requestsPerRun":[1,1,1,1,1],"effectsPerRun":[1,1,1,1,1],"leaseRenewalsByA":6,"bStartedWhileAAlive":false,"takeoverMs":null},
    {"id":"S3","adapter":"@mastra/libsql@1.24.0","description":"SIGKILL A before sending","runs":5,"requestsPerRun":[1,1,1,1,1],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["B"],"ownersPersisted":["A","B"],"bStartedWhileAAlive":false,"takeoverMs":{"min":4291,"median":4299,"max":4371}},
    {"id":"S4","adapter":"@mastra/libsql@1.24.0","description":"SIGKILL A after receiver acceptance; no idempotency key","runs":5,"requestsPerRun":[2,2,2,2,2],"effectsPerRun":[2,2,2,2,2],"storedResultFrom":["B"],"ownersPersisted":["A","B"],"bStartedWhileAAlive":false,"takeoverMs":{"min":3979,"median":3983,"max":4007}},
    {"id":"S5","adapter":"@mastra/libsql@1.24.0","description":"same crash boundary with Idempotency-Key equal to operationId","runs":5,"requestsPerRun":[2,2,2,2,2],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["B"],"ownersPersisted":["A","B"],"bStartedWhileAAlive":false,"takeoverMs":{"min":3980,"median":3986,"max":4005}},
    {"id":"S6","adapter":"@mastra/libsql@1.24.0","description":"freeze A after acceptance, let B finish, then resume A","runs":5,"requestsPerRun":[2,2,2,2,2],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["B"],"ownersPersisted":["A","B"],"bStartedWhileAAlive":false,"takeoverMs":{"min":3975,"median":3978,"max":3985}},
    {"id":"S7","adapter":"@mastra/libsql@1.24.0","description":"SIGTERM A after task start","runs":5,"requestsPerRun":[1,1,1,1,1],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["B"],"ownersPersisted":["B"],"bStartedWhileAAlive":false,"takeoverMs":{"min":281,"median":284,"max":285}},
    {"id":"P1","adapter":"@mastra/libsql@1.23.3","description":"B starts while A runs; idempotency key enabled","runs":5,"requestsPerRun":[2,2,2,2,2],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["A"],"ownersPersisted":["none"],"bStartedWhileAAlive":true,"takeoverMs":null},
    {"id":"P2","adapter":"@mastra/libsql@1.23.3","description":"stale-owner case with idempotency key","runs":5,"requestsPerRun":[2,2,2,2,2],"effectsPerRun":[1,1,1,1,1],"storedResultFrom":["B"],"ownersPersisted":["none"],"bStartedWhileAAlive":true,"takeoverMs":null},
    {"id":"P3","adapter":"@mastra/libsql@1.23.3","description":"B starts while A runs; no key and no crash","runs":5,"requestsPerRun":[2,2,2,2,2],"effectsPerRun":[2,2,2,2,2],"storedResultFrom":["A"],"ownersPersisted":["none"],"bStartedWhileAAlive":true,"takeoverMs":null}
  ],
  "limits": [
    "One local libSQL adapter and one synthetic HTTP destination.",
    "One Apple M5 machine and five repetitions per scenario; not a production rate estimate.",
    "No real email, external provider, model inference, durable-agent recovery, or multi-host test.",
    "The synthetic receiver implements the idempotency behavior being measured."
  ]
}
