This repository has no description
pi-rnd v0.2.6
Fix the doctor's lifecycle observability for real this time. The previous fix moved the listener registration before the spawn RPC but kept gating on targetId !== null. Because the entire RPC spawn flow (emit → manager.spawn → startAgent → onStart → subagents:started) runs synchronously on the same JavaScript tick, subagents:started fires BEFORE we have targetId — listener skipped silently.
Real fix: buffer all started events into a Map<id, ts> in the listener with no gating. After spawn returns and we know targetId, look up the Map. This separates 'never started' from 'started but slow' correctly even when the started event arrived during the spawn RPC call itself.