{
  "schema": "task26-trainer-free-v1-acceptance-inventory-supersession-receipt-v1",
  "task": 26,
  "task_id": "st_01a0044a",
  "recorded_at_utc": "2026-08-15T07:26:26Z",
  "status": "PASS",
  "result": "PASS",
  "ready_state": "READY_FOR_TRAINER_FREE_BUNDLE_REBUILD",
  "scope": "Append-only evidence-only supersession that removes the contradictory historical migration implementation from v1 runtime roots while preserving and explicitly binding its required production absence. This is not a candidate reseal, Task26 PASS, or runtime authorization.",
  "supersedes": {
    "v1_inventory": {
      "path": ".omo/evidence/task26/task26-trainer-free-v1-acceptance-inventory.json",
      "sha256": "31f1118c224285e7ddf82c2901c3885a2eda105d882f763ed8c113cd909eb56f",
      "bytes": 23794,
      "mode": "0600",
      "schema": "task26-trainer-free-v1-acceptance-inventory-v1",
      "preserved_byte_for_byte": true
    },
    "v2_inventory": {
      "path": ".omo/evidence/task26/task26-trainer-free-v1-acceptance-inventory-v2.json",
      "sha256": "3ce7f5b93ac9265cd82bb18a04cbc4363efa7d08e16a2810835980aa0d69b4d8",
      "bytes": 24774,
      "mode": "0600",
      "schema": "task26-trainer-free-v1-acceptance-inventory-v2"
    }
  },
  "exact_json_diff": {
    "format": "RFC-6902-compatible operation list with old_value retained for remove auditability",
    "canonicalization": "UTF-8 JSON; sort_keys=true; separators=(\",\", \":\"); ensure_ascii=false",
    "sha256": "bc7348363b5820c68ad71794bf094ca101536013511ad8be3970f41510f956db",
    "operation_count": 4,
    "operations": [
      {
        "op": "replace",
        "path": "/schema",
        "value": "task26-trainer-free-v1-acceptance-inventory-v2"
      },
      {
        "op": "replace",
        "path": "/recorded_at_utc",
        "value": "2026-08-15T07:26:26Z"
      },
      {
        "op": "remove",
        "path": "/v1_runtime_closure/required_entry_roots/8",
        "old_value": "gateway/platforms/task23_portable_coach_successor.py"
      },
      {
        "op": "add",
        "path": "/v1_runtime_closure/required_absence_controls",
        "value": [
          {
            "id": "TFV1-LEGACY-RUNTIME-ABSENCE-001",
            "binding_test": "tests/gateway/test_trainer_free_v1_contract.py::test_legacy_runtime_modules_are_absent",
            "target": {
              "module": "gateway.platforms.task23_portable_coach_successor",
              "source_path": "gateway/platforms/task23_portable_coach_successor.py"
            },
            "required_zero_counts": {
              "source_file_count": 0,
              "import_spec_count": 0,
              "production_wheel_member_count": 0,
              "dynamic_import_count": 0,
              "handler_entrypoint_reference_count": 0
            },
            "enforcement": "The candidate-bound absence test and static candidate source, closure, production-wheel, dynamic-import, handler, entry-point, and reference checks must all keep this historical trainer-bearing migration implementation absent and import-inaccessible in production.",
            "failure_policy": "Any nonzero required count is a decisive trainer-free contract failure."
          }
        ]
      }
    ],
    "changed_json_pointers": [
      "/schema",
      "/recorded_at_utc",
      "/v1_runtime_closure/required_entry_roots/8",
      "/v1_runtime_closure/required_absence_controls"
    ],
    "semantic_change": {
      "removed_required_entry_root": "gateway/platforms/task23_portable_coach_successor.py",
      "required_absence_control": "TFV1-LEGACY-RUNTIME-ABSENCE-001",
      "statement": "The absence control formalizes the pre-existing candidate-bound test and historical exception policy; it does not permit a trainer-bearing production implementation."
    }
  },
  "contract_invariance": {
    "inverse_diff_restores_v1_exactly": true,
    "top_level_field_count_v1": 13,
    "top_level_field_count_v2": 13,
    "top_level_key_order_preserved": true,
    "v1_runtime_closure_field_count_v1": 5,
    "v1_runtime_closure_field_count_v2": 6,
    "v1_runtime_closure_key_order_v2": [
      "definition",
      "required_entry_roots",
      "required_absence_controls",
      "manifest_entry_required_keys",
      "manifest_entry_constraints",
      "historical_exception_policy"
    ],
    "required_entry_root_count_v1": 9,
    "required_entry_root_count_v2": 8,
    "required_entry_roots_preserve_v1_order_after_removal": true,
    "required_absence_control_count": 1,
    "candidate_checkpoint_required_field_count": 25,
    "checkpoint_execution_field_count_excluding_schema_and_status": 23,
    "candidate_checkpoint_required_fields_canonical_sha256": "9068f017d63340389c1909cd0dfcbc51d53bf11d9bcbe0aac70ebce42d7ff9b0",
    "candidate_checkpoint_required_values_canonical_sha256": "daefea96e08ff2575e00a3fbce4cdc567d8ac5af3ca7656e484f190392db677b",
    "candidate_checkpoint_contract_canonical_sha256_v1": "a91f3401c0052542303d393f983062b8ab01eb5a6ae5370348f918020a9b9f59",
    "candidate_checkpoint_contract_canonical_sha256_v2": "a91f3401c0052542303d393f983062b8ab01eb5a6ae5370348f918020a9b9f59",
    "candidate_checkpoint_contract_unchanged": true,
    "acceptance_gate_count_v1": 14,
    "acceptance_gate_count_v2": 14,
    "acceptance_gates_canonical_sha256_v1": "f6b83edbcb3c1f2d4ac338a737f2c271c9098c3866eb3521cb88f810985ec98a",
    "acceptance_gates_canonical_sha256_v2": "f6b83edbcb3c1f2d4ac338a737f2c271c9098c3866eb3521cb88f810985ec98a",
    "acceptance_gates_unchanged": true,
    "global_trainer_free_scan_unchanged": true,
    "required_reaudit_execution_unchanged": true
  },
  "candidate_653_pins": {
    "candidate_digest": "653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723",
    "candidate_manifest": {
      "path": ".omo/evidence/task26/task26-repaired-archive-successor-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/candidate-manifest.json",
      "sha256": "23b72148af7412b292555107c6b29616d9436c437871787763667c9fb62fca26",
      "mode": "0400"
    },
    "candidate_checkpoint": {
      "path": ".omo/evidence/task26/task26-repaired-archive-successor-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/candidate-checkpoint.json",
      "sha256": "6acc31bdf597dfb51151fb4c2cd76cb7da2ceb33579a8cd840490fbbfdbbd4be",
      "status": "SEALED_SUCCESSOR_CANDIDATE_NOT_TASK26_PASS",
      "wheel_sha256": "af4a9d0a1ffffb6eb7551c1d6dc2b32853ca6d024332a4f8f5702bbf992f141b"
    },
    "v1_runtime_closure_manifest": {
      "path": ".omo/evidence/task26/task26-trainer-free-successor-seal-input-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/v1-runtime-closure-manifest.json",
      "sha256": "ab3ab77babb27fbb4309aa483dbdb6c895c4950fa2d771111801b3bbbcddf6c4",
      "entry_count": 719,
      "candidate_manifest_sha256": "23b72148af7412b292555107c6b29616d9436c437871787763667c9fb62fca26"
    },
    "production_wheel": {
      "path": ".omo/evidence/task26/task26-repaired-archive-successor-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/artifacts/hermes_agent-0.17.0-py3-none-any.whl",
      "sha256": "af4a9d0a1ffffb6eb7551c1d6dc2b32853ca6d024332a4f8f5702bbf992f141b",
      "member_count": 860
    }
  },
  "contradictory_bundle_v2_fail_evidence": {
    "bundle_manifest": {
      "path": ".omo/evidence/task26/task26-trainer-free-successor-seal-input-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/bundle-manifest-v2-fail.json",
      "sha256": "59f3211f79822f8f3465c31362514fd97092b8d7979df0030083fca08c0d7bb5",
      "status": "FAIL",
      "source_candidate_digest": "653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723"
    },
    "checkpoint": {
      "path": ".omo/evidence/task26/task26-trainer-free-successor-seal-input-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/candidate-checkpoint-v2-fail.json",
      "sha256": "3560c62da4c49b4ebad8af40a2c1ef312bdb8e0482907c0e3118f1c685b1d50a",
      "status": "FAIL",
      "blocking_finding": "TFV1-CONTRACT-ROOT-ABSENCE-CONTRADICTION"
    },
    "reaudit_receipt": {
      "path": ".omo/evidence/task26/task26-trainer-free-successor-seal-input-653cc2f0b47873e95f985ea3eb32b8f2c044d6de64cd9e8fe37ebcec67c7a723/final-reaudit-receipt-v2-fail.json",
      "sha256": "2b685bc1ee49d56de486f1789997babb7f9ec64e192fb608b927fefb7dba6692",
      "status": "FAIL",
      "decisive_failure": "TFV1-CONTRACT-ROOT-ABSENCE-CONTRADICTION",
      "v1_inventory_sha256": "31f1118c224285e7ddf82c2901c3885a2eda105d882f763ed8c113cd909eb56f"
    }
  },
  "authoritative_source_test_absence_evidence": {
    "candidate_bound_test": {
      "path": ".omo/evidence/task26/task26-owner-customer-v1-candidate-v3/snapshot/worktree-status/tests/gateway/test_trainer_free_v1_contract.py",
      "node": "tests/gateway/test_trainer_free_v1_contract.py::test_legacy_runtime_modules_are_absent",
      "sha256": "c149bb1d8fc72479d51c53b7fd29b98f2f72432b1f97528ca750e118929e5a34",
      "matches_v2_fail_receipt_pin": true,
      "requires_module_absent_via_importlib_util_find_spec": true
    },
    "authoritative_source": {
      "root": "/home/cube/projects/richard/hermes-agent",
      "target_source_path": "gateway/platforms/task23_portable_coach_successor.py",
      "source_test_sha256": "c149bb1d8fc72479d51c53b7fd29b98f2f72432b1f97528ca750e118929e5a34",
      "source_test_matches_candidate_bound_pin": true,
      "pathfinder_lookup": "importlib.machinery.PathFinder.find_spec('task23_portable_coach_successor', [<source-root>/gateway/platforms])"
    },
    "observed_zero_counts": {
      "source_file_count": 0,
      "import_spec_count": 0,
      "production_wheel_member_count": 0,
      "dynamic_import_count": 0,
      "handler_entrypoint_reference_count": 0
    },
    "static_observations": {
      "closure_target_path_or_reason_count": 0,
      "candidate_manifest_target_string_count": 0,
      "wheel_target_raw_reference_count": 0,
      "wheel_dynamic_import_target_count": 0,
      "no_project_module_imported_or_executed": true
    },
    "historical_exception_policy_alignment": "Trainer-bearing historical migration implementation remains outside the v1 runtime closure, production imports, handlers, entry points, references, and wheel scaffolding."
  },
  "validation": {
    "v1_json_parse": true,
    "v2_json_parse": true,
    "receipt_json_serialized_before_write": true,
    "v1_sha256_stable_after_v2_write": true,
    "v2_sha256_matches_serialized_bytes": true,
    "v2_mode_is_0600": true,
    "canonical_diff_digest_matches": true,
    "all_required_absence_counts_are_zero": true,
    "contradiction_removed_without_weakening_trainer_free_enforcement": true
  },
  "non_actions": {
    "product_source_edits": 0,
    "test_edits": 0,
    "profile_mutations": 0,
    "runtime_actions": 0,
    "archive_mutations": 0,
    "candidate_mutations": 0,
    "service_actions": 0,
    "network_actions": 0,
    "telegram_actions": 0,
    "provider_actions": 0,
    "git_actions": 0,
    "test_executions": 0,
    "evidence_writes": 2
  },
  "cleanup": {
    "temporary_files_retained": 0,
    "atomic_write_temporary_files_removed_or_replaced": true,
    "services_started": 0,
    "network_connections_started": 0,
    "statement": "Only the append-only v2 inventory and this 0600 receipt were created."
  }
}
