| Age | Commit message (Expand) | Author |
| 2026-06-26 | feat(heartbeat): prompt editor modal + hours/minutes timer + backend handoff | Adam Malczewski |
| 2026-06-26 | feat(heartbeat): heartbeat view with config, run list, live chat modal, and s... | Adam Malczewski |
| 2026-06-25 | Merge branch 'feature/ssh-support' into dev | Adam Malczewski |
| 2026-06-25 | fix(computer): show ✓ check after a successful Test (not a stuck spinner) | Adam Malczewski |
| 2026-06-25 | docs(handoff): mark §2d provider-retry divergence RESOLVED (backend merge de... | Adam Malczewski |
| 2026-06-25 | feat(computer): SSH computer selection + status + workspace default (handoff #2) | Adam Malczewski |
| 2026-06-25 | feat(workspaces): open workspace in a new browser tab | Adam Malczewski |
| 2026-06-25 | feat(tabs): show full title in tab hover tooltip | Adam Malczewski |
| 2026-06-25 | feat: workspaces shell + cwd-lsp rename + mcp/settings/system-prompt features... | Adam Malczewski |
| 2026-06-25 | feat(core): chunks retry-banner, wire conformance, ws logic, history adapter | Adam Malczewski |
| 2026-06-25 | chore: regenerate contract mirrors, bump deps, update docs/notes/scripts | Adam Malczewski |
| 2026-06-22 | fix: duplicate user message on first send in a new tab | Adam Malczewski |
| 2026-06-22 | feat: double-click tab to rename (PUT /conversations/:id/title) | Adam Malczewski |
| 2026-06-22 | feat: switch theme from dracula to monokai (custom) | Adam Malczewski |
| 2026-06-22 | feat: consume context window + percentage-based compact handoff | Adam Malczewski |
| 2026-06-22 | feat: persist sidebar layout + open/closed state between refreshes | Adam Malczewski |
| 2026-06-22 | feat: collapsible tool output (collapsed by default like thinking) | Adam Malczewski |
| 2026-06-22 | fix: tool output scrolls within its container instead of bleeding out | Adam Malczewski |
| 2026-06-22 | fix: trim provisional chunks during long turns (browser stays responsive) | Adam Malczewski |
| 2026-06-22 | feat: trim chunks during generation via step-complete syncTail (CR-6) | Adam Malczewski |
| 2026-06-22 | docs: update backend-handoff — CR-6 resolved by backend, trim for relevance | Adam Malczewski |
| 2026-06-22 | fix(metrics): show turn/step metrics for compacted conversations | Adam Malczewski |
| 2026-06-22 | fix(metrics): tail-align when stepId matching fails — prevent misaligned turns | Adam Malczewski |
| 2026-06-22 | fix(metrics): preserve turn-metrics for trimmed turns | Adam Malczewski |
| 2026-06-22 | feat(metrics): show turn number in metrics bubble (turn N · ...) | Adam Malczewski |
| 2026-06-22 | fix(metrics): skip unanchored step-metrics — no more empty bubbles at tail | Adam Malczewski |
| 2026-06-22 | feat: show 5-char git hash next to hamburger for cache-bust detection | Adam Malczewski |
| 2026-06-22 | fix(metrics): stepId-based segment matching — robust against chat-limit tri... | Adam Malczewski |
| 2026-06-22 | fix(composer): single context-aware button — Send/Queue/Stop | Adam Malczewski |
| 2026-06-22 | feat(chat): stop generation button — abort without closing | Adam Malczewski |
| 2026-06-22 | feat(compaction): conversation compacting + auto-compact threshold | Adam Malczewski |
| 2026-06-22 | feat(tabs): cross-device tab sync via conversation lifecycle | Adam Malczewski |
| 2026-06-21 | fix: conversation.open opens tab without auto-switching | Adam Malczewski |
| 2026-06-21 | docs: add ROADMAP.md — shipped features, next up, backlog | Adam Malczewski |
| 2026-06-21 | feat(ws): handle conversation.open broadcast — open/focus tab from CLI --open | Adam Malczewski |
| 2026-06-21 | refactor(todo): drop priority field — keep the tool simple | Adam Malczewski |
| 2026-06-21 | fix(todo): use static filled circle for in_progress instead of spinner | Adam Malczewski |
| 2026-06-21 | feat(surfaces): todo task list sidebar view | Adam Malczewski |
| 2026-06-21 | feat(chat): message queue + steering — mid-turn injection at tool-result bo... | Adam Malczewski |
| 2026-06-19 | fix: silence state_referenced_locally warning + sync draft model on catalog f... | Adam Malczewski |
| 2026-06-12 | feat(chat): reasoning-effort selector — sticky per-conversation thinking-de... | Adam Malczewski |
| 2026-06-12 | docs(handoff): CR-5 live-probed 23/23 — windowing semantics verified agains... | Adam Malczewski |
| 2026-06-12 | feat(chat): consume CR-5 history windowing — server-windowed cold loads + s... | Adam Malczewski |
| 2026-06-12 | feat(chat): chat limit — bulk quarter-unload, 75% fresh-load window, show-e... | Adam Malczewski |
| 2026-06-12 | feat(cache-warming): consume CR-4 lifecycle — tab-close cancel + scope-awar... | Adam Malczewski |
| 2026-06-12 | docs: merge ORCHESTRATOR.md into AGENTS.md as a single-agent guide | Adam Malczewski |
| 2026-06-12 | feat(chat): multi-client live view — watch in-flight turns + user prompt on... | Adam Malczewski |
| 2026-06-12 | chore: pin Node 24 via mise (.tool-versions) after asdf removal | Adam Malczewski |
| 2026-06-12 | feat(chat): old-Dispatch composer layout — textarea + send + status bar | Adam Malczewski |
| 2026-06-12 | feat(metrics): consume contextSize — current context-usage readout | Adam Malczewski |