f671913c989f481cbdd2da7e351c5f2f3474c85e
`ssh_exec` hands a long command a handle and returns. If the model comes back with `ssh_wait` it gets the outcome; if it does not, the command runs to completion, its output sits in a buffer, and ten minutes later the sweep throws all of it away having been read by no one. A deploy whose result vanishes because the agent got distracted is the quietest failure this design could have, and the only thing standing against it was a sentence in a tool result asking the model to please remember. The registry announces instead. A watcher per adopted command — again unstructured, again because a structured one would deadlock on a task that ignores cancellation — reports the outcome when the command ends. It reports only when nobody is looking: `wait` counts itself in and out around its own wait, so a completion landing mid-wait is reported by that call rather than announced behind its back. Hearing one outcome twice is worse than hearing it once. The notice reaches the model on the steering queue's delivery point but through its own event, because the two are not the same thing. Steering is a person talking; this is a machine reporting. `noticeDelivered` lands in the conversation's model-facing `transcript` and nowhere else — the visible message list never sees it. That matters because the transcript has exactly three roles, so anything the run says to the model has to be sent as `user`, and rendering it would attribute to the reader words the reader never wrote. The user finds out that a command finished from its card, which is the honest surface for it. A notice does not keep a run alive, unlike steering. Reports first then instructions at each boundary, but the loop's decision to stop consults only the steering queue: a report is not a request, and an agent that has already said its piece should not start talking again because a command it forgot about came back. The consequence is stated rather than hidden — a command that finishes after its conversation has gone quiet has nobody to report to, `notify` returns false, and the model finds out by asking or not at all. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
AI-driven remote workspace for Mac, iPhone, and iPad.
https://termind.akinokaede.com
23 MiB
0 Stars
1 Watchers
0 Forks
Languages
Swift
98.9%
Python
0.8%
Ruby
0.3%