yoi/work-items/closed/20260527-000014-tui-actionbar-transient-notice-api/resolution.md

3.5 KiB

id: 20260527-000014-tui-actionbar-transient-notice-api slug: tui-actionbar-transient-notice-api title: TUI: actionbar transient notice API status: closed kind: task priority: P2 labels: [migrated] created_at: 2026-05-27T00:00:14Z updated_at: 2026-05-29T03:57:34Z assignee: null legacy_ticket: tickets/tui-actionbar-transient-notice-api.md

Migration reference

  • legacy_ticket: tickets/tui-actionbar-transient-notice-api.md
  • migrated_from: TODO.md / tickets directory migration on 2026-05-27

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 本体の実装。