yoi/.yoi/tickets/00001KSKBPNNG/thread.md

82 lines
3.8 KiB
Markdown

<!-- event: migration author: tickets.sh-migration at: 2026-05-27T00:00:14Z -->
## Migrated
Migrated from tickets/tui-actionbar-transient-notice-api.md. No legacy review file was present at migration time.
---
<!-- event: close author: hare at: 2026-05-29T03:57:35Z status: closed -->
## Closed
---
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 本体の実装。
---