{
  "schema": "task26-trainer-free-final-v1-review-v1",
  "task": 26,
  "task_id": "st_01a00437",
  "parent_session": "01a00387-aaf8-7f2f-89e3-e24c1af24859",
  "recorded_at_utc": "2026-08-15T07:03:04Z",
  "scope": "Offline, read-only final owner/operator-only and trainer-free v1 review of immutable candidate 653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723. This receipt is not a Task26 PASS or release authorization.",
  "verdict": "FAIL",
  "release_authorized": false,
  "candidate": {
    "full_candidate_digest": "653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723",
    "core_candidate_digest": "a03f84f7db67afe0ace8d31541dd373852af052fbb1a23a8e70dd96c6263f5ef",
    "manifest_sha256": "23b72148af7412b292555107c6b29616d9436c437871787763667c9fb62fca26",
    "checkpoint_sha256": "6acc31bdf597dfb51151fb4c2cd76cb7da2ceb33579a8cd840490fbbfdbbd4be",
    "checkpoint_status": "SEALED_SUCCESSOR_CANDIDATE_NOT_TASK26_PASS",
    "wheel_sha256": "af4a9d0a1ffffb6eb7551c1d6dc2b32853ca6d024332a4f8f5702bbf992f141b",
    "repository_status_sha256": "ca1ce2705c0c406f30461e5f05e8d09468dee33348960c3650b6b98758895478",
    "repository_status_entry_count": 1294,
    "executable_closure_sha256": "c3e443f0e3a14ac7a786c15e2d5aff4d368581f3e868e12ebae356adb3354380",
    "executable_closure_entries_sha256": "7d7fb32d5fa89326c34b17af4ea00f8888f36571ed2d4c5a1027fc3e01d986dd",
    "executable_closure_entry_count": 2374,
    "exact_source_delta_sha256": "f3820c5f2dc5ec7170b53966bb3f84e71865f69252711128c98de92658a71355",
    "predecessor_full_digest": "3b42723d0e8256351defdf31958f9ade795f80a7be456529740949c87875d527",
    "verification": {
      "immutable_candidate_verifier": "PASS",
      "current_source_missing_count": 0,
      "current_source_unsafe_count": 0,
      "current_source_hash_mismatch_count": 0,
      "status_pre_post_identical": true,
      "historical_execution_retargeted_to_successor": false
    }
  },
  "production_trainer_free_static_review": {
    "verdict": "PASS_FOR_STATIC_PRODUCTION_SURFACE_ONLY",
    "method": "Case-insensitive scan of every UTF-8 production-wheel entry for the acceptance inventory forbidden trainer markers, claims, callbacks, namespaces, Korean markers, and historical archive/migration identifiers.",
    "wheel_zip_entry_count": 860,
    "wheel_utf8_entry_count": 840,
    "trainer_path_or_content_hit_count": 0,
    "trainer_hits_sha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
    "historical_archive_or_trainer_migration_runtime_hit_count": 0,
    "historical_archive_or_trainer_migration_hits_sha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
    "source_closure_integrity": "all 2374 entries were present, regular non-symlinks, and hash-equal to the candidate closure",
    "owner_operator_authority_static_evidence": {
      "bootstrap_role_members": ["customer"],
      "onboarding_callback_route_roles": ["customer", "owner"],
      "unknown_callback_or_action": "rejected before route validation, membership lookup, durable mutation, or publication",
      "owner_actions": ["owner_ok", "op_rev", "op_rej", "op_hold"],
      "owner_action_route": "owner",
      "owner_callback_receipt_requires_publication_role": "owner",
      "unsupported_route_role": "raises before route resolution",
      "safety_hold_card_role": "owner",
      "trainer_role_or_route_in_production_wheel": false
    }
  },
  "test_and_historical_material": {
    "candidate_source_test_files_with_forbidden_trainer_literals": [
      {"path": "tests/gateway/test_nutrition_coaching.py", "sha256": "bb33892ec026e9d5c25e1e485a93f6bf1a777f556b7df6fc20e00b54872788ab", "match_count": 26},
      {"path": "tests/gateway/test_telegram_group_gating.py", "sha256": "c1a79b30db8b13bf4d1311dbbfd72b0a447ec6956d337f6e76b87959e7206f83", "match_count": 1},
      {"path": "tests/gateway/test_telegram_nutrition_onboarding.py", "sha256": "6388b04c09b58a2287f23b4849ee5b32ab0f7f1176e5ecf5eee281283ed76a96", "match_count": 8},
      {"path": "tests/gateway/test_telegram_nutrition_onboarding_callback_observability.py", "sha256": "3bd1a779bf2c2866d34718cbe8aed9aadb811ed569a33eef257dce2b286c2907", "match_count": 8},
      {"path": "tests/gateway/test_telegram_nutrition_onboarding_direct_entry.py", "sha256": "8500f3e7a60550ba06e93cbe5baa543a0e97980eb80a7e62ba7b21efcfb748cb", "match_count": 3},
      {"path": "tests/gateway/test_trainer_free_v1_contract.py", "sha256": "c149bb1d8fc72479d51c53b7fd29b98f2f72432b1f97528ca750e118929e5a34", "match_count": 28}
    ],
    "candidate_source_test_literal_match_count": 74,
    "classification": "The literals are confined to tests, are absent from the production wheel, and inspected cases assert removal, unsupported-role rejection, or historical-callback rejection. They are not production-behavior evidence and cannot waive a missing candidate-bound acceptance checkpoint.",
    "historical_archive": {
      "archive_id": "2009ac177177839cefddb98f285e27fa",
      "archive_digest": "644d74b05bc8115f9e3aeeba035188da195a7de18f1bc737648931d64bf43bcf",
      "archive_binding_sha256": "b6f459adaad944cd61bde7feb8bebcb6faa64b49c55a087117f74b3185bd3613",
      "classification": "historical_compatibility_and_provenance_evidence_only",
      "retargeted_to_candidate_execution": false,
      "current_profile_historical_trainer_named_leaf_count": 17,
      "current_profile_historical_retention_is_outside_active_scope": true
    },
    "task22_25_reconciliation_index_sha256": "7594fcfc41fc7f344791436f630a6b6ebc6e5fac1b6adf74126ca9845f29db2f",
    "task22_25_indexes_sha256": "419511b6fadb7920e155dcd5b57d20661d750a989ef0912e9ddf1bfbc0cb0abe"
  },
  "migration_and_receipt_integrity": {
    "task22": {
      "canonical_index_sha256": "cc4ac1264d947226f0e2ebfdd2f3845781d48ab298a71ae96c09517eecb26309",
      "canonical_permission_receipt_sha256": "53f9ce837b4e45fc5ef5a08c40345ee70f6dd6c7bfed5e4c39ae6af3e194290a",
      "evidence_ancestor_mode": "0700",
      "canonical_mode_mismatches": 0,
      "indexed_digest_mismatches": 0,
      "referenced_child_mode_histogram": {"0400": 1, "0444": 2}
    },
    "task23_25_indexes": {
      "task23_sha256": "86b72c4c21b9f1113cb34e81b293e93ed7df7ac1388d3d1b31d9dc01dca3987a",
      "task24_sha256": "4df0f8712887f2125e100ba8d7585914b7b8810a298c37f9a32584b31fabe04d",
      "task25_sha256": "c3c40ff9406dbb2609ee7ef89be2fdc20fa139064b5d65e494c6efc8b2a80ed2",
      "classification": "historical-only; no live action is retargeted to this successor"
    },
    "trainer_free_successor_projection": {
      "manifest_sha256": "1b2e2e46d3519c114811f1827ea0dd3bd17d21c28ec07bb6ca37cf486222c88e",
      "active_projection_sha256": "8796f6fcb744eb00b6af8c1bb7e1daf598197db82ef2c4acd72e332e18f9e05b",
      "migration_receipt_sha256": "32e2dd530a9d6e37e9075684ebb89cb2a079a7890fba381f6ceb80ded2782458",
      "manifest_entry_mismatch_count": 0,
      "active_v1_trainer_hit_count": 0,
      "record_count": 3
    }
  },
  "gate19_and_prior_evidence": {
    "gate19_matrix_sha256": "ec319ee060d942722c3bdd93b616cbe79186cd35302f78051591761227699dc6",
    "gate19_receipt_sha256": "00bdaf0186437e9b93ca9fe2badd3f6a4db5fd8c4cf5b69c66135bb7245fd688",
    "gate19_candidate_digest": "653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723",
    "gate19_status": "PASS",
    "gate19_required_nodes_passed": 120,
    "gate19_errors": 0,
    "gate19_failed": 0,
    "gate20_receipt_sha256": "643970f32ef2f1e841ff2a43b28270e8ec539033026f832303955209f392d541",
    "gate20_historical_full_gateway_result": "8138 passed, 59 skipped, 0 failed",
    "limitation": "These candidate-bound receipts support source stability and prior regression coverage; they do not supply the required trainer-free v1 checkpoint or authorize a Task26 PASS."
  },
  "current_clean_profile_observation": {
    "profile": "dualcoachtest",
    "active_scope_tree_sha256": "ae6002556569d79c805ae0f9f0d96bbd27b289500446c556c832f0f48761140d",
    "active_scope_regular_file_count": 15,
    "active_scope_unsafe_count": 0,
    "active_scope_trainer_match_count": 0,
    "absent_clean_paths": ["data/customer-activation-journal.json", "data/customer-activation-audit.jsonl"],
    "registry_customer_count": 0,
    "registry_enabled_customer_count": 0,
    "outbox_ledger_count": 0,
    "outbox_emergency_count": 0,
    "cron_job_count": 0,
    "gateway_state": "stopped",
    "gateway_pid": 4091167,
    "gateway_pid_live": false,
    "gateway_active_agents": 0,
    "gateway_restart_requested": false,
    "task25_clean_profile_required_gateway_state": "inactive/dead",
    "task25_clean_profile_required_pid": 0
  },
  "decisive_failures": [
    {
      "code": "TFV1-CHECKPOINT-MISSING",
      "finding": "The acceptance inventory remains FAIL with checkpoint_observed=false. Candidate 653's checkpoint has status SEALED_SUCCESSOR_CANDIDATE_NOT_TASK26_PASS rather than READY_FOR_TASK26_SECURITY_READONLY_REAUDIT and lacks 23 required trainer-free checkpoint fields, including migration, immutable-fixture, verification, and Task22-permission bindings.",
      "inventory_sha256": "31f1118c224285e7ddf82c2901c3885a2eda105d882f763ed8c113cd909eb56f",
      "missing_required_field_count": 23
    },
    {
      "code": "TFV1-REQUIRED-REAUDIT-INCONCLUSIVE",
      "finding": "No candidate-653-bound trainer-free v1 acceptance execution receipt establishes all required validator, callback, fixture, real-handler integration, and regression gates. Under the supplied fail-closed rule, static wheel absence and historical Gate19/Gate20 evidence cannot fill that missing evidence."
    },
    {
      "code": "TFV1-CLEANUP-DRIFT",
      "finding": "The directly observed active profile has zero active customer, delivery, outbox, or cron work and no trainer marker, but its gateway metadata is stopped with a nonzero stale PID rather than Task25's required inactive/dead state and PID 0. The referenced PID is not live; the cleanup record is nevertheless not clean by the exact Task25 contract.",
      "gateway_state_sha256": "82d467407a1a0041543686c7c1ad7f3932ccfac26411245e83ffaa1ebb4e1c45"
    }
  ],
  "drift": {
    "candidate_source_or_wheel_drift": false,
    "candidate_status_snapshot_drift": false,
    "historical_archive_retarget_drift": false,
    "active_profile_trainer_data_drift": false,
    "active_profile_cleanup_metadata_drift": true,
    "superseded_or_historical_trainer_artifacts_promoted_to_v1": false
  },
  "cleanup": {
    "performed": false,
    "reason": "This task permits only offline read-only review and receipt creation.",
    "required_before_any_future_pass": [
      "Perform an authorized cleanup/reconciliation that restores the profile to gateway_state inactive/dead with PID 0, then independently verify it.",
      "Create and authenticate a candidate-653-successor trainer-free v1 checkpoint containing every required migration, immutable fixture, verification, and Task22 permission binding.",
      "Run and bind the required offline trainer-free validator, callback, CAS, fixture, and real-handler integration gates to that successor; do not promote historical or superseded receipts."
    ]
  },
  "non_actions": {
    "source_edits": 0,
    "test_edits": 0,
    "profile_mutations": 0,
    "runtime_actions": 0,
    "archive_actions": 0,
    "service_actions": 0,
    "network_actions": 0,
    "telegram_actions": 0,
    "provider_actions": 0,
    "git_actions": 0,
    "new_test_executions": 0,
    "receipt_writes": 1
  }
}
