{
 "at": 1794631704.5569751,
 "counts": {
  "BLOCKED": 3,
  "FAIL": 0,
  "PARTIAL": 4,
  "PASS": 21
 },
 "gates": [
  {
   "evidence": [
    "artifacts/e72/baseline.json"
   ],
   "id": "E72-G01",
   "limitations": "inherited suites are same-project, not third-party",
   "reproduce": "python3 scripts/evolution72/baseline.py",
   "requirement": "E68/E69/E70/E71 baselines preserved; inherited suites pass",
   "status": "PASS",
   "verification": "pytest e68/e69/e70/e71 suites recorded in baseline.json"
  },
  {
   "evidence": [
    "artifacts/e72/baseline.json",
    "artifacts/e70/endurance-latest.json"
   ],
   "id": "E72-G02",
   "limitations": "raw DB is host-local; sub-second timestamp precision gives <=0.1 h uncertainty",
   "reproduce": "python3 scripts/evolution72/baseline.py",
   "requirement": "E70 163.4645 h vs E71 163.894 h discrepancy explained from raw rows; both preserved",
   "status": "PASS",
   "verification": "recomputed from /tmp/opencode/e70-endurance-1000-*/coord.db; delta equals 3 replaced workers"
  },
  {
   "evidence": [
    "artifacts/e72/scheduling.json"
   ],
   "id": "E72-G03",
   "limitations": "CPU-bound hash workloads; cap is host-local, not aggregate across hosts",
   "reproduce": "python3 scripts/evolution72/scheduling.py",
   "requirement": "Adaptive resource-aware admission; no oversubscription; no lease expiry under the controller",
   "status": "PASS",
   "verification": "6 concurrency levels, 2 naive comparisons; raw task rows; evidence bundles under artifacts/e72"
  },
  {
   "evidence": [
    "artifacts/e72/models.json",
    "artifacts/e72/router-policy.json"
   ],
   "id": "E72-G04",
   "limitations": "models are 135M/362M/494M on CPU; 8 held-out prompts is a small sample",
   "reproduce": "python3 scripts/evolution72/models.py && python3 scripts/evolution72/router_policy.py",
   "requirement": "Real local model execution with task-completion scoring and measured routing",
   "status": "PASS",
   "verification": "56 real inference calls; exact checkers; held-out prompts disjoint from calibration"
  },
  {
   "evidence": [
    "artifacts/e72/models.json"
   ],
   "id": "E72-G05",
   "limitations": "no credential exists on this host",
   "reproduce": "python3 scripts/evolution72/models.py",
   "requirement": "Remote provider (OpenAI/Anthropic/Gemini/HF/Ollama) execution",
   "status": "BLOCKED",
   "verification": "provider discovery shows no credential and no reachable Ollama; 0 remote calls claimed"
  },
  {
   "evidence": [
    "artifacts/e72/real-missions.json",
    "artifacts/e72/missions/repo_software"
   ],
   "id": "E72-G06",
   "limitations": "pre-fix variant reconstructs an observed E72 defect; not a pre-existing HEAD bug",
   "reproduce": "python3 scripts/evolution72/missions.py --only repo_software",
   "requirement": "Repository-level software engineering mission with independent failing/passing test",
   "status": "PASS",
   "verification": "test failed before / passed after in two separate worktrees; worker-recomputed diff"
  },
  {
   "evidence": [
    "artifacts/e72/real-missions.json",
    "artifacts/e72/missions/security_review"
   ],
   "id": "E72-G07",
   "limitations": "target was written for the exercise; not an audit of CAIN",
   "reproduce": "python3 scripts/evolution72/missions.py --only security_review",
   "requirement": "Defensive security mission on an isolated target: detect, reproduce, fix, verify",
   "status": "PASS",
   "verification": "safe marker exploit before fix; blocked after; legitimate function retained"
  },
  {
   "evidence": [
    "artifacts/e72/real-missions.json",
    "artifacts/e72/missions/research_literature"
   ],
   "id": "E72-G08",
   "limitations": "preprints, not peer-review verified",
   "reproduce": "python3 scripts/evolution72/missions.py --only research_literature",
   "requirement": "Real research mission from arXiv primary sources with preserved citations",
   "status": "PASS",
   "verification": "every cited id appears in the fetched response; abstract-level only"
  },
  {
   "evidence": [
    "artifacts/e72/real-missions.json",
    "artifacts/e72/missions/data_iris"
   ],
   "id": "E72-G09",
   "limitations": "one small classic dataset; not a general biological claim",
   "reproduce": "python3 scripts/evolution72/missions.py --only data_iris",
   "requirement": "Real data mission on the public Iris CSV with validation and independent recompute",
   "status": "PASS",
   "verification": "150 rows, 0 missing, worker recompute matches; assumptions listed"
  },
  {
   "evidence": [
    "artifacts/e72/cross-host.json"
   ],
   "id": "E72-G10",
   "limitations": "coordinator/store on host B; transport is an SSH tunnel because inbound TCP is blocked",
   "reproduce": "python3 scripts/evolution72/cross_host.py",
   "requirement": "Cross-host execution and shared durable mission state on two distinct VMs",
   "status": "PASS",
   "verification": "different boot ids and public IPs; tasks verified on both hosts; 0 duplicate results"
  },
  {
   "evidence": [
    "artifacts/e72/crosshost/crosshost.json"
   ],
   "id": "E72-G11",
   "limitations": "PostgreSQL single primary, not Byzantine fault tolerant; network partition not induced; first attempt failed and the run was repeated",
   "reproduce": "python3 scripts/evolution72/crosshost_demo.py",
   "requirement": "Cross-host coordinator failover with a monotonic fencing token",
   "status": "PASS",
   "verification": "PostgreSQL cross-host demo: host B took leadership, fencing token advanced 2->3, mission M2 COMPLETED with 0 duplicates"
  },
  {
   "evidence": [
    "artifacts/e72/recovery.json"
   ],
   "id": "E72-G12",
   "limitations": "cold process restart, not a machine reboot",
   "reproduce": "python3 scripts/evolution72/recovery.py",
   "requirement": "Worker failure, database lock, cold coordinator restart",
   "status": "PASS",
   "verification": "SIGKILL recovered with retry; lock fails closed; cold restart preserves mission and completes new work"
  },
  {
   "evidence": [
    "artifacts/e72/crosshost/crosshost.json"
   ],
   "id": "E72-G13",
   "limitations": "one host/one reboot; this is not a disaster-recovery proof for a production system",
   "reproduce": "python3 scripts/evolution72/crosshost_demo.py",
   "requirement": "Full host reboot recovery",
   "status": "PASS",
   "verification": "development replica rebooted; boot_id changed; uptime reset; services and mission resumed"
  },
  {
   "evidence": [
    "artifacts/e72/long-horizon.json"
   ],
   "id": "E72-G14",
   "limitations": "duty-cycled sampling; one controller restart is covered by the campaign journal",
   "reproduce": "python3 scripts/evolution72/long_mission.py --hours 1",
   "requirement": "Persistent 1-hour long-horizon mission with durable checkpoint chain",
   "status": "PASS",
   "verification": "real 3600 s wall-clock mission (172 cycles, 688 verified EXECUTE, journal intact, one restart); the separate longrun sampler is preserved as additional evidence"
  },
  {
   "evidence": [
    "artifacts/e72/long-horizon.json"
   ],
   "id": "E72-G15",
   "limitations": "future target, not achieved",
   "reproduce": "n/a",
   "requirement": "6/24/72/168-hour missions",
   "status": "BLOCKED",
   "verification": "no multi-day wall-clock run"
  },
  {
   "evidence": [
    "artifacts/e72/memory-eval.json"
   ],
   "id": "E72-G16",
   "limitations": "deterministic retrieval arm; the model arm used 6 prompts",
   "reproduce": "python3 scripts/evolution72/memory_eval.py",
   "requirement": "Verified memory improves held-out accuracy and never authorizes",
   "status": "PASS",
   "verification": "20 held-out questions; injection quarantined; supersession correct; 0 authority violations"
  },
  {
   "evidence": [
    "artifacts/e72/self-improvement.json"
   ],
   "id": "E72-G17",
   "limitations": "promotion withheld; owner approval is required and not granted",
   "reproduce": "python3 scripts/evolution72/self_improve.py",
   "requirement": "Governed self-improvement with held-out gains and external approval",
   "status": "PARTIAL",
   "verification": "two measured experiments (+0.25 routing, +0.667 scheduling); history verifies"
  },
  {
   "evidence": [
    "artifacts/e72/benchmark.json",
    "artifacts/e72/models.json"
   ],
   "id": "E72-G18",
   "limitations": "small samples; one model in the benchmark (three in the model evaluation); tiny CPU models; not a general-intelligence benchmark",
   "reproduce": "python3 scripts/evolution72/benchmark.py",
   "requirement": "Held-out benchmark with exact checkers and Wilson intervals",
   "status": "PARTIAL",
   "verification": "25 local-model calls plus deterministic families; exact checkers; Wilson intervals; 10 GSM8K problems"
  },
  {
   "evidence": [
    "artifacts/e72/long-horizon.json",
    "artifacts/e72/economics.json"
   ],
   "id": "E72-G19",
   "limitations": "1 h duty-cycled campaign only",
   "reproduce": "python3 scripts/evolution72/longhorizon.py; python3 scripts/evolution72/economics.py",
   "requirement": "Endurance accounting separates alive/execute/verify/model/productive and avoids double counting",
   "status": "PASS",
   "verification": "per-worker/interval definitions; productive <= alive enforced by the verifier"
  },
  {
   "evidence": [
    "artifacts/e72/endurance/endurance.json"
   ],
   "id": "E72-G20",
   "limitations": "future targets; campaign hours are cryptographic/code-audit work, not intellectual reasoning",
   "reproduce": "python3 scripts/evolution72/endurance.py",
   "requirement": "500/1,000/5,000/10,000 verified productive worker-hours",
   "status": "BLOCKED",
   "verification": "E72 campaign produced None verified productive hours; targets not reached"
  },
  {
   "evidence": [
    "artifacts/e72/economics.json"
   ],
   "id": "E72-G21",
   "limitations": "hosting rate is a labelled hypothetical; no network cost",
   "reproduce": "python3 scripts/evolution72/economics.py",
   "requirement": "Measured economics of 4 vs 8 workers",
   "status": "PASS",
   "verification": "CPU seconds per verified task, peak PSS, disk, utilization; local model cost $0"
  },
  {
   "evidence": [
    "artifacts/e72/clawx.json"
   ],
   "id": "E72-G22",
   "limitations": "not deployed publicly",
   "reproduce": "python3 scripts/evolution72/clawx72.py",
   "requirement": "ClawX workforce interface from backend records, tenant-isolated",
   "status": "PARTIAL",
   "verification": "local token-gated server; wrong token and cross-tenant denied"
  },
  {
   "evidence": [
    "artifacts/e72/security-lab.json"
   ],
   "id": "E72-G23",
   "limitations": "not a third-party audit",
   "reproduce": "python3 scripts/evolution72/security_lab.py",
   "requirement": "Adversarial security lab: all E71 scenarios preserved plus E72 checks",
   "status": "PASS",
   "verification": "same-project lab; every scenario must refuse its attack/overclaim"
  },
  {
   "evidence": [
    "artifacts/e72/crosshost/crosshost.json"
   ],
   "id": "E72-G25",
   "limitations": "same-project test workload; not a third-party audit",
   "reproduce": "python3 scripts/evolution72/crosshost_demo.py",
   "requirement": "Cross-host independent verification: producer and verifier on different physical hosts",
   "status": "PASS",
   "verification": "M1 12/12 produced on one host and recomputed on the other; M4 100/100"
  },
  {
   "evidence": [
    "artifacts/e72/crosshost/crosshost.json"
   ],
   "id": "E72-G26",
   "limitations": "single grant instance; no key-rotation scenario",
   "reproduce": "python3 scripts/evolution72/crosshost_demo.py",
   "requirement": "Expired authority after reboot is refused, not restored",
   "status": "PASS",
   "verification": "12 s grant expired across the reboot; remaining tasks moved to BLOCKED with GRANT_REFUSED"
  },
  {
   "evidence": [
    "artifacts/e72/memory-eval-v2.json"
   ],
   "id": "E72-G27",
   "limitations": "synthetic questions grounded in observed defects, not a standard memory benchmark",
   "reproduce": "python3 scripts/evolution72/memory_eval.py",
   "requirement": "Verified-memory v2: verified recency beats stale-first and never authorizes",
   "status": "PASS",
   "verification": "20 defect-derived held-out cases; provenance retained; authority_effect=none"
  },
  {
   "evidence": [
    "artifacts/e72/economics.json"
   ],
   "id": "E72-G28",
   "limitations": "host cost is an estimate; electricity/hardware depreciation not priced; no remote API spend",
   "reproduce": "python3 scripts/evolution72/economics.py",
   "requirement": "Measured economics of the cross-host, long-run and endurance workloads",
   "status": "PARTIAL",
   "verification": "4-vs-8-worker CPU/PSS/utilization measured; cross-host and long-run costs are derived from their artifacts, not separately metered"
  },
  {
   "evidence": [
    "artifacts/e72/replication.json"
   ],
   "id": "E72-G24",
   "limitations": "replica is the established development host, not an independent trust anchor",
   "reproduce": "bash scripts/evolution72/replicate.sh",
   "requirement": "Final audit, commit and clean-clone replica verification",
   "status": "PASS",
   "verification": "remote commit equality, clean clone, critical tests and offline verifier"
  }
 ],
 "head": "3fa6c6fb826e6a51fa74cb7af51caaaaefb6c7d3",
 "rule": "A module existing is not a PASS. Each gate states its command, evidence and limitations.",
 "schema": "cain72.gates.v1"
}