Stop button
Stop ends the run, not only the view. One press reaches the tool that is running, the other server slot, the goal and the Ultracode jobs of the chat.
Diagram as text
- You press Stop.
- The button shows Stopping and stays locked until the server confirms. If the request fails it is sent once more, and a second failure shows an error.
- The running tool ends. A result that arrives late is dropped.
- If the run sits on the other server slot, that slot gets the stop within a few seconds.
- A running /goal is paused instead of ended. Writing the next message does not restart it. The goal bar shows paused and a Resume button.
- Ultracode jobs of the chat are paused. Their card shows a Resume button that continues where they stopped.
- When the server confirms the end, the button unlocks.
- The button shows Stopping and stays locked until the server confirms the end. If the request fails, it is sent once more; a second failure shows an error.
- Every tool the assistant can call watches the Stop signal, also tools that wait for a workflow. After a stop, no late result lands in the chat.
- During a release a run can sit on the other server slot. The stop reaches it within a few seconds. A stop that arrives while a message is still being prepared is remembered, and the run starts already stopped.
- Stop pauses a /goal instead of ending it. Writing the next message does not restart it. The goal bar says paused and shows a Resume button.
- The Ultracode jobs of the chat are paused too. Their card shows Resume, which continues where the job stopped. A job that fails for a reason a retry cannot change, such as a missing checking model, is not repeated.
We tested this with a replica of the tools, the server slots and the database. We have not yet watched it on a real long build inside a container.