{
  "schema": "task26-final-provenance-recovered-snapshot-v1",
  "recorded_at_utc": "2026-08-14T09:12:17Z",
  "verdict": "FAIL",
  "verdict_scope": "Final Task26 provenance/release-readiness adjudication for the recovered immutable snapshot only. This is not an authoritative candidate PASS and does not start Task27.",
  "candidate": {
    "recovered_snapshot_digest": "e880717efeb8c56b81fe80454263f4b8b25f6aec7f4c3c01e2a6d03f159c59ed",
    "snapshot_manifest_sha256": "c9fdac787b46ad1575de4300bb3aacba28901eb1821459972721e1efc84e689b",
    "source_candidate_digest": "96e1a264fedca02b6fd47417fea08d5f1df617f9fe1448cc050b055c4d8c678e",
    "source_candidate_manifest_sha256": "30c9655d89a62da6a7ccb4cb4b2097599873db709bd43705986e5472f9bd91de",
    "v3_checkpoint": {
      "path": ".omo/evidence/task26/task26-owner-v1-recovery-readiness-checkpoint-v3.redacted.json",
      "sha256": "13143e28934a331a671bc89cadd6cdf05848e676bd58ef093f92d4a1ae940b0c",
      "bytes": 2353,
      "mode": "0600"
    },
    "snapshot_manifest": {
      "sha256": "c9fdac787b46ad1575de4300bb3aacba28901eb1821459972721e1efc84e689b",
      "entry_count": 37,
      "mode": "0400",
      "snapshot_root_mode": "0500"
    }
  },
  "authenticated_passes": {
    "snapshot_pre_and_post_lane_manifest_authentication": "PASS",
    "path_persistence": "PASS: recovered snapshot root and all 37 committed leaves persisted across verification",
    "posix_read_only_permissions": "PASS: root/snapshot directories 0500, leaves 0400, verifier 0500, no symlinks",
    "candidate_manifest_source_bytes": "PASS: all 28 candidate leaves match the sealed byte commitments",
    "wheel_source_members": "PASS: all runtime source modules equal their 11 sealed wheel members",
    "installed_entrypoint": "PASS: offline installed wheel returned draft_created against a disposable fixture copy",
    "fixture_successor_derivation": "PASS: archived successor projection deterministically reproduced successor-records.json",
    "runtime_closure": "PASS: no forbidden tokens or unexpected dynamic project modules",
    "test_execution": "PASS_WITH_QUALITY_FAILURE: 23 focused tests and 2 Task24 integration tests passed in a byte-identical disposable snapshot copy; compileall and ty exited 0",
    "task22_to_task25_and_adverse_integrity": "58 of 59 declared Task22-25/adverse/archive references match their retained byte and mode commitments"
  },
  "blocking_findings": [
    {
      "code": "QUALITY_GATE_RUFF_FAIL",
      "severity": "blocking",
      "detail": "The recovered candidate fails its declared ruff lane: F401 unused typing.Mapping import in owner_v1/src/hermes_owner_v1/contracts.py:7. Its copied verification program therefore exits nonzero rather than publishing a clean verification result."
    },
    {
      "code": "TASK24_TASK25_ADVERSE_CONTROL_MODE_DRIFT",
      "severity": "blocking",
      "detail": "The retained Task24/Task25 final-candidate manifest declares .omo/evidence/task26/verify-task24-task25-final-candidate.py mode 0700, but the current artifact mode is 0600. Its bytes match; its declared permission binding does not."
    },
    {
      "code": "FIVE_LANE_PASS_GATE_UNMET",
      "severity": "blocking",
      "detail": "The v3 checkpoint is only READY_FOR_TASK26_SECURITY_READONLY_REAUDIT. The retained candidate quality, hands-on, and security receipts are FAIL/SECURITY_REPAIR_FAIL, and the objective, quality, security, hands-on, and provenance task records remain running. The plan requires every named lane PASS before Task26 can PASS."
    },
    {
      "code": "HANDOFF_LEDGER_V3_RECONCILIATION_MISSING",
      "severity": "blocking",
      "detail": "The handoff and latest Task26 ledger event retain the v2 candidate-unavailable NO-GO state, contain neither the e880 snapshot digest nor c9fd manifest hash, and the ledger-referenced handoff SHA-256 differs from the current handoff bytes."
    },
    {
      "code": "HISTORICAL_TASK22_TO_TASK25_NOT_E880_EXECUTION_ATTESTATION",
      "severity": "blocking",
      "detail": "Historical Task22-25 and adverse evidence is integrity-retained only. It was not rerun as the lifecycle execution of recovered snapshot e880 and cannot be upgraded to candidate-bound release proof."
    }
  ],
  "atomic_graph_decision": {
    "authoritative_graph_created": false,
    "reason": "Fail-closed: quality, evidence-permission, all-lane, reconciliation, and candidate-bound lifecycle gates are not all PASS.",
    "v3_graph_path": ".omo/evidence/task26/task26-owner-v1-v3-immutable-candidate-graph.json"
  },
  "handoff_ledger_observation": {
    "handoff_overall_state": "NO-GO; Task27 must not start",
    "current_handoff_sha256": "1bd012f9e8db4970a1c2b6fdc3297ff2fd354908ddbe3ab895dcc4828e34da06",
    "latest_task26_ledger_event": "provenance-reseal-candidate-unavailable",
    "latest_task26_ledger_verdict": "NO-GO",
    "ledger_record_count": 89
  },
  "non_actions": {
    "candidate_snapshot_moves_or_deletions": 0,
    "candidate_snapshot_writes": 0,
    "git_actions": 0,
    "task27_actions": 0,
    "live_profile_service_telegram_provider_delivery_actions": 0,
    "network_actions": 0
  },
  "redaction": "No customer prose, model output, raw callback data, route identifiers, credentials, or live-profile payloads are included.",
  "mode_required": "0600",
  "receipt_digest": "ca53b7754032c8eb6f6a4f715690bb92741ffb7ea2b85dab3518fd6400854ce5"
}
