User intervention while call_subordinate is running silently drops the subordinate's turn (no result, no error, no agent activity) #71
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/a0-symbolics#71
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
A user message sent while a
call_subordinatedelegation was executing left the subordinate context with its assignment but zero agent activity — no LLM turn, no tool result back to the parent, no error, and no log entry explaining the abandonment. The subordinate chat is silently orphaned.Evidence (2026-09-04, container UTC times)
15:15:01Z— parent chatxPXTvnZd(Agent Zero, agent 0) delegates a code-audit task viacall_subordinate(profiledeveloper). Console showsA0: Using tool 'call_subordinate'andUser message (subordinate).15:15:01Z— subordinate context2YzAtHjDis created. Itschat.jsoncontains exactly one log entry (the subordinate user message);iteration_nonever increments; noutil,agent, or error entry ever appears.15:15:02Z— a user message ("Ok update it to be mara") arrives as an intervention on the parent.15:15:11Z), but never receives a result for the delegation — the parent chat log ends right after the delegation with noResponse from tool 'call_subordinate'.Suspected mechanism
Delegation.execute→run_subordinateawaits the child as a nested coroutine (await subordinate.monologue(),tools/call_subordinate.py:203) inside the parent's task. When the user intervention is processed, the unwind across the nested-monologue boundary aborts the child's turn without cancellation cleanup, without a tool result for the parent, and without any record in the child chat.Impact
Suggested fix
At the
run_subordinateboundary, catch intervention/cancellation and make abandonment explicit — either:Add a regression test: send a user intervention while
call_subordinateis executing and assert the child chat either completes with a result or contains an explicit interruption warning — never silently empty.Cross-ref: lost-rob0t/a0-symbolics#74
teaCLI is unavailable and unauthenticated in the runtime container (not in image/Home Manager, no token bootstrap) #78