Queues and steering
Queue what comes next, steer what is running, cut the line, or take it back — per session, without stopping the work.
Why a queue instead of waiting#
The moment you know the next three things a session should do, you should be able to say so — without waiting for the current turn, and without interrupting it. Each session has its own queue, so five panes means five independent backlogs, each moving at its own pace.
Type and send while a turn is running and the prompt is queued with its position shown. It runs when the current turn settles.
The four moves on a live session#
Once something is running or queued, four actions cover everything you will want to do to it. They differ in exactly one respect: what happens to the turn that is already in flight.
- Send
- Nothing — the prompt joins the back of the queue and waits its turn.
- Steer
- Nothing — the guidance is handed to the running turn and picked up at its next step. The transcript records it as steered, so you can see later why the agent changed course.
- Stop & Run
- Stops it — the current turn is interrupted and this prompt runs next. The line-cutting move, for when the agent is confidently going the wrong way.
- Recall
- Nothing — removes a prompt you queued and puts it back in the composer, still editable. The undo.
The prompt boxType here whether or not a turn is running. Paste or drop images and files straight in; drafts are kept per session. — this control is not on the captured screen.
The buttons in this panel work — click them to look around.
Managing the queue itself#
A queue you cannot reorder is a queue you will end up emptying by hand. Drag queued prompts to reorder them, recall the ones that stopped making sense, and let the rest run down while you look at another pane.
Everything here is available headlessly too, which is what makes unattended runs and reproducible demos possible:
# what is lined up behind the current turn
mirasim ui-cli --port 4970 queue --session KEY
# hand a queued prompt to the RUNNING turn
mirasim ui-cli --port 4970 queue steer --session KEY --ref R
# interrupt, then run this one next
mirasim ui-cli --port 4970 queue jump --session KEY --ref R
# take one back out, or move it up the line
mirasim ui-cli --port 4970 queue recall --session KEY --ref R
mirasim ui-cli --port 4970 queue move --session KEY --ref R --to 0Composing a prompt worth queueing#
The composer is more than a text box: attach images and files by pasting or dropping them, reference project files, invoke a skill or built-in command with `/`, and keep drafts per session so switching panes never loses half a thought.
The prompts that work best read like a good ticket, in three parts:
- State the outcome and how you will check it
“Export should produce a CSV that opens cleanly in Numbers; I'll check by exporting the demo project.” A checkable finish line is the single biggest lever on agent quality.
- Name the constraints
What must not change, what style to match, which dependencies are off limits. Constraints are far cheaper to state up front than to review out of a diff later.
- Point at the relevant ground
The files, screens or docs that matter. The agent can find them itself, but naming them turns a search problem into a reading problem.
Add CSV export to the project view.
Done when: clicking Export downloads projects.csv that opens
cleanly in Numbers and round-trips through our importer.
Constraints: no new dependencies; match the table formatting
in src/export/json.ts; keep the button in the existing toolbar.
Relevant: src/views/ProjectView.tsx, src/export/ — the JSON
exporter is the closest existing pattern.Something wrong or missing on this page? Tell us