Highlights
- Run persistence now uses a compact versioned index and append-only deltas, reducing repeated writes of completed results. History listing and recovery hydrate full records only when needed, with a bounded cache.
- Checkpoint, resume, budget and shared-store fixes preserve completed work and accounting across interruption and replay.
- Added optional main-model inheritance and isolated trusted child-session extensions; improved retry pacing, reset hints and resume limits.
- Bounded child resources, network response bodies and Git operations; improved cancellation, result delivery, RPC notices and navigator confirmations.
Storage compatibility
Existing full-JSON run records remain readable and resumable and migrate on write. Older releases cannot read records written in the new format. Back up run storage before upgrading if you may need to downgrade. Full-result links remain directly readable through separate result artifacts.
The storage protocol protects committed records across process interruption; it does not promise universal power-loss durability or atomic synchronization between cloud-sync clients.
Validation
Validated with the full automated suite, package and documentation checks, real Pi 0.86.1 provider sessions covering legacy migration and checkpoint replay without repeated calls, and actual Pi command/UI acceptance.
See the full comparison for all changes.
What's Changed
- fix: shared-store discardDelta via per-key event-log undo by @ArietidsZ in #214
- fix: seed persisted agents on resume to prevent ghost replay by @ArietidsZ in #212
- fix: persist auto-resume attempt counters by @ArietidsZ in #213
- fix: budget gate accounting across resume by @ArietidsZ in #218
- fix: checkpoint suspension must not seal the run or drop paid results by @ArietidsZ in #216
- test(pi): support transcript-based system prompts by @QuintinShaw in #227
- feat(runtime): bound abort drain grace and finalize abandoned usage by @ArietidsZ in #219
- fix: report the real session model for agents that never resolve a spec by @ArietidsZ in #204
- fix: persistence & lifecycle reliability (deleteRun lease gate, delivery, logger) by @ArietidsZ in #224
- fix: estimated-usage flag follows the displayed figure by @ArietidsZ in #215
- feat(runtime): validate timeouts and add bounded retry pacing by @ArietidsZ in #220
- fix(rpc): show workflow lists and actionable background notices by @codesoda in #211
- feat(scheduler): improve reset hints and bound resume retries by @ArietidsZ in #217
- feat(routing): optionally inherit the main model for untagged agents by @ArietidsZ in #205
- feat(resources): bound child loaders, web bodies, and git operations by @ArietidsZ in #223
- fix(ui): coalesce progress and preserve valid confirmations by @ArietidsZ in #221
- feat(middleware): opt child sessions into isolated trusted extensions by @codesoda in #210
- fix(host): close run watchers and preserve saved workflow backups by @ArietidsZ in #222
- feat(storage): journal run deltas and lazily hydrate history by @QuintinShaw in #228
- chore(release): prepare v3.13.0 by @QuintinShaw in #229
New Contributors
- @ArietidsZ made their first contribution in #214
Full Changelog: v3.12.0...v3.13.0