{
  "suite": "agentproof.permit_commit_recheck/1",
  "tested_at": "2026-09-25T04:52:06.728Z",
  "scope": "Isolated, database-backed test of a two-level delegation and one-time execution permit. The ancestor changes after permit issue and before consumption.",
  "runner": "POST /api/admin/conformance/permit-ancestor-recheck",
  "runner_access": "admin",
  "implementation": "Uses issueExecutionPermit and consumeExecutionPermit, the same consume function as POST /api/permits/consume. Each fixture inserts unique authority records and removes them after validation.",
  "passed": 3,
  "total": 3,
  "results": [
    {
      "name": "live_chain_allows_once",
      "transition": "active ancestor + active child -> issue permit -> consume",
      "expected_http_status": 200,
      "actual_http_status": 200,
      "consumed": true,
      "pass": true
    },
    {
      "name": "ancestor_revoked_after_issue",
      "transition": "active ancestor + active child -> issue permit -> revoke ancestor -> consume",
      "expected_http_status": 409,
      "actual_http_status": 409,
      "expected_error": "authority_revoked_before_commit",
      "actual_error": "authority_revoked_before_commit",
      "consumed": false,
      "pass": true
    },
    {
      "name": "ancestor_reduced_after_issue",
      "transition": "active ancestor + active child -> issue permit -> reduce ancestor and change delegation digest -> consume",
      "expected_http_status": 409,
      "actual_http_status": 409,
      "expected_error": "authority_digest_changed_at_commit",
      "actual_error": "authority_digest_changed_at_commit",
      "consumed": false,
      "pass": true
    }
  ],
  "limitations": [
    "A recorded test run, not a continuously refreshed result. The admin runner can recheck the fixture.",
    "The test covers changes completed before consumption, not a simultaneous revocation/consumption race.",
    "No real payment was exercised."
  ]
}