Under the hood
Async agent tasks now register per-agent controllers so stop and cleanup only settle once no subagents remain attached.
Background/async agent task execution now registers a kill controller and a per-agent controller map per task through a new loop-settlement mechanism, calling settle callbacks only once agent associations are empty when required. This makes task stop/cleanup sequencing more reliable when subagents are still associated with a task.