From 54d84e3eaa32ecb1a499532d45de48dbec779613 Mon Sep 17 00:00:00 2001 From: Miguel Palhas Date: Mon, 24 Aug 2026 22:46:46 +0100 Subject: [PATCH] docs(maestro): settle Error report TTL and clearing rulings --- docs/SIDEBAR.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/SIDEBAR.md b/docs/SIDEBAR.md index e2341c4..82b0522 100644 --- a/docs/SIDEBAR.md +++ b/docs/SIDEBAR.md @@ -107,6 +107,20 @@ When the TTL expires, inference resumes and the session's reported detail — if any — clears with the report. Clients never blend the two: whichever source is in force supplies both the colour and the clock for `activity_since`. +Two rulings specific to a reported `Error` (#114): + +- **The five-minute TTL applies to `Error` like to any other state.** A + session that failed is still failed after five minutes, but a card pinned + red forever lies once the session moves on; when the report lapses the card + returns to the daemon's own inference — usually `Idle` for a session that + has gone quiet. +- **Only a new report clears an `Error` before its TTL.** The next + `ActivityState` of any kind replaces it (with #106's hook that is typically + `PreToolUse` → `Active` when the user prompts again). PTY output and + process changes do not clear it — only the agent itself may withdraw what + the agent itself reported. Re-reporting `Error` extends the TTL rather than + stacking reports. + If a client receives an `ActivityState` variant it does not know, it must not fail rendering: treat it as `Idle` (neutral/dim, line-2 rules apply as usual) until the daemon sends a variant it does know. Rust clients deserialize