From c6d031fe016564b00aa4a350c60447f07275d459 Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Sat, 9 May 2026 04:41:31 +0200 Subject: [PATCH] docs: resolve all open questions in copilot-thoughts.md Appendix C - Paused badge: P! prefix + dim (implemented) - Mode per-session confirmed - Tmux: user-opt-in only (SF does not inject tmux config) - No sound/notification - repair auto-transition: no ask gate - Skill evals: on-demand with SF_SKILL_EVALS=1 - /tasks: inline output until pi-tui overlay support exists - modelMode: supplement tiers via bridge (confirmed) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- copilot-thoughts.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/copilot-thoughts.md b/copilot-thoughts.md index 114e45ed8..459c81d64 100644 --- a/copilot-thoughts.md +++ b/copilot-thoughts.md @@ -1181,7 +1181,7 @@ Renders footer with git status, cost, context usage. No mode badge yet. Declares hooks: `session_start`, `session_switch`, `before_agent_start`, `tool_result`, `agent_start`, `agent_end`. -**Status:** Mode badge implemented in TUI header with compact `[B∞TS]` form at <80 cols, full `build · autonomous · trusted · smart` at ≥80 cols. +**Status:** Mode badge implemented in TUI header and footer. Compact `[B∞TS]` form at <80 cols, full `build · autonomous · trusted · smart` at ≥80 cols. Paused state dims all badge parts and shows `P!` (compact) or `paused ·` (full) prefix. `renderModeBadge` exported from header.js and shared with footer via `FOOTER_THEME` adapter. `getMode()` surfaces `session.paused` on the returned mode object. ### A.6 UOK Parity Report (Already Uses runControl) @@ -1255,14 +1255,13 @@ Skill loading, health monitoring, telemetry. --- -## Appendix C: Open Questions +## Appendix C: Open Questions — Resolved -1. Should paused autonomous show previous badge dimmed, or `[P]` for paused? -2. Should mode be per-session or per-project? (Current: per-session) -3. Should badge appear in tmux/terminal window titles? -4. Should mode transitions have sound/notification? -5. Should `repair` auto-transition be `ask` by default for new projects? -6. Should skill eval cases run in CI or only on-demand? -7. Should `/tasks` be a TUI overlay or a separate scrollable panel? -8. Should `modelMode` replace or supplement the existing tier system (`light`/`standard`/`heavy`)? - (Current: `modelMode` supplements tiers via `modelModeToTier()` bridge) +1. **Paused badge** → `[P!BATS]` in compact form; `paused · build · assisted · normal · smart` in full form. All parts dim when paused. Implemented in `renderModeBadge`. +2. **Mode per-session or per-project?** → Per-session. Mode is a runtime posture for the current work, not a project-level config. +3. **Badge in tmux/terminal window titles?** → Terminal title already handled via OSC escape in `auto/session.js`. Tmux requires users to set `set-option -g set-titles on` — SF does not inject tmux config. +4. **Mode transitions with sound/notification?** → No. A terminal tool has no appropriate sound channel. The badge is the sole visibility mechanism. +5. **`repair` auto-transition: ask by default for new projects?** → No. Auto-transition is correct behavior for autonomous runs. Only if `runControl` is `manual` or `assisted` is the transition blocked. +6. **Skill eval cases: run in CI or on-demand?** → On-demand only. Gate with `SF_SKILL_EVALS=1` env var. CI is too slow and model-dependent for skill evals. +7. **`/tasks`: TUI overlay or separate scrollable panel?** → Inline output (current). A full panel requires `pi-tui` overlay support that is not yet built. +8. **`modelMode` replace or supplement tier system?** → Supplement via `modelModeToTier()` bridge. Direct model selection overrides `modelMode`; `modelMode` guides routing when no explicit model is set.