fix(agent-team): bind subscription invoker in the start CLI

`run-team.py start` runs the clarifier graph to the first human gate IN the CLI
process, and the clarifier calls Claude (assess_confidence). The invoker is a
process-local binding that only `serve` set, so `start` failed with
"claude_invoke has no invoker bound". Bind the real subscription invoker here,
mirroring Coordinator.serve(). Found during the live R720 P1 bring-up.
This commit is contained in:
Adam Moussa 2026-06-22 15:04:57 -04:00
parent 0f3c0fa57a
commit ae5aa020f3

View file

@ -660,6 +660,14 @@ def _cmd_start(args: argparse.Namespace, *, out: Any) -> int:
either way.
"""
coordinator = _build_coordinator(args)
# start_task runs the clarifier graph to the first human gate IN THIS PROCESS,
# and the clarifier calls Claude (assess_confidence). The invoker is a
# process-local binding, so a running daemon does not help this CLI process —
# bind the real subscription invoker here, mirroring Coordinator.serve(), or
# start_task fails with "claude_invoke has no invoker bound".
from agent_team.invoker import bind_subscription_invoker
bind_subscription_invoker()
coordinator.setup()
thread_id = coordinator.start_task(
task_text=args.task, transport_name=args.transport