| Age | Commit message (Expand) | Author |
| 2026-06-28 | Merge branch 'dev' into feature/workspace-star | Adam Malczewski |
| 2026-06-28 | feat(workspace-star): starred workspace priority for concurrency limiting | Adam Malczewski |
| 2026-06-28 | feat(observability): periodic memory-usage logging to localize leak source | Adam Malczewski |
| 2026-06-27 | Merge branch 'feature/vision-handoff' into dev | Adam Malczewski |
| 2026-06-27 | feat(vision): store images in tmp dir instead of SQLite — compact URLs + pu... | Adam Malczewski |
| 2026-06-27 | feat(concurrency): add "queued" ConversationStatus — emit when request bloc... | Adam Malczewski |
| 2026-06-27 | feat(vision): image compaction for vision-capable models + global vision sett... | Adam Malczewski |
| 2026-06-27 | feat(vision-handoff): model-directed consult_vision tool replacing auto-trans... | Adam Malczewski |
| 2026-06-27 | feat(vision-handoff): implement vision for capable models and universal visio... | Adam Malczewski |
| 2026-06-27 | feat(provider-concurrency): implement per-provider in-memory concurrency limi... | Adam Malczewski |
| 2026-06-27 | style: reformat heartbeat merge to 2-space indentation | Adam Malczewski |
| 2026-06-27 | Merge branch 'dev' into feature/heartbeat | Adam Malczewski |
| 2026-06-26 | style: switch from tabs to 2-space indentation | Adam Malczewski |
| 2026-06-26 | feat(heartbeat): resolve [type:name] variables in heartbeat prompts (CR-HB-1) | Adam Malczewski |
| 2026-06-26 | feat(heartbeat): workspace heartbeat loop with configurable AI monitoring | Adam Malczewski |
| 2026-06-25 | feat(ssh): discover computers from ~/.ssh/known_hosts + remote system-prompt | Adam Malczewski |
| 2026-06-25 | Merge branch 'dev' into feature/ssh-support | Adam Malczewski |
| 2026-06-25 | feat(kernel): retry-with-backoff on retryable provider errors | Adam Malczewski |
| 2026-06-25 | feat(ssh): wave 3 — session-orchestrator computerId threading + transport-c... | 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): add prompt:workspace_id variable | Adam Malczewski |
| 2026-06-24 | feat(system-prompt): wire into turn flow + compaction + API routes | Adam Malczewski |
| 2026-06-23 | feat: workspaces — session-orchestrator + transport-http + transport-ws + c... | 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(transport): CLI endpoints + conversation.open broadcast (Wave 2) | Adam Malczewski |
| 2026-06-21 | feat(cli): Wave 0 — contracts for conversation list, last message, open tab | Adam Malczewski |
| 2026-06-21 | feat(message-queue): per-conversation queue + steering injection | Adam Malczewski |
| 2026-06-12 | feat(reasoning-effort): persisted per-conversation + per-turn override, threa... | 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 |
| 2026-06-12 | feat(metrics): expose current context size to the frontend | Adam Malczewski |
| 2026-06-11 | feat(lsp,cwd): LSP integration + per-conversation cwd; fix cache-warming cach... | Adam Malczewski |
| 2026-06-11 | feat(cache-warming): CR-3 — manual warm resets timer + nextWarmAt/lastWarmA... | Adam Malczewski |
| 2026-06-11 | feat(cache-warming): per-conversation prompt-cache warming + warm() service | Adam Malczewski |
| 2026-06-10 | feat(skills): skill system + load_skill tool via per-turn tools filter | Adam Malczewski |
| 2026-06-10 | feat(metrics): durable per-turn/step token+timing metrics (observability span... | Adam Malczewski |
| 2026-06-07 | feat(wire,kernel,session-orchestrator): live turn metrics on the stream | Adam Malczewski |
| 2026-06-06 | feat(kernel-runtime,session-orchestrator): emit turn lifecycle events | Adam Malczewski |
| 2026-06-06 | feat(wire,conversation-store): per-chunk seq sync cursor (StoredChunk) | Adam Malczewski |
| 2026-06-05 | feat(backend): credential-store + model selection/catalog (GET /models) + per... | Adam Malczewski |