pi-mono/packages
Mario Zechner cb43754931 fix(durable): scheduler no longer visits every live task on each pass
Every reconcile pass walked up from every live task to the root to find cancelling owners, and owned live work,
idle scopes, chain loads, reservation, finalization, and failFast checks each scanned all live tasks. A chain of n
held tasks cost about n^3 steps: 500 took 12 s, 20,000 never finished.

The ownership semantics are unchanged; in-memory indexes, rebuilt at open, hold each pass's candidates:
- #below: the ownership tree downward around live work; owned live work, idle scopes, and conversation aborts walk
  down from one node. Ended tasks stay while walks pass through them (conversation owners, chain loads, owners of
  known tasks), so loaded chains stay loaded.
- #intent: cascades walk down from tasks with cancellation intent, not entering another such task, so the nearest
  cancelling owner still decides the reason; upward checks return at once when it is empty.
- #unloaded: only tasks whose chain is not loaded are loaded, and count as inside every scope until then.
- #finalizeChecks: finalize is a worklist in rounds from the nearest live holder of ended work.
- #runnable and #waiters: reservation and failFast candidates.
No walk recurses.

Chain of 500 held tasks: 12.3 s -> 50 ms; 20,000: 1.5 s. 8000 parallel nested calls: 18.8 s -> 9.2 s
(bench:scheduler-fanout); the rest is document copying of the nested-call index.
2026-10-10 14:56:43 +00:00
..
agent Add [Unreleased] section for next cycle 2026-10-07 23:33:49 +02:00
ai fix(ai): use models.dev metadata for Claude 5.5 models 2026-10-08 11:20:26 +02:00
chord Release v1.1.0 2026-10-07 23:33:33 +02:00
client Add [Unreleased] section for next cycle 2026-10-07 23:33:49 +02:00
codemode feat(codemode): run sandboxes on Cloudflare Workers via a remote Durable Object 2026-10-10 14:41:36 +02:00
coding-agent feat(durable): nested tool calls, structured output, callers; storage errors end the Session 2026-10-09 17:13:34 +00:00
durable fix(durable): scheduler no longer visits every live task on each pass 2026-10-10 14:56:43 +00:00
env Add [Unreleased] section for next cycle 2026-10-07 23:33:49 +02:00
evals Release v1.1.0 2026-10-07 23:33:33 +02:00
mcp fix(mcp): reject iss when no authorization server metadata was discovered 2026-10-10 14:44:35 +02:00
protocol Add [Unreleased] section for next cycle 2026-10-07 23:33:49 +02:00
server Add [Unreleased] section for next cycle 2026-10-07 23:33:49 +02:00
telemetry Add [Unreleased] section for next cycle 2026-10-07 23:33:49 +02:00
tui feat(coding-agent): publish configuration schemas (#9880) 2026-10-08 10:01:17 +02:00