| Age | Commit message (Expand) | Author |
| 5 days | fix(system-prompt): reconstruct on cwd change via getWithMeta | Adam Malczewski |
| 5 days | workspace: conversation.open/statusChanged carry workspaceId (1405 vitest) | Adam Malczewski |
| 5 days | feat(system-prompt): rich system:os with WSL detection + Linux distro | Adam Malczewski |
| 5 days | feat(system-prompt): add prompt:workspace_id variable | Adam Malczewski |
| 5 days | docs: system-prompt builder FE courier handoff + tasks.md update | Adam Malczewski |
| 5 days | feat(system-prompt): register extension in host-bin CORE_EXTENSIONS | Adam Malczewski |
| 5 days | feat(system-prompt): wire into turn flow + compaction + API routes | Adam Malczewski |
| 5 days | feat(system-prompt): template-based system prompt builder extension | Adam Malczewski |
| 5 days | fix(lsp): gate LSP endpoint on persisted cwd; accept workspaceId on PUT cwd | Adam Malczewski |
| 6 days | docs: mark workspaces live-verified + dist rebuilt for FE | Adam Malczewski |
| 6 days | docs: update tasks.md — workspaces milestone DONE | Adam Malczewski |
| 6 days | feat: workspaces — session-orchestrator + transport-http + transport-ws + c... | Adam Malczewski |
| 6 days | feat: workspaces contract + conversation-store implementation (Wave 0+1) | Adam Malczewski |
| 7 days | docs: remove context window LIMIT from open items (DONE) | Adam Malczewski |
| 7 days | docs: FE handoff for context window + percentage-based compact | Adam Malczewski |
| 7 days | feat: context window from model endpoints + percentage-based auto-compact | Adam Malczewski |
| 7 days | feat: incremental seq assignment during generation (CR-6) | Adam Malczewski |
| 7 days | feat: stop generation mid-turn (POST /conversations/:id/stop) | Adam Malczewski |
| 7 days | docs: mark roadmap items 9 (tab persistence) + 10 (compacting) as DONE | Adam Malczewski |
| 7 days | fix: compaction keeps original ID, forks old history to archive, chains via c... | Adam Malczewski |
| 7 days | docs: update compaction handoff with compactedFrom linking + archive listing | Adam Malczewski |
| 7 days | feat: non-destructive compaction — fork history to archive before replacing | Adam Malczewski |
| 7 days | docs: update compaction handoff with default 350k threshold | Adam Malczewski |
| 7 days | feat: default auto-compact threshold to 350k tokens | Adam Malczewski |
| 7 days | feat: conversation compacting (manual + automatic) | Adam Malczewski |
| 7 days | feat: conversation lifecycle status (active/idle/closed) for tab persistence | Adam Malczewski |
| 7 days | docs: CLI list defaults to active+idle, --all/--status flag for filtering | Adam Malczewski |
| 7 days | docs: add tab persistence + conversation compacting to roadmap | Adam Malczewski |
| 7 days | feat: remove CWD path containment from file tools | Adam Malczewski |
| 7 days | fix(transport-http): stream /chat response instead of buffering | Adam Malczewski |
| 7 days | fix(cli): fire --open signal before streaming starts, not after | Adam Malczewski |
| 7 days | feat(cli): add 'open' command to signal frontend without sending a message | Adam Malczewski |
| 7 days | docs: update cache-rate FE handoff for providers that don't report cache | Adam Malczewski |
| 7 days | fix(openai-stream): omit usage attrs from spans when provider doesn't report | Adam Malczewski |
| 7 days | fix(openai-stream): add stream_options.include_usage to all requests | Adam Malczewski |
| 7 days | feat(cli): add --open flag to model-name chat command | Adam Malczewski |
| 7 days | fix(install): write service file directly instead of sed (slashes broke it) | Adam Malczewski |
| 7 days | feat(install): run dispatch service as user, not root | Adam Malczewski |
| 7 days | fix(setup-env): set HOME so skills discovery works under systemd | Adam Malczewski |
| 7 days | fix(transport-http): set Content-Type on static file responses | Adam Malczewski |
| 7 days | feat: standalone build + systemd install (Arch Linux) | Adam Malczewski |
| 7 days | feat: standalone build + systemd install (Arch Linux) | Adam Malczewski |
| 7 days | feat(skills): recursive skill discovery — scan subdirectories | Adam Malczewski |
| 7 days | docs(tasks): CLI milestone done (roadmap items 2 + 4) | Adam Malczewski |
| 7 days | feat(cli): list, read, send commands (Wave 3) | Adam Malczewski |
| 8 days | feat(transport): CLI endpoints + conversation.open broadcast (Wave 2) | Adam Malczewski |
| 8 days | feat(conversation-store): conversation metadata + list + title (Wave 1) | Adam Malczewski |
| 8 days | feat(cli): Wave 0 — contracts for conversation list, last message, open tab | Adam Malczewski |
| 8 days | refactor(tool-youtube-transcript): always save full transcript, fix description | Adam Malczewski |
| 8 days | feat(tool-youtube-transcript): write full transcript to /tmp/dispatch on trun... | Adam Malczewski |