# E72-I/M — Durable long-horizon mission and endurance accounting

`cain_workforce/e72/longhorizon.py` keeps its own SQLite state and a SHA-256 hash-chained journal. The mission
deadline is absolute, so a controller restart continues the same mission. Each cycle creates a small coordinator
mission with four analysis streams (**literature, security, data, infrastructure**) over real sources (arXiv, the
public Iris CSV, repository files, live host metrics); every EXECUTE is independently recomputed by a
different-field worker. Evidence bundles are exported and verified at regular checkpoints.

The campaign ran **1 hour of real wall-clock time** and was stopped and restarted at a phase boundary to prove
resumption. See `artifacts/e72/long-horizon.json` for the measured cycles, verified tasks and categories.

Accounting definitions (also enforced by the offline verifier):

| Category | Definition |
|---|---|
| process-alive worker-hours | sampled alive workers × interval |
| execute hours | VERIFIED EXECUTE task durations |
| verification hours | VERIFIED VERIFY task durations |
| model hours | measured model-call latency (0 here) |
| verified productive hours | execute + verification of verified work |
| idle hours | process-alive − productive, never negative |

The campaign is **duty-cycled** (one batch per 20 s), so utilization is low by design and **not comparable** to a
continuous-throughput campaign. The 6 h / 24 h / 72 h / 168 h missions and 500/1,000/5,000/10,000 verified
productive-hour targets are **BLOCKED / future targets**, not achievements. No virtual clock is used.
