v0.23.0 — a background command that keeps writing output no longer gets its turn stopped as silent
A growing background command counts as activity. The CLI writes nothing to the stream while a main-assistant background shell command (local_bash) runs. So a turn waiting on one that was visibly making progress, such as a release watcher printing a line every 30 s, was stopped as silence_timeout_exceeded after 900 s, with all the work done. While such a command runs, the bridge now looks at the output file the CLI named in its reply to the call: every 30 s at the default bound, or a quarter of the bound when it is shorter. Growth since the last look resets the silence clock.
- Only growth counts, never "a command is running". A command that has gone quiet, or never ends, still runs into the bound, and the turn is stopped as before.
- The path is read from the CLI's reply, never built. If the reply stops naming it, nothing is watched and behaviour is unchanged.
- Sub-agents were already covered by their own progress frames. The 900 s default is unchanged.
Input-turn addendum. It now says what counts as progress: the agent's own messages, a background command that keeps writing output, and a subagent that keeps working. That replaces "no output at all", which the agent read as including its task's own log lines.
No protocol change; a server needs nothing new. Also bumps fast-uri and ip-address, both transitive, past moderate advisories.