From 8653fdd3e595205b6c768971bb103245fb62ecf6 Mon Sep 17 00:00:00 2001 From: Hare Date: Mon, 25 May 2026 02:40:59 +0900 Subject: [PATCH] docs: add actionbar notice api ticket --- TODO.md | 1 + tickets/tui-actionbar-transient-notice-api.md | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 tickets/tui-actionbar-transient-notice-api.md diff --git a/TODO.md b/TODO.md index 00361137..8ba111f7 100644 --- a/TODO.md +++ b/TODO.md @@ -13,6 +13,7 @@ - TUI 拡充 - navigation mode / block focus の設計 → [tickets/tui-navigation-mode-design.md](tickets/tui-navigation-mode-design.md) - spawned child Pod の一覧と一時 attach → [tickets/tui-spawned-pod-panel.md](tickets/tui-spawned-pod-panel.md) + - actionbar transient notice API → [tickets/tui-actionbar-transient-notice-api.md](tickets/tui-actionbar-transient-notice-api.md) - user manifest env override 時の spawn scope overlay 前提ズレ → [tickets/tui-user-manifest-env-overlay.md](tickets/tui-user-manifest-env-overlay.md) - ユーザーマニフェストのモデル設定 wizard → [tickets/tui-user-model-setup.md](tickets/tui-user-model-setup.md) - メモリ機構 diff --git a/tickets/tui-actionbar-transient-notice-api.md b/tickets/tui-actionbar-transient-notice-api.md new file mode 100644 index 00000000..ba22c8ba --- /dev/null +++ b/tickets/tui-actionbar-transient-notice-api.md @@ -0,0 +1,47 @@ +# TUI: actionbar transient notice API + +## 背景 + +TUI の actionbar は最下部の補助表示行として、現在の mode や一時的な操作フィードバックを出す場所になりつつある。 + +一方で、現在は `Ctrl-C` の二段階終了 guard のような一時通知も `app.push_error(...)` 等で view 上に残る message として扱われている。これは後から見返すログではなく、数秒だけ見えれば十分な操作フィードバックである。 + +また、memory audit log 実装では extract / consolidation worker の直近 event を actionbar に表示する予定であり、個別機能ごとに ad hoc な actionbar 表示を増やすと優先順位・寿命・表示競合の扱いが散らばる。 + +## 方針 + +Actionbar を「history / transcript に残さない transient UI state」の共通表示面として扱う API を App 側に用意する。 + +永続的に残すべき Pod event / model output / tool result / user-visible error と、一時的な操作フィードバックを分離する。actionbar notice は UI の補助表示であり、LLM context や session history へ暗黙注入しない。 + +## 要件 + +- App に actionbar transient notice を設定・期限切れ・取得するための API を追加する。 + - 例: `flash_actionbar_notice(text, duration)` または `set_actionbar_notice(...)` + - notice には最低限 `text`, `level`, `source`, `expires_at` 相当を持たせる。 + - time source はテストしやすい形にする。 +- actionbar rendering は transient notice を優先表示できる。 + - 既存の command mode marker、queued input hint、scroll indicator、view mode label と競合しない優先順位を定義する。 + - notice が期限切れなら表示しない。 +- `Ctrl-C` の二段階終了 guard の表示を view log から actionbar notice に移す。 + - `Pod keeps running` などの一時説明は transcript/view 上に残さない。 + - 二度押しの挙動自体は変えない。 +- memory worker の actionbar 表示が既に実装済みの場合、可能な範囲でこの API に寄せる。 + - 未実装・別 branch 上の場合は、この ticket の範囲では API 設計が衝突しないようにする。 +- actionbar notice は通常の LLM context に暗黙注入しない。 + - 必要な正本ログは各機能の audit/session log に残す。 + +## 完了条件 + +- actionbar transient notice 用 API が App/UI に追加されている。 +- `Ctrl-C` 二段階終了 guard の一時メッセージが actionbar に表示され、view log には残らない。 +- notice の期限切れと優先表示の挙動がテストされている。 +- 既存の command mode / queued input / scroll / view mode actionbar 表示が破綻していない。 +- `cargo fmt --check` と関連 TUI テストが通る。 + +## 範囲外 + +- actionbar の複数行化。 +- 汎用 notification center / viewer UI。 +- Pod / worker の正本ログ形式の変更。 +- memory audit log 本体の実装。