The SubagentManager.spawn() method was returning a human-readable status
message, but tests (and wait_for()) expected it to return the task ID
directly. This commit fixes both the implementation and the tests:
Implementation changes:
- spawn() now returns the task_id (string) instead of a status message
- Updated docstring to reflect the correct return value
- Status message is still logged for debugging
Test changes:
- Updated spawn() calls to use new parameter structure:
* Changed from: origin={"channel": "x", "chat_id": "y"}
* Changed to: origin_channel="x", origin_chat_id="y"
This makes spawn() more useful programmatically - callers can use the
returned task_id with wait_for() without parsing a message.
All 3 SubagentManager tests now pass.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>