yoi/.yoi/tickets/00001KXDXEJQS/thread.md

78 lines
2.1 KiB
Markdown

<!-- event: create author: "yoi ticket" at: 2026-07-13T14:17:43Z -->
## 作成
LocalTicketBackend によって作成されました。
---
<!-- event: intake_summary author: hare at: 2026-07-13T14:18:30Z -->
## Intake summary
Marked ready by `yoi ticket state`.
---
<!-- event: state_changed author: "yoi ticket" at: 2026-07-13T14:18:30Z from: planning to: ready reason: cli_state field: state -->
## State changed
Marked ready by `yoi ticket state`.
---
<!-- event: state_changed author: "yoi ticket" at: 2026-07-13T14:18:30Z from: ready to: queued reason: queued field: state -->
## State changed
Ticket を `yoi ticket` が queued にしました。
---
<!-- event: state_changed author: "yoi ticket" at: 2026-07-13T14:18:30Z from: queued to: inprogress reason: cli_state field: state -->
## State changed
State changed to `inprogress`.
---
<!-- event: implementation_report author: hare at: 2026-07-13T14:30:37Z -->
## Implementation report
Implemented console rendering for WebSocket snapshot entries.
Root cause:
- Browser Console consumed `snapshot.status` and `snapshot.in_flight`, but ignored `snapshot.entries`.
- After reconnect/restore the WebSocket snapshot arrived, but committed conversation history was not projected into console rows, so the console appeared empty without an error.
Changes:
- `projectConsole` now rebuilds committed console rows from `snapshot.data.entries`.
- `SegmentStart.history` is replayed so seed history from restored/compacted sessions is visible.
- Snapshot log entries for user input, assistant messages, reasoning, tool calls, and tool results are projected into existing ConsoleLine shapes.
- Existing in-flight snapshot rendering is preserved.
- Unknown snapshot entries are ignored rather than surfaced as errors.
Validation:
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `git diff --check`
- `nix build .#yoi --no-link`
---
<!-- event: state_changed author: "yoi ticket" at: 2026-07-13T14:30:38Z from: inprogress to: done reason: cli_state field: state -->
## State changed
State changed to `done`.
---