Skip to content
3 changes: 3 additions & 0 deletions docs/SONNY.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ Sonny's lookout answers outside the agent's sandbox, since a trigger is a
job of the system's scheduler: `add` (the fields below, as `every`, `cron`, `start {name,
model, effort}`, `reply_to`, `if`, `runs`, `turn_budget_tokens`, `replace`
and `message`), `remove`, `fire` or `show` NAME, or nothing to list them.
A row whose last fire sent a turn says how that turn ended, as the daemon
has it: `last.turn_status`, and `last.turn_error` when it did not complete,
so an agent sees the failure the person sees in `/background`.
It waits for a verdict wherever the agent's other calls do (`/approvals`),
since a trigger runs as the person and its `if` command outside any
sandbox. For people, scripts and other harnesses, Sonny writes
Expand Down
Binary file added docs/sonny/background-failed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/sonny/footer-failed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion sonny/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ per feature; group small things into the row they belong to.
| Lookout: tells a lead what its tasks did | shipped | added 10-26 #154, #161; one per daemon 10-27 #180; subscriptions 10-27 #195; subscribers only, leads subscribed 10-27 #212; news within a minute 10-27 #228, #232; a companion of the daemon 10-29 #370; a turn's end carries its reply 10-30 #378; stays light with thousands of bots 10-30 #398; a task's question is news 10-30 #395 | A lead can rest while tasks work and hear the moment they need it | ? |
| Lookout judge: a model decides what interrupts the lead (drift, interruptions, look-fors) | removed | added 10-26 #154; judge forks expire 10-27 #203; drift check 10-27 #204; interruptions only 10-27 #215; one judge with the approver 10-27 #217; picks 10-28 #239, #273; removed 10-29 #310 | Removed because the checks felt ad hoc and did not scale; the lookout now forwards everything and only picks the timing | ? |
| Lookout sources: pollers the person sets up feed news to agents | experimental | added 10-29 #305 | Agents hear about the world, not only their tasks | ? |
| `/background`: triggers and lookout subscriptions, fire or remove | shipped | added 10-28 #267; in the pane 10-28 #283 | See and control what runs while nobody watches | ? |
| `/background`: triggers and lookout subscriptions, fire or remove | shipped | added 10-28 #267; in the pane 10-28 #283; what failed first, `βœ— N failed` in the footer and the glance, turn failures in the triggers tool 10-30 | See and control what runs while nobody watches; a nightly run that failed while the laptop was offline or a login expired otherwise fails unseen | ? |

## Approvals

Expand Down
17 changes: 15 additions & 2 deletions sonny/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,18 @@ one of its tasks, with its name (`πŸ‘€ calc.lead`) under the agent's own.
day. `↑`/`↓` picks one, `f` fires a trigger now, and `d` pressed twice
removes it; the subscription Sonny keeps for a lead's tasks stays. The
footer says `↻ 2 in background` while the window's agent has any.
What failed is listed first, with a red `βœ—` and the error: a trigger
whose fire failed (one that ended on it stays listed until `d` removes
it), or whose fire went out and whose turn then failed (as
when the machine was offline or a login expired), and a server the
nightly memory cleanup could not read. Your own agents' failures, such as
the memory cleanup's, show in every window. The footer then says
`βœ— 1 failed` in red, left of the `↻`, and a click on either opens
`/background`. An agent sees the same in its triggers tool, whose rows
say how the turn their last fire sent ended.

![/background listing a nightly run whose turn failed offline and a server the cleanup could not read](../docs/sonny/background-failed.png)
![The footer: βœ— 2 failed in red, left of ↻ 1 in background](../docs/sonny/footer-failed.png)

![/background in the pane](../docs/sonny/pane-background.png)
- `/usage` shows, in the pane beside the conversation,
Expand Down Expand Up @@ -767,8 +779,9 @@ the conversation, from the newest place back: ↑ or Enter steps older, ↓
newer, and Esc stops where you are.

The pane's place, when nothing else is open there, is the margin. Its
first row is a glance at what runs for the agent: `↻` for its triggers
and subscriptions (a click opens `/background`), and its context, each
first row is a glance at what runs for the agent: a red `βœ—` for what
failed in the background and `↻` for its triggers and subscriptions (a
click on either opens `/background`), and its context, each
left out when there is nothing to say; the footer stops saying them while
it shows. Under the composer, the footer counts the other agents at work
(cyan `●`) and what needs you (yellow `●`), and a click on the count
Expand Down
Loading
Loading