Skip to content

Add send_input without breaking the wait mailbox - #682

Merged
TheGreatAxios merged 3 commits into
mainfrom
fleet-send-input
Aug 25, 2026
Merged

Add send_input without breaking the wait mailbox#682
TheGreatAxios merged 3 commits into
mainfrom
fleet-send-input

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • send_input soft-delivers a mid-turn message without completing wait_agents.
  • send_input with interrupt:true flips the same wait mailbox as interrupt_agent, then queues a followup without awaiting it.
  • A later followup becomes done only if that interrupt was never collected. Nested orchestrators may only target descendants.
  • Followup failures are logged, not swallowed.

Verification

  • bun run typecheck, bun run build, and bun run test pass
  • New tests cover soft-deliver, interrupt-unblocks-wait, missing followup, and descendant authority

@TheGreatAxios
TheGreatAxios changed the base branch from main to fleet-list-agents August 25, 2026 14:52
Soft-deliver steers a running worker without completing wait_agents.
interrupt:true uses the same mailbox flip as interrupt_agent so a parent
wait unblocks once, then a later followup can become done only if that
interrupt was never collected.
Nested interrupt/close/resume/followup now share send_input's
assertCanTargetAgent check and fail closed without an actorId.
Soft-interrupt wait_agents collects so a later followup cannot
resurrect an already-observed interrupt as done.
@TheGreatAxios
TheGreatAxios changed the base branch from fleet-list-agents to main August 25, 2026 16:02
@TheGreatAxios
TheGreatAxios merged commit 6808f99 into main Aug 25, 2026
5 checks passed
TheGreatAxios added a commit that referenced this pull request Aug 27, 2026
* Add send_input without breaking the wait mailbox

Soft-deliver steers a running worker without completing wait_agents.
interrupt:true uses the same mailbox flip as interrupt_agent so a parent
wait unblocks once, then a later followup can become done only if that
interrupt was never collected.

* Gate addressing fleet verbs with subtree authority

Nested interrupt/close/resume/followup now share send_input's
assertCanTargetAgent check and fail closed without an actorId.
Soft-interrupt wait_agents collects so a later followup cannot
resurrect an already-observed interrupt as done.

* Format run.ts after send_input authority restack
TheGreatAxios added a commit that referenced this pull request Aug 27, 2026
* Add send_input without breaking the wait mailbox

Soft-deliver steers a running worker without completing wait_agents.
interrupt:true uses the same mailbox flip as interrupt_agent so a parent
wait unblocks once, then a later followup can become done only if that
interrupt was never collected.

* Gate addressing fleet verbs with subtree authority

Nested interrupt/close/resume/followup now share send_input's
assertCanTargetAgent check and fail closed without an actorId.
Soft-interrupt wait_agents collects so a later followup cannot
resurrect an already-observed interrupt as done.

* Format run.ts after send_input authority restack
@TheGreatAxios
TheGreatAxios deleted the fleet-send-input branch August 28, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant