| Age | Commit message (Expand) | Author |
| 2026-06-11 | feat(cache-warming,surfaces,metrics,markdown): conversation-scoped surfaces, ... | Adam Malczewski |
| 2026-06-10 | feat(chat,app): Model view in sidebar + split key/model selectors | Adam Malczewski |
| 2026-06-10 | feat(views,surface-host): Extensions sidebar view — auto-expanded surfaces ... | Adam Malczewski |
| 2026-06-10 | feat(tabs,app): tab id handles, fixed-width tabs-lift, slim shell + full-heig... | Adam Malczewski |
| 2026-06-10 | feat(metrics): inline cache hit-rate badges (last turn + chat total) | Adam Malczewski |
| 2026-06-10 | feat(metrics): per-turn + per-step token/timing metrics bubbles | Adam Malczewski |
| 2026-06-07 | fix(core): add step-complete contract guard for [email protected] | Adam Malczewski |
| 2026-06-07 | Revert "feat(chat): live turn metrics — telemetry reducer + rendering" | Adam Malczewski |
| 2026-06-07 | feat(chat): live turn metrics — telemetry reducer + rendering | Adam Malczewski |
| 2026-06-07 | feat(chat): restyle thinking — visible bubble, collapse, title swap, persis... | Adam Malczewski |
| 2026-06-07 | feat(chat): drop the faded opacity on in-flight messages | Adam Malczewski |
| 2026-06-07 | feat(chat): group batched tool calls into one DaisyUI list | Adam Malczewski |
| 2026-06-07 | feat(chat): restyle transcript — left-aligned, bubbleless assistant, tool c... | Adam Malczewski |
| 2026-06-07 | feat(tabs): polish new-chat button — stuck-only square edge, New Chat labelHEADmain | Adam Malczewski |
| 2026-06-07 | feat(tabs): extract TabBar component with horizontal scroll + sticky end '+' | Adam Malczewski |
| 2026-06-07 | fix: optimistic user message echo + tabs persistence | Adam Malczewski |
| 2026-06-07 | Slice 3 wave B: tabbed multi-conversation app + model selector (DaisyUI) | Adam Malczewski |
| 2026-06-07 | Slice 3 wave A: tabs model, model selector, cache delete, localStorage | Adam Malczewski |
| 2026-06-07 | Slice 3 setup: Tailwind v4 + DaisyUI v5 (dracula enabled) + 'tab' vocab | Adam Malczewski |
| 2026-06-07 | fix(chat): keep thinking <details> open while streaming | Adam Malczewski |
| 2026-06-07 | fix: blank page on non-localhost HTTP (secure-context crypto.randomUUID) | Adam Malczewski |
| 2026-06-07 | Slice 2 wave 3: wire chat end-to-end at the composition root | Adam Malczewski |
| 2026-06-07 | Slice 2 wave 2: IndexedDB cache adapter + chat feature | Adam Malczewski |
| 2026-06-07 | Slice 2 wave 1: transcript reducer, wire conformance, ws chat, cache core | Adam Malczewski |
| 2026-06-06 | Slice 1 follow-up: component-render interaction tests (CR-1/CR-2) | Adam Malczewski |
| 2026-06-06 | Slice 1: surface system + WS transport + composition root | Adam Malczewski |