19b10e3216
The as-built audit surfaced that WorkerService keeps no registry of what it spawned (its own Javadoc: 'there is no registry; list() only asks herdr'). CB-301 adds a SessionManager wrapping WorkerService: an authoritative in-daemon roster with a per-session lifecycle FSM (SPAWNING/READY/BUSY/DONE/RELEASED/ FAILED), deterministic release, and recycle (= release + fresh acquire, no reuse). Leaves clean seams for CB-302 (checkpoint on release), CB-303 (idle_ttl/ context_cap/drain policy over roster), CB-304 (bridge_list reads roster).