Session.log. A surface replacement changes future model input but does not delete those raw records.One Session. Four budgets.
Compaction replaces older surface messages with a summary.
tokensThe append-only array stays resident for the Session lifetime.
heap bytesCommitted events remain the replay and audit source.
artifact bytesContinuable children retain handles and Sessions until settlement.
live ownersFollow the retained path.
Stop the slope before the abort.
- Freeze admissionDo not start another fan-out wave or broad Goal round.
- Cancel deliberatelyRecord the parent and children that may have crossed side-effect boundaries.
- Flush evidenceUse supported export or flush paths; never edit a live compressed log.
- Restart smallerUse a durable handoff, fresh Session, fewer children, and fixed-size batches.
Route a cold-restore restart loop.
At rc.2, the backend read is asynchronous, but Session.fromRestore() synchronously validates, surface-folds, freezes, and appends every seed event. That proves an event-loop-blocking risk—not a universal crash threshold and not the policy of an unidentified desktop wrapper.
Temporary event-loop starvation is plausible. Measure delay against events and bytes.
Preserve the exit status and stack before changing supervisor thresholds.
Record its endpoint, threshold, decision time, and replacement PID.
Bind the runtime copy to the PID.
Do not patch both a global installation and a profile copy. Prove which realpaths the recorded Host loaded, restore one supported installation owner, then repeat with identical bytes.
Measure the boundary, not the symptom.
Sample at fixed intervals and retain the slope across GC cycles.
Count closed chunks, final messages, surface nodes, and replacement generations.
Separate a concurrent fan-out peak from the parent’s cumulative history.
Use two pressure stages.
Emit a typed diagnostic, settle or cancel active work, and flush durable state.
Reject new model and tool work, cancel, flush within a deadline, then let a supervisor restart.
Use sustained samples and hysteresis. Raising --max-old-space-size only delays an unbounded retained term and can move pressure into host swap.
Preserve compatibility.
Primary evidence.
- rc.2 Session log and in-memory store
- rc.2 surface replacement fold
- rc.2 continuable Agent lifecycle
- rc.2 cold Session preparation pipeline
- Community Web Host OOM report #4722
- Community macOS cold-restore report #4807
Keep the full operator design.
The canonical guide adds four controlled reproductions, a cold-restore isolation ladder, one-process timeline, failure router, compatibility questions, and regression gates.
Read and star on GitHub