v1.9.0: phased checkpoints + resumable runs
A long run that crashes, hits a budget, or is stopped should not start over. Because every step is already witnessed durably, the ledger is the resume state.
- Resume:
dispatch_plan(plan, ledger, executor, resume=True)(andOrchestrator.submit_plan(plan, resume=True)) reuses every task that already has a witnessed successful result and re-runs only the missing or failed ones. Aresumeentry records which tasks were reused. Resume reuses the verified record; it never regenerates it with a model. - Phased checkpoints:
checkpoint_each_wave=Truewitnesses acheckpointentry (the Merkle root so far) and syncs the ledger after each wave, a re-checkable savepoint and the durability point for batched storage (v1.8). - The summary and
forum benchreport checkpoints and resumes.
Pure standard library, deterministic. 223 tests, plus 2 gated real-model tests.
Install: pip install forum-engine