yoi/.yoi/tickets/00001KXDXEJQS/item.md

28 lines
1.5 KiB
Markdown

---
title: 'Render console snapshot entries'
state: 'planning'
created_at: '2026-07-13T14:17:43Z'
updated_at: '2026-07-13T14:18:00Z'
assignee: null
---
## 背景
Browser Console は Worker observation WebSocket から connect-time `snapshot` event を受け取っているが、`snapshot.data.entries` を conversation surface に投影していない。そのため reconnect / restore 後、snapshot 自体は届いていても console が空に見える。現在は snapshot の status と in-flight blocks だけを使っている。
Protocol の `Event::Snapshot.entries` は session-store `LogEntry` JSON であり、bulk reconstruction lane として UI が派生 view を seed するためのデータである。Browser Console でも TUI と同様に snapshot entries から committed conversation rows を復元する。
## 要件
- Browser Console projection が `snapshot.data.entries` を render する。
- `SegmentStart.history` も replay し、fork/restore/compaction 後の seed history を表示する。
- UserInput / assistant message / reasoning / tool call / tool result を既存 ConsoleLine に変換する。
- Snapshot の in-flight block 表示は維持する。
- 不明な snapshot entry は error にせず無視する。
## 受け入れ条件
- snapshot entries だけで user / assistant / tool rows が console に表示される。
- snapshot in-flight blocks は引き続き streaming line として表示される。
- frontend tests が通る。