Skip to content

feat(agent): Maple-owned mid-run message queue - #781

Merged
AnthonyRonning merged 8 commits into
masterfrom
codex-agt-queue-maple
Aug 18, 2026
Merged

feat(agent): Maple-owned mid-run message queue#781
AnthonyRonning merged 8 commits into
masterfrom
codex-agt-queue-maple

Conversation

@AnthonyRonning

@AnthonyRonning AnthonyRonning commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Maple Agent can send while a Desktop run is active. Follow-ups stay as staged chips on a Maple-owned FIFO and are promoted as consecutive individual user messages on the next convenient turn.

  • Mid-run Send stages chips instead of starting a second Goose reply.
  • The next finished turn flushes every leftover chip, not just the oldest.
  • Stop cancels Goose only; leftover chips stay so they can be edited, dropped, or sent.
  • Pencil edits a chip in place. Discard leaves it unchanged. An open edit holds promotion so a finishing turn cannot ship stale text.
  • ACP still rejects a second prompt. Desktop queue is Desktop-only.

Follow-up for optional mid-loop steer: #792

Allow Maple Agent users to send while a Desktop run is active. Mid-run
messages attach to Goose's public steer queue and appear at the next
convenient turn instead of requiring Stop first. ACP still rejects a
second prompt.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 14, 2026

Copy link
Copy Markdown

Deploying maple with  Cloudflare Pages  Cloudflare Pages

Latest commit: 34a1fdd
Status: ✅  Deploy successful!
Preview URL: https://aa0fc8de.maple-ca8.pages.dev
Branch Preview URL: https://codex-agt-queue-maple.maple-ca8.pages.dev

View logs

Stop now cancels an in-flight composer send even when a run is active, and Send stays locked until that cancelled run settles so a follow-up cannot hit the leftover Goose claim.
Mid-run Desktop follow-ups now live in a Maple FIFO and only become
timeline turns when sequential Agent::reply promotes them. Composer
chips support cancel and unqueue-for-edit. Stop cancels only the live
Goose turn and leaves leftover chips; a later Send flushes the queue
plus any composer draft. ACP still rejects a second prompt.
Keep empty Desktop queue entries so revision stays monotonic and later
chips are not dropped. Peek the launch item and consume it only after
the run is inserted, so claim/setup/insert failures leave leftovers.
Promote under session_lifecycle, gate empty Send while a run is active,
and fence pencil restore to the owning session. Apply ACP turn outcomes
and Error events for every routing; only Desktop takes the next chip.
Desktop now promotes the entire leftover chip stack as consecutive
individual user messages on the next convenient turn, instead of
only the oldest item. Goose still merges consecutive same-role
messages before the provider request, so Completions sees one user
turn while the timeline keeps each chip as its own row.
Pencil no longer pops a chip and restacks it. The composer tracks the
queue id being edited, Discard restores any unpublished draft, and Send
updates that item's text while keeping its original position.
An open pencil edit now locks native promotion so a finishing turn
cannot send the unedited chip. Save or Discard releases the lock.
If the run already ended, Send saves the edit and flushes leftover
chips in the same gesture.
Keep the Maple-owned staged queue and in-place chip edit while taking
prompt-history navigation and composer-focus restoration from master.
@AnthonyRonning
AnthonyRonning marked this pull request as ready for review August 18, 2026 23:12
@AnthonyRonning AnthonyRonning changed the title feat(agent): queue mid-run composer messages with Goose steer feat(agent): Maple-owned mid-run message queue Aug 18, 2026
@AnthonyRonning
AnthonyRonning merged commit 0978fc8 into master Aug 18, 2026
11 checks passed
@AnthonyRonning
AnthonyRonning deleted the codex-agt-queue-maple branch August 18, 2026 23:19
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