Fixes cancellation and termination exceeding PHP resource limits for large, valid pending inventories. See #958 and #959.
- Index terminal history once and persist projections in bounded pages, preserving snapshots, custom models/casts, hooks and transaction behavior.
- Preserve atomic SQLite task repair and dispatch while giving waiting terminal commands a writer admission window. Busy admissions whose bodies never ran are explicitly deferred for later recovery.
- Reuse bounded native JSON comparisons for default history and wait models, preserving custom decoders, raw mutations and configured behavior.
Two separate synthetic SQLite HTTP fixtures each admitted 2,000 timers and 2,000 activities normally, then closed with concurrent maintenance. Cancellation used 29.0744 seconds of CPU and termination 28.8921 seconds, each peaking at 108 MiB under unchanged PHP limits of 128 MiB and 30 seconds. Canonical history, projections, original-lease fencing and repeat closure were verified. Qualification details and contention caveat.
SQLite poll-mode maintenance now pauses 200 ms outside transactions between selected candidates. A fully saturated pass at default phase limits can add up to 35 seconds of wall waits, including synchronous repair API and embedded queue-loop callers. Empty or throttled passes add no pause.
Installing this library release does not update an existing pinned Server image. Server consumers need an image containing this Core version; follow #958 for downstream delivery.