Bugfix:run_agentic_turn discarded ws_send, so run_started / plan_ready / step_* / run_completed frames only hit an empty Redis group and never the connected client during inline agent runs.
Thread ws_send through execute_agent_run / _broadcast (WS + channel-layer group).
Route agentic turns in consumers_graph the same way as consumers.py.
Add offline test_agent_orchestrator.py coverage.
Test plan
SKIP_RAG_INIT=1 uv run python manage.py test chat_backend.tests.test_agent_orchestrator chat_backend.tests.test_agent_tools chat_backend.tests.test_consumers
Manual: ALLOW_AGENTIC_TASKS=true, multi-step prompt — confirm agent frames arrive on the live WS
Manual: graph consumer path (ws/conditional_chat/) also routes agentic turns
## Summary
- Follow-up to [#71](https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/71) / [#63](https://git.aimloperations.com/ai_ml_operations/chat_backend/issues/63).
- **Bugfix:** `run_agentic_turn` discarded `ws_send`, so `run_started` / `plan_ready` / `step_*` / `run_completed` frames only hit an empty Redis group and never the connected client during inline agent runs.
- Thread `ws_send` through `execute_agent_run` / `_broadcast` (WS + channel-layer group).
- Route agentic turns in `consumers_graph` the same way as `consumers.py`.
- Add offline `test_agent_orchestrator.py` coverage.
## Test plan
- [x] `SKIP_RAG_INIT=1 uv run python manage.py test chat_backend.tests.test_agent_orchestrator chat_backend.tests.test_agent_tools chat_backend.tests.test_consumers`
- [ ] Manual: `ALLOW_AGENTIC_TASKS=true`, multi-step prompt — confirm agent frames arrive on the live WS
- [ ] Manual: graph consumer path (`ws/conditional_chat/`) also routes agentic turns
Thread ws_send through execute_agent_run/_broadcast so inline agent turns
emit run/step frames on the connected client, not only the Redis group.
Also route agentic tasks in consumers_graph and add orchestrator unit tests.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
run_agentic_turndiscardedws_send, sorun_started/plan_ready/step_*/run_completedframes only hit an empty Redis group and never the connected client during inline agent runs.ws_sendthroughexecute_agent_run/_broadcast(WS + channel-layer group).consumers_graphthe same way asconsumers.py.test_agent_orchestrator.pycoverage.Test plan
SKIP_RAG_INIT=1 uv run python manage.py test chat_backend.tests.test_agent_orchestrator chat_backend.tests.test_agent_tools chat_backend.tests.test_consumersALLOW_AGENTIC_TASKS=true, multi-step prompt — confirm agent frames arrive on the live WSws/conditional_chat/) also routes agentic turns