You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Decided 2026-09-16 on #1989: a pull agent only pulls. #2842 (interactive turns first) and #2843 (one turn per conversation) are merged (#3110). This issue routes the interactive producers onto the durable queue for pull-pilot agents, so their turns are claimed by the agent's worker pool instead of pushed.
Scope
pull_owns_dispatch covers interactive triggers on pilots (not _AUTONOMOUS_TRIGGERS, which drives alert semantics).
Every synchronous execute_task caller waits for the queued row's terminal (dispatch_and_await_terminal) and gets a complete result: Session tab, Workspace portal, public link, Slack/Telegram/WhatsApp, rooms, paid, MCP inline auth, validation, run-now.
Server-derived conversation_key per entry point.
persist_session carried through the queue so a cold session turn writes its transcript.
One conversation guard: the Redis ResumeLock comes off the pulled path.
Pull sink parity with the push finalization these callers rely on; system prompt parity.
Images/files and the live stream during the queued window handled.
Summary
Decided 2026-09-16 on #1989: a pull agent only pulls. #2842 (interactive turns first) and #2843 (one turn per conversation) are merged (#3110). This issue routes the interactive producers onto the durable queue for pull-pilot agents, so their turns are claimed by the agent's worker pool instead of pushed.
Scope
pull_owns_dispatchcovers interactive triggers on pilots (not_AUTONOMOUS_TRIGGERS, which drives alert semantics).execute_taskcaller waits for the queued row's terminal (dispatch_and_await_terminal) and gets a complete result: Session tab, Workspace portal, public link, Slack/Telegram/WhatsApp, rooms, paid, MCP inline auth, validation, run-now.conversation_keyper entry point.persist_sessioncarried through the queue so a cold session turn writes its transcript.ResumeLockcomes off the pulled path./chat(UI chat on the agent's in-memory conversation) is a separate follow-up.Acceptance criteria
Parent: #1081 (Phase 4).