| Age | Commit message (Expand) | Author |
| 2026-06-22 | feat: incremental seq assignment during generation (CR-6) | Adam Malczewski |
| 2026-06-22 | feat: stop generation mid-turn (POST /conversations/:id/stop) | Adam Malczewski |
| 2026-06-22 | docs: mark roadmap items 9 (tab persistence) + 10 (compacting) as DONE | Adam Malczewski |
| 2026-06-22 | fix: compaction keeps original ID, forks old history to archive, chains via c... | Adam Malczewski |
| 2026-06-22 | docs: update compaction handoff with compactedFrom linking + archive listing | Adam Malczewski |
| 2026-06-22 | feat: non-destructive compaction — fork history to archive before replacing | Adam Malczewski |
| 2026-06-22 | docs: update compaction handoff with default 350k threshold | Adam Malczewski |
| 2026-06-22 | feat: default auto-compact threshold to 350k tokens | Adam Malczewski |
| 2026-06-22 | feat: conversation compacting (manual + automatic) | Adam Malczewski |
| 2026-06-22 | feat: conversation lifecycle status (active/idle/closed) for tab persistence | Adam Malczewski |
| 2026-06-21 | docs: CLI list defaults to active+idle, --all/--status flag for filtering | Adam Malczewski |
| 2026-06-21 | docs: add tab persistence + conversation compacting to roadmap | Adam Malczewski |
| 2026-06-21 | feat: remove CWD path containment from file tools | Adam Malczewski |
| 2026-06-21 | fix(transport-http): stream /chat response instead of buffering | Adam Malczewski |
| 2026-06-21 | fix(cli): fire --open signal before streaming starts, not after | Adam Malczewski |
| 2026-06-21 | feat(cli): add 'open' command to signal frontend without sending a message | Adam Malczewski |
| 2026-06-21 | docs: update cache-rate FE handoff for providers that don't report cache | Adam Malczewski |
| 2026-06-21 | fix(openai-stream): omit usage attrs from spans when provider doesn't report | Adam Malczewski |
| 2026-06-21 | fix(openai-stream): add stream_options.include_usage to all requests | Adam Malczewski |
| 2026-06-21 | feat(cli): add --open flag to model-name chat command | Adam Malczewski |
| 2026-06-21 | fix(install): write service file directly instead of sed (slashes broke it) | Adam Malczewski |
| 2026-06-21 | feat(install): run dispatch service as user, not root | Adam Malczewski |
| 2026-06-21 | fix(setup-env): set HOME so skills discovery works under systemd | Adam Malczewski |
| 2026-06-21 | fix(transport-http): set Content-Type on static file responses | Adam Malczewski |
| 2026-06-21 | feat: standalone build + systemd install (Arch Linux) | Adam Malczewski |
| 2026-06-21 | feat: standalone build + systemd install (Arch Linux) | Adam Malczewski |
| 2026-06-21 | feat(skills): recursive skill discovery — scan subdirectories | Adam Malczewski |
| 2026-06-21 | docs(tasks): CLI milestone done (roadmap items 2 + 4) | Adam Malczewski |
| 2026-06-21 | feat(cli): list, read, send commands (Wave 3) | Adam Malczewski |
| 2026-06-21 | feat(transport): CLI endpoints + conversation.open broadcast (Wave 2) | Adam Malczewski |
| 2026-06-21 | feat(conversation-store): conversation metadata + list + title (Wave 1) | Adam Malczewski |
| 2026-06-21 | feat(cli): Wave 0 — contracts for conversation list, last message, open tab | Adam Malczewski |
| 2026-06-21 | refactor(tool-youtube-transcript): always save full transcript, fix description | Adam Malczewski |
| 2026-06-21 | feat(tool-youtube-transcript): write full transcript to /tmp/dispatch on trun... | Adam Malczewski |
| 2026-06-21 | refactor(tool-youtube-transcript): remove .youtube_subtitles_pending file con... | Adam Malczewski |
| 2026-06-21 | feat(tool-youtube-transcript): YouTube transcription tool | Adam Malczewski |
| 2026-06-21 | feat(todo): per-conversation task list tool + surface | Adam Malczewski |
| 2026-06-21 | feat(tool-web-search): Firecrawl-backed web search tool | Adam Malczewski |
| 2026-06-21 | feat(provider-umans): Umans AI Coding Plan provider + openai-stream lib | Adam Malczewski |
| 2026-06-21 | feat(message-queue): per-conversation queue + steering injection | Adam Malczewski |
| 2026-06-21 | fix(history): harden loadSince sinceSeq lower bound (forgiving, like beforeSe... | Adam Malczewski |
| 2026-06-12 | docs(harness): Task-tool summon mechanism rework (briefs, ORCHESTRATOR, HANDO... | Adam Malczewski |
| 2026-06-12 | docs(handoff): FE courier — reasoning effort (selector, per-turn override, ... | Adam Malczewski |
| 2026-06-12 | docs(tasks): reasoning-effort milestone — waves 1-3 done, live-verify + FE ... | Adam Malczewski |
| 2026-06-12 | feat(reasoning-effort): persisted per-conversation + per-turn override, threa... | Adam Malczewski |
| 2026-06-12 | feat(contracts): reasoning effort — ReasoningEffort ladder (low..max), Prov... | Adam Malczewski |
| 2026-06-12 | feat(history): CR-5 windowed reads — ?limit= / ?beforeSeq= on GET /conversa... | Adam Malczewski |
| 2026-06-12 | feat(cache-warming): lifecycle CR-4 — default-off, fresh nextWarmAt, conver... | Adam Malczewski |
| 2026-06-12 | fix(turns): emit user prompt on the turn event stream (CR-3) | Adam Malczewski |
| 2026-06-12 | feat(turns): detached turns + multi-client live view | Adam Malczewski |