| Age | Commit message (Expand) | Author |
| 2026-06-24 | fix(kernel+tool-shell): abort hanging tool calls without bricking the convers... | Adam Malczewski |
| 2026-06-24 | fix(broken-chat): read-time self-repair of unrecoverable chats | Adam Malczewski |
| 2026-06-24 | fix(lsp): broken-server recovery + config source attribution | Adam Malczewski |
| 2026-06-24 | feat: persistent per-conversation model selection | Adam Malczewski |
| 2026-06-24 | fix(system-prompt): reconstruct on cwd change via getWithMeta | Adam Malczewski |
| 2026-06-24 | workspace: conversation.open/statusChanged carry workspaceId (1405 vitest) | Adam Malczewski |
| 2026-06-24 | feat(system-prompt): rich system:os with WSL detection + Linux distro | Adam Malczewski |
| 2026-06-24 | feat(system-prompt): add prompt:workspace_id variable | Adam Malczewski |
| 2026-06-24 | feat(system-prompt): register extension in host-bin CORE_EXTENSIONS | Adam Malczewski |
| 2026-06-24 | feat(system-prompt): wire into turn flow + compaction + API routes | Adam Malczewski |
| 2026-06-23 | feat(system-prompt): template-based system prompt builder extension | Adam Malczewski |
| 2026-06-23 | fix(lsp): gate LSP endpoint on persisted cwd; accept workspaceId on PUT cwd | Adam Malczewski |
| 2026-06-23 | feat: workspaces — session-orchestrator + transport-http + transport-ws + c... | Adam Malczewski |
| 2026-06-23 | feat: workspaces contract + conversation-store implementation (Wave 0+1) | Adam Malczewski |
| 2026-06-22 | feat: context window from model endpoints + percentage-based auto-compact | Adam Malczewski |
| 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 | fix: compaction keeps original ID, forks old history to archive, chains via c... | Adam Malczewski |
| 2026-06-22 | feat: non-destructive compaction — fork history to archive before replacing | 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 | 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 | 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(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(skills): recursive skill discovery — scan subdirectories | 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 | 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 |