{
  "project_id": "74f8a750-7647-4916-b031-ad3c29d96638",
  "requested_cache_mode": "warm_proof_carry",
  "resolved_cache_mode": "warm_proof_carry",
  "cache_hit": true,
  "project_cache_entry_id": "798bdbd5-acba-4882-8a19-ac5f88c52553",
  "prepared": true,
  "project_cache_dir": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638",
  "repo_mirror_dir": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/repo-mirrors",
  "backend_support": "prepared",
  "fallback_reason": null,
  "allowed_reuse_classes": [
    "infrastructure",
    "repo",
    "package",
    "toolchain",
    "build",
    "setup_factpack",
    "derived_guidance",
    "historical_proof_reference"
  ],
  "reuse_safety_policy": "Cached repos, package downloads, and toolchains are reusable. Cached build outputs are reusable only when their source path, commit/ref, dependency lockfiles, compiler/toolchain, and build flags match the current script. For CMake, if CMakeCache.txt CMAKE_HOME_DIRECTORY differs from the source directory, delete/recreate that build directory before building.",
  "proof_policy": "Fresh proof is required for the current run. Historical proof artifacts may only be used as explicit reference material in warm_proof_carry mode.",
  "proof_carry": {
    "enabled": true,
    "expected": true,
    "available": true,
    "verified_on_host": true,
    "seeded_current_run_reproduction_script": "repro/reproduction_steps.sh",
    "latest_attempt": {
      "kind": "latest_attempt",
      "available": true,
      "root_dir": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt",
      "manifest_path": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/proof_carry_manifest.json",
      "reproduction_script": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/repro/reproduction_steps.sh",
      "runtime_manifest": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/repro/runtime_manifest.json",
      "validation_verdict": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/repro/validation_verdict.json",
      "rca_report": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/repro/rca_report.md",
      "product_proof": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/repro/product_proof.md",
      "logs_dir": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_attempt/logs"
    },
    "latest_confirmed": {
      "kind": "latest_confirmed",
      "available": true,
      "root_dir": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed",
      "manifest_path": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/proof_carry_manifest.json",
      "reproduction_script": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/repro/reproduction_steps.sh",
      "runtime_manifest": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/repro/runtime_manifest.json",
      "validation_verdict": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/repro/validation_verdict.json",
      "rca_report": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/repro/rca_report.md",
      "product_proof": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/repro/product_proof.md",
      "logs_dir": "/data/pruva/project-cache/74f8a750-7647-4916-b031-ad3c29d96638/.pruva/proof-carry/latest_confirmed/logs"
    },
    "reuse_policy": "Reference-only: read latest_confirmed for known-good mechanics and latest_attempt for recent failures/dead ends. Never count historical files as current-run evidence. The current run must execute its own reproduction script, write fresh logs, runtime_manifest.json, and validation_verdict.json, and pass the normal verifier."
  }
}