{
  "candidate_artifacts": [
    {
      "path": ".omo/evidence/task26/dualcoach-provider-auth-candidate-5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1/candidate-manifest.json",
      "sha256": "0422f192d187738dc5ff1faaf7dcfbc92c51b30c2d21b12c10438674d801dc08"
    },
    {
      "inventory_verdict": "FAIL",
      "path": ".omo/evidence/task26/task26-trainer-free-v1-acceptance-inventory.json",
      "sha256": "31f1118c224285e7ddf82c2901c3885a2eda105d882f763ed8c113cd909eb56f"
    }
  ],
  "candidate_drift": {
    "detected": true,
    "kind": "post-launch owner-review source repair",
    "repair_contract": "arm and launch fail closed unless exactly one committed owner_review projection is bound to an AWAITING_ACTIVATION bootstrap session",
    "repair_receipt_declares_candidate_invalidated": true,
    "repaired_controller_sha256": "b303634599c17e2f35339f964b2277c1a236f42c0ad5f3e4be18d3f38e556e13",
    "sealed_candidate_controller_sha256": "76212d9caae866d7c5f567ff0f7a2332b70676d38e53091126fbf27048c4704dbd"
  },
  "candidate_full_digest": "5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1",
  "cleanup": {
    "performed": false,
    "reason": "No cleanup is authorized or needed for a sealed candidate NO-GO review.",
    "recorded_state_from_verified_repair_receipt": "service inactive/dead; candidate and lifecycle unchanged; protected state unchanged"
  },
  "decisive_failure": {
    "code": "CANDIDATE_INVALIDATED_AND_HUMAN_WINDOW_EXPIRED",
    "reason": "The candidate-bound post-launch repair explicitly invalidates this candidate; the only replacement invite was recorded as PREPARED with an expiry on 2026-08-14 and the supersession receipt is terminal SUPERSEDED. This candidate cannot receive a Task26 PASS."
  },
  "final_finding": "FAIL/NO-GO: do not re-arm, activate, launch, invite, claim, publish, or issue a Task26 PASS for candidate 5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1.",
  "invite_window": {
    "activation_count": 0,
    "conclusion": "No valid prepared invite or owner-review card remains for this candidate.",
    "delivery_count": 0,
    "expiry_receipt_status": "SUPERSEDED",
    "owner_review_count": 0,
    "publication_count": 0,
    "replacement_expires_at": "2026-08-14T17:18:04.512968+00:00",
    "replacement_state": "PREPARED",
    "status": "EXPIRED_SUPERSEDED"
  },
  "non_touch": {
    "git_commits_pushes_releases": 0,
    "network_or_provider_actions": 0,
    "only_write": "/home/cube/projects/richard/traning coach/.omo/evidence/task26/task26-trainer-free-final-5e6f2f2a.redacted.json",
    "product_source_edits": 0,
    "profile_mutations": 0,
    "runtime_or_service_actions": 0,
    "test_suites_run": 0
  },
  "offline_read_only_verification": {
    "commands": [
      "bwrap --unshare-net --ro-bind / / --proc /proc --dev /dev --tmpfs /tmp --chdir '$PWD' /usr/bin/env -i PATH=/usr/bin:/bin LC_ALL=C TZ=UTC bash -c 'sha256sum -c repair-receipt.json.sha256; sha256sum -c expiry-supersession-receipt.json.sha256; sha256sum <receipt and candidate artifact paths>'",
      "bwrap --unshare-net --ro-bind / / --proc /proc --dev /dev --tmpfs /tmp --chdir '$PWD' /usr/bin/env -i PATH=/usr/bin:/bin LC_ALL=C TZ=UTC bash -c 'stat -c %a\\ %F\\ %n <evidence paths>; test ! -e .omo/evidence/task26/task26-trainer-free-final-5e6f2f2a.redacted.json'"
    ],
    "filesystem_mode": "root read-only bind",
    "network_denial": "bubblewrap --unshare-net",
    "results": {
      "evidence_directory_mode": "0700",
      "expiry_sidecar": "OK",
      "network_namespace": "unshared",
      "repair_sidecar": "OK",
      "source_receipt_modes": [
        "0600",
        "0600"
      ],
      "target_preexistence": "ABSENT",
      "task26_directory_mode": "0700"
    }
  },
  "recorded_at_utc": "2026-08-15T03:56:15Z",
  "schema": "task26-trainer-free-final-no-go-v1",
  "status": "FAIL",
  "task_id": "st_01a00390",
  "trainer_free_scope_disposition": {
    "historical_trainer_evidence": "Not used as v1 production proof. The inspected invite receipt labels the candidate window SUPERSEDED; no historical trainer evidence is promoted to active behavior.",
    "production_trainer_marker_claim_invite_card_route_data_access_review_readiness_activation_safety_hold_assessment": "NOT_RUN_AFTER_DECISIVE_NO_GO",
    "reason_not_run": "The authority update required receipt-first review and no unnecessary tests or runtime actions once invalidation and expiry were confirmed. A decisive candidate invalidation makes a PASS impossible; unrun acceptance branches remain non-passing rather than inferred."
  },
  "verdict": "NO-GO",
  "verified_receipts": [
    {
      "path": ".omo/evidence/task26/task26-post-launch-owner-review-repair-5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1/repair-receipt.json",
      "sha256": "17fd0654060371b75e1673cb634ffbbbc3630c24913ab8377962b78bb0818200",
      "sidecar_path": ".omo/evidence/task26/task26-post-launch-owner-review-repair-5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1/repair-receipt.json.sha256",
      "sidecar_sha256_verified": true
    },
    {
      "path": ".omo/evidence/task26/task26-canonical-invite-supersession-5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1/expiry-supersession-receipt.json",
      "sha256": "361d093f4b5c49cf73d2f77c2835292bd35910c88a08b3202b06c247cf2458c1",
      "sidecar_path": ".omo/evidence/task26/task26-canonical-invite-supersession-5e6f2f2a01321ac89c2950e511e7346d23070c51146c14c22c04db54034b28f1/expiry-supersession-receipt.json.sha256",
      "sidecar_sha256_verified": true
    }
  ]
}
