{
  "authoritative_absence": {
    "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/live-authorization-v15/nutricoach-v150-v15-runtime-authority-r71b-maintenance": true,
    "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/live-executions-v15/nutricoach-v150-v15-runtime-authority-r71b-maintenance": true,
    "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/live-transaction-preseal-v15-runtime-authority-r71b-maintenance": true,
    "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/observer-r71": true,
    "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/preflight-v15-runtime-authority-r71b-maintenance": true,
    "/home/cube/.hermes/profiles/dualcoachtest/data/topic59-maintenance-r71b": true,
    "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71b-maintenance-candidate-r2": true,
    "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71b-maintenance-rehearsal": true,
    "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71b-maintenance-rehearsal-r2": true
  },
  "authority_receipt": {
    "one_use_input_proof": {
      "file_count": 1,
      "name": "authority-verification.json",
      "nonempty_bytes": 17189,
      "sha256": "684cfd9b38b5fda5e6582bb41496f7d6fd1b0f2cb227ed6b955107e2c1a1a26e"
    },
    "path": "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-telegram-checkin-stepper/task-10-r71b-authority-verification.json",
    "schema": "nutricoach-v150-v15-authority-verification-v1",
    "sha256": "684cfd9b38b5fda5e6582bb41496f7d6fd1b0f2cb227ed6b955107e2c1a1a26e",
    "status": "PASS",
    "verifier_compatible": true
  },
  "blocker_count": 0,
  "candidate_r2": {
    "canonical_verifier": "PASS",
    "evidence_inventory": [
      {
        "path": "receipts/authority-verification.json",
        "sha256": "684cfd9b38b5fda5e6582bb41496f7d6fd1b0f2cb227ed6b955107e2c1a1a26e"
      }
    ],
    "expected_candidate_digest": "4abeff79a8a908a6c7055759d62f50ac93b03946997b29bde17f01cb1cdde0dc",
    "expected_evidence_digest": "ec00774d56d55553da685ba5851d7812a76f11a573ed5f4e7baab680a828d1b6",
    "expected_manifest_sha256": "d89c58e774dd9e8e06a2a6f1c7a3e55d3b3f8b1733a1224c2bdd5ca6270216f6",
    "outer_basename_is_digest_input": false,
    "two_distinct_outer_basenames_same_digest": true
  },
  "cleanup": {
    "all_disposable_candidate_preseal_and_receipt_input_roots_removed": true,
    "only_new_persistent_artifacts": [
      "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-telegram-checkin-stepper/task-10-r71b-authority-verification.json",
      "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-telegram-checkin-stepper/task-10-r71b-candidate-r2-recovery.json"
    ],
    "remaining_recovery_tmp_roots": []
  },
  "confidence": 0.99,
  "digest_classification": {
    "candidate_digest": "exact for frozen candidate inputs plus canonical authority receipt",
    "package_binding_final_hold_authority": "deterministic disposable proof values modeled with the final authoritative r2 candidate/preseal path; the future canonical preparer independently reconstructs current protected/dependency/authority/service snapshots and must be treated as authoritative if those current-state inputs differ"
  },
  "exact_one_authoritative_r2_seal_sequence": [
    "set -euo pipefail; WT='/home/cube/projects/richard/.worktrees/nutricoach-v150-combined'; PLAN='/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-telegram-checkin-stepper'; FAILED='/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71b-maintenance-candidate'; R2='/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71b-maintenance-candidate-r2'",
    "test ! -e \"$R2\" && test ! -L \"$R2\"; test ! -e /home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/live-transaction-preseal-v15-runtime-authority-r71b-maintenance; test ! -e /home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/preflight-v15-runtime-authority-r71b-maintenance",
    "python -c 'import hashlib,json,pathlib,sys; w=pathlib.Path(sys.argv[1]); f=json.load(open(sys.argv[2])); assert len(f[\"inventory\"])==74; [(_ for _ in ()).throw(AssertionError(x[\"path\"])) if hashlib.sha256((w/x[\"path\"]).read_bytes()).hexdigest()!=x[\"sha256\"] else None for x in f[\"inventory\"]]' \"$WT\" \"$PLAN/task-10-r71b-final-source-freeze.json\"",
    "RECEIPTS=$(mktemp -d /tmp/r71b-authority-receipt.XXXXXX); trap 'rm -rf \"$RECEIPTS\"' EXIT; install -m 0600 \"$PLAN/task-10-r71b-authority-verification.json\" \"$RECEIPTS/authority-verification.json\"; test -s \"$RECEIPTS/authority-verification.json\"; test \"$(find \"$RECEIPTS\" -mindepth 1 -maxdepth 1 -type f | wc -l)\" = 1",
    "cd \"$WT\"; PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=\"$WT/dualcoach/profile\" .venv/bin/python -B scripts/seal_nutricoach_v150_candidate.py --base \"$FAILED/inputs/base-manifest.json\" --v17-evidence \"$FAILED\" --successor \"$R2\" --build-1-hermes \"$FAILED/artifacts/build-1/hermes_agent-0.17.0-py3-none-any.whl\" --build-1-profile \"$FAILED/artifacts/build-1/physique_checkin_cli-0.1.0-py3-none-any.whl\" --build-2-hermes \"$FAILED/artifacts/build-2/hermes_agent-0.17.0-py3-none-any.whl\" --build-2-profile \"$FAILED/artifacts/build-2/physique_checkin_cli-0.1.0-py3-none-any.whl\" --receipts-root \"$RECEIPTS\" --successor-overlay \"$FAILED/inputs/successor-overlay.sha256\" --r70-error-evidence \"$PLAN/task-10-cron-no-send-recovery-analysis.json\" --observer-evidence \"$PLAN/task-10-debug-observer-r70.json\" --fixed-collector-evidence \"$PLAN/task-10-r70-health-recovery.json\"",
    "PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=\"$WT/dualcoach/profile\" .venv/bin/python -B scripts/verify_nutricoach_v150_candidate.py --base \"$FAILED/inputs/base-manifest.json\" --successor \"$R2\" --manifest \"$R2/manifest.json\"",
    "PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=\"$WT/dualcoach/profile\" .venv/bin/python -B scripts/prepare_nutricoach_v150_v15_preseal.py \"$R2\" \"$R2/artifacts/build-1/hermes_agent-0.17.0-py3-none-any.whl\" \"$R2/artifacts/build-1/physique_checkin_cli-0.1.0-py3-none-any.whl\" --maintenance-kst-day 2026-09-02 --maintenance-not-before 2026-09-02T02:00:00+09:00 --maintenance-expires-at 2026-09-02T02:30:00+09:00",
    "PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=\"$WT/dualcoach/profile\" .venv/bin/python -B scripts/verify_nutricoach_v150_preseal_v15.py; rm -rf \"$RECEIPTS\"; trap - EXIT"
  ],
  "failed_attempt1_tombstone": {
    "entries": 418,
    "tree_sha256": "c67c4b55f8fc36e12238a6401532a2d7bd67c158985fe9645e0da3603c3499ab",
    "unchanged": true
  },
  "focused_tests": "20 passed",
  "forbidden_effects": {
    "authoritative_seals": 0,
    "authorization_execution_observer": 0,
    "customer_actions": 0,
    "git_or_github": 0,
    "live_profile_service": 0,
    "network_provider_customer": 0,
    "source_edits": 0
  },
  "guards": {
    "candidate_empty_root": "REJECTED",
    "candidate_foreign_receipt": "REJECTED",
    "candidate_tampered_receipt": "REJECTED",
    "preseal_empty_authority": "REJECTED",
    "preseal_foreign_authority": "REJECTED",
    "preseal_tampered_authority": "REJECTED"
  },
  "minimal_installed_no_call_oracle": {
    "claim_calls": 0,
    "customer_actions": 0,
    "disposition": "noop_maintenance",
    "edit_calls": 0,
    "message_id": null,
    "network_calls": 0,
    "package_binding_digest": "e176c96ce141f2b43b86f9ad2e7f580bf7077e95c6198fe384715c625c197a22",
    "provider_calls": 0,
    "record_calls": 0,
    "runtime_origin": "/tmp/r71b-r2-installed-oracle.XQX0td/venv/lib/python3.12/site-packages/gateway/platforms/nutrition_weekly_maintenance_contract.py",
    "schema": "r71b-r2-installed-minimal-no-call-oracle-v1",
    "send_calls": 0,
    "source_worktree_on_pythonpath": false,
    "status": "PASS"
  },
  "modeled_authoritative_preseal": {
    "approval_phrase": "AUTHORIZE NUTRICOACH V1.5 R71B MAINTENANCE UPGRADE 1a95c66f158de29ef966cd80ffc26094fdceca9c522a9056e83f95a500640484",
    "authoritative_preseal_explicitly_bound": true,
    "authority_sha256": "bc4e1aa35d497c87a7b3a06bf23cf3c2c370cb52dd5f921a3cf4c161ce3ecaae",
    "candidate_digest": "4abeff79a8a908a6c7055759d62f50ac93b03946997b29bde17f01cb1cdde0dc",
    "candidate_manifest_modeled_path": "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71b-maintenance-candidate-r2/manifest.json",
    "candidate_manifest_sha256": "d89c58e774dd9e8e06a2a6f1c7a3e55d3b3f8b1733a1224c2bdd5ca6270216f6",
    "canonical_derivation_verifier": "PASS",
    "final_package_digest": "1a95c66f158de29ef966cd80ffc26094fdceca9c522a9056e83f95a500640484",
    "guards": {
      "foreign": "REJECTED",
      "omission": "REJECTED",
      "tamper": "REJECTED"
    },
    "hold_id": "39ec3d5cb516694165a4ff02d1f42ef94b5c899a41da6e3d6c8a747ded1fa76c",
    "hold_sha256": "f4d29cca9563752e99ff200611d848379e8ce0d4a9495a9a22c1089bf45bf3c8",
    "maintenance_scope_digest": "45959cc82ba2d8176f57f3ff3035678aec06c199bf39725a9879c4e6f179dfcc",
    "maintenance_scope_file_sha256": "3f21b1f67c258574a0f198bbc8a6948f70e741291c969f28fa487d340f668664",
    "no_send_oracle_file_sha256": "56242fc2c30a43b330453bc7be1a8fe4040ad375635f65d5e4b8663b19e6c7b5",
    "oracle_counts": {
      "claim_calls": 0,
      "customer_actions": 0,
      "edit_calls": 0,
      "network_calls": 0,
      "provider_calls": 0,
      "send_calls": 0,
      "target_topic59_projection_count": 1
    },
    "outer_disposable_preseal_path": "/tmp/r71b-r2-recovery.8tk7NE/disposable-r2-preseal",
    "package_binding_digest": "e176c96ce141f2b43b86f9ad2e7f580bf7077e95c6198fe384715c625c197a22",
    "package_binding_inputs_file_sha256": "ba4a4fe68404ca18b00674dc3d84fe1cf97f534ae14d854759d0ba31257d0860",
    "permission_package_sha256": "f5357c033afe831d81041bbeb49a3a8a8da17fc9749591bd2d74e9d4fa3486d1",
    "preseal_modeled_path": "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/live-transaction-preseal-v15-runtime-authority-r71b-maintenance",
    "r2_manifest_explicitly_bound": true,
    "schema": "nutricoach-r71b-candidate-r2-modeled-preseal-proof-v1",
    "status": "PASS",
    "window": {
      "expires_at": "2026-09-02T02:30:00+09:00",
      "kst_day": "2026-09-02",
      "not_before": "2026-09-02T02:00:00+09:00"
    }
  },
  "old_r71_tombstones": {
    "roots": {
      "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/live-transaction-preseal-v15-runtime-authority-r71": {
        "entries": 629,
        "tree_sha256": "7a8da9a17c1dca13cfcf291d1a93b51f5acbf7636146e2b3acf92153902dc28d"
      },
      "/home/cube/.hermes/migrations/nutricoach-v1.5.0-combined/preflight-v15-runtime-authority-r71": {
        "entries": 2,
        "tree_sha256": "52226ef5db5ce3614563fb981eebb30e3461e22e7a2e609a1c7bd291f6bf3042"
      },
      "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71-candidate-r3": {
        "entries": 384,
        "tree_sha256": "4158689d0b6f0662b51239a5de58f56f75d91715016c8e76de7c5d8cd54b1ca5"
      },
      "/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-v150-combined/task-v15r71-rehearsal": {
        "entries": 1,
        "tree_sha256": "113506f30f14a214ea8964fe8cb169c4eafe5b35baffbdc8dd4a085a5a85c34b"
      }
    },
    "unchanged": true
  },
  "schema": "nutricoach-telegram-checkin-stepper-task-10-r71b-candidate-r2-recovery-v1",
  "sequence_limit": "Stops after candidate/preseal verification. It performs no rehearsal, approval, authorization, execution, observer, service action, provider call, or customer action.",
  "source_freeze": {
    "current_revalidation": "PASS",
    "hash_stream_sha256": "e8f8dcab234e745ec84ddd36075da8db2b024e074f607db27c122bf580695999",
    "inventory_count": 74
  },
  "status": "RECOVERY_PROOF_PASS_NO_AUTHORITATIVE_SEAL",
  "task_id": "st_01a05ccb"
}
