Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ export default defineConfig({
collapsed: false,
items: [
{ text: 'Talking to a running turn', link: '/guide/steering' },
{ text: 'Side questions (/btw)', link: '/guide/btw' },
{ text: 'Many conversations at once', link: '/guide/conversations' },
{ text: 'Showing the working (/details)', link: '/guide/details' },
{ text: 'The shape of a run (/status)', link: '/guide/status' },
Expand Down
32 changes: 32 additions & 0 deletions docs/guide/btw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Side questions — `/btw`

Ask about a long-running flow while it keeps working, without sending another message to the
flow's agent or waiting for its current turn.

## Try it

```
/btw what is the reviewer waiting for?
```

## What It Reads

The command takes a snapshot of the active flow: its name and task, each agent's current state
and turn count, observed handovers, spending, and the latest agent events. A separate short-lived
session answers from that snapshot. It is given read-only permissions and no flow skills, and it
is not registered with the run's monitor or cycle.

The answer appears in the transcript when it is ready. The original flow keeps its sessions,
queued messages and context untouched, so `/btw` is safe to use while an agent is thinking or
while several agents are working at once.

`/btw` needs an active flow and a question. It reports an error rather than starting a new flow
or falling back to a write-enabled agent when no read-only backend is available. Observations are
bounded and treated as untrusted data; the side agent is told not to follow instructions found in
the flow's output.

## See also

- [The shape of a run](/guide/status)
- [Talking to a running turn](/guide/steering)
- [Permissions](/guide/permissions)
1 change: 1 addition & 0 deletions docs/guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ These are for looking things up. If you have not used humanize before, the
| | |
| --- | --- |
| [Talking to a running turn](/guide/steering) | A line typed mid-turn goes *into* it, not after it |
| [Side questions](/guide/btw) | `/btw`: ask about progress without steering the flow |
| [Many conversations at once](/guide/conversations) | One transcript, **tab** between the agents that are working |
| [Showing the working](/guide/details) | `/details`: tool calls and thinking, or only what the agent says |
| [The shape of a run](/guide/status) | `/status`: who is working, who handed to whom, what it cost |
Expand Down
1 change: 1 addition & 0 deletions docs/guide/questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ agent.hooks.on(Moment.NOTIFICATION, lambda occasion: ring_a_bell(occasion.said))

## See also

- [Side questions](/guide/btw)
- [Being away](/guide/afk)
- [Answers in a shape](/guide/shapes)
- [The person as an agent](/guide/human-agent)
Expand Down
5 changes: 5 additions & 0 deletions docs/guide/status.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ so there is nothing to ask. What `/status` draws is kept from **the turns going
same `begins`/`ends` events any [watcher](/reference/agents#watching-a-turn-as-it-happens)
sees.

`/btw` uses this same live observation, together with the task, agent turn counts and handovers,
to answer a quick question. Its read-only side session receives a frozen snapshot, so asking it
does not add a message to, pause, or otherwise steer the flow.

That is also why the person, driven as [an agent](/guide/human-agent), is not in the graph.
Their turns are not bracketed by those events. Counting them would put a human in the handover
graph and spin a clock at them while they thought.
Expand Down Expand Up @@ -87,6 +91,7 @@ sessions, one slice per thing the agent did.

## See also

- [Side questions](/guide/btw)
- [Cost and rate](/guide/tally)
- [Many conversations at once](/guide/conversations)
- [Tracing](/guide/tracing)
1 change: 1 addition & 0 deletions docs/reference/tui.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ list appears under the editor with a line about each.
| `/providers` | | [The accounts](#the-accounts-themselves) an agent may be run as: what there is, and what can happen to one — made, taken away, and, on enter, corrected, signed in again, pointed at what it falls back to or told how it is tried again. |
| `/settings` | | [What humanize remembers](#what-humanize-remembers): two pages, one for what is true of this machine and one for what is remembered about this directory. |
| `/status` | | [How the run is going](#how-the-run-is-going), and the shape of it: a box per agent, marked as it works, with the handovers between them drawn as the arrows joining them. Enter reads an agent. **esc** opens it. |
| `/btw` | `<question>` | Asks a side question about the running flow from a read-only snapshot of its progress. It runs in a separate session and never steers the flow. |
| `/details` | `[on\|off]` | Shows or hides everything a turn did on the way to its answer: tool calls, thinking, and whatever a backend printed on its way past. One question — how much of the working to show — so one switch. **Off** to begin with. |
| `/afk` | `[on\|off]` | Whether an agent may stop and ask you something. See [below](#questions-and-being-away). |
| `/fallback` | | Where a turn goes when what was taking it cannot: an agent that has nowhere left to run, and an account that has gone down. See [below](#where-a-turn-goes-when-it-cannot-be-taken). |
Expand Down
Loading