v3.2.3 Karnak
v3.2.3 Karnak
Released: 2026-07-16
Summary
A multi-architect UX polish sweep across the Agents view and workspace surfaces: childless architects stay visible so a row can't disappear mid-session (#1174), idle siblings group under a collapsible "Idle Architects" node once more than one is idle (#1182), the architect QuickPick honors the user's selection (#1139), the per-window terminal cap is configurable via codev.maxTerminals with a new default of 25 to accommodate multi-architect workspaces (#1180), and group-header context menus no longer offer builder-scoped actions on group rows (#1170).
Tower's recovery pathways get four independent fixes that together close out the machine-crash investigation kicked off from user reports. afx workspace recover preserves each builder's original owning architect (#1140). codev adopt and main-architect launch no longer hijack unrelated Claude Code sessions (#1145). Deliberately-removed sibling architects stay removed across Tower stop/start cycles even after partial DB delete failures (#1150). Claude-architect crash-loops on stale --resume UUIDs degrade to a fresh session after three fast failures (#1149).
The VS Code extension lands an IDE-mode foundation (#1144) — dual-mode activation via codev.hasWorkspace and codev.ideMode context keys, provably-inert marketplace behaviour when there is no Codev workspace, and a first-run empty-window surface for the Codev IDE fork. Sidebar defaults collapse lower-priority views to give the primary surfaces more room (#1169).
The "Dev Server" phrasing throughout the runnable-worktrees feature becomes just "Dev" so users of non-web stacks can see themselves in it (#1158). Breaking change: keybindings.json entries for codev.devServer.* must migrate to codev.dev.*.
The Codex CMAP lane is restored on macOS 26 by moving off a codex-sdk version whose vendor binary Apple had certificate-revoked (#1128). The VS Code extension prepublish now builds every workspace dependency so fresh clones and CI cold caches pass check-types (#1154). The Codev Mobile design refresh lands as a research artifact (#1153) — no runtime impact, groundwork for a future mobile workstream.
Polish
- Agents view (architect axis): childless architects stay visible (#1174, PR #1175). Previously an architect's group header vanished the moment its last builder was cleaned up. The axis now sources headers from the registered-architect roster, so every architect renders as
MAIN (0)etc. with click-to-open-terminal. Stage and area axes unchanged.

- Agents view: idle sibling architects grouped under 'Idle Architects' collapsed node (#1182, PR #1183). Follow-up to #1174. When 2+ sibling architects are idle they group under a single collapsible node instead of consuming a row each. Main is always its own row. Only affects the architect axis.

- VS Code terminal cap: raised to 25 and configurable via
codev.maxTerminals(#1180, PR #1181). The 10-terminal per-window cap was impractical in multi-architect workspaces. Setting range is 5-100 (the max matches Tower's own backstop). The at-limit toast now points at the setting. - Agents tree: group headers no longer surface builder-scoped context-menu entries (#1170, PR #1172). Right-clicking a group header (architect, phase, or area axis) previously offered builder-only actions like View Diff that silently no-op'd. A contextValue rename (
builder-group→group-builder) closes the collision. - IDE-mode foundation: dual-mode activation, empty-window surfaces, no dead actions (#1144, PR #1148). The Workspace section (Architects / Spawn Builder / New Shell) is gated on
vscode.workspace.workspaceFolders?.length > 0, so opening VS Code with no folder shows empty-view content instead of dead rows. Two new context keys —codev.hasWorkspaceandcodev.ideMode(viavscode.env.appName === 'Codev') — model the four operating quadrants explicitly. UnderonStartupFinishedactivation, the guest+no-codev-workspace path is provably inert (no Tower spawn, no UI mutation, no state writes). In the Codev IDE fork,ideMode && !hasWorkspacefocuses the Codev container, shows Open Folder / Open Recent welcome content, and fires a one-time first-run notification. - Sidebar defaults: Pull Requests / Recently Closed / Team / Status collapse on fresh install (#1169, PR #1171). Reclaims sidebar vertical space for the primary Workspace / Agents / Backlog surfaces. Existing users' persisted view state is respected.
- Runnable-worktrees terminology: "Dev Server" → "Dev" (#1158, PR #1173). The feature is stack-agnostic — your
worktree.devCommandcan start a Vite dev server,cargo run,expo start, a test watcher, whatever. Palette titles, command IDs, context key, view id, and source files all rename accordingly.worktree.devCommand,afx dev, and the terminal tab name were already neutral. Breaking:keybindings.jsonentries forcodev.devServer.*must migrate tocodev.dev.*.
Other fixes
- Backlog: "Reference issue in architect" honors the QuickPick selection (#1139, PR #1157). The inline reference button on Backlog rows now injects into the architect the user picks in the QuickPick, instead of always routing to
main. Same fix applied to "Reference PR in architect". Single-architect workspaces unchanged. afx workspace recoverpreserves per-builder architect attribution (#1140, PR #1156). Respawning builders after a Tower recovery event no longer re-attributes every builder to whichever architect owned the shell that ran the command. The recover flow now reads each builder's original owner from Tower state.codev adopt/ main-architect launch no longer hijacks unrelated Claude Code sessions (#1145, PR #1160). Main-architect launch previously fell back to picking the newest jsonl by mtime in the working directory when no Codev-owned session id was stored, resuming personal off-Codev conversations. The mtime fallback is removed for architects; only Codev-recorded session ids resume.- Removed sibling architects no longer resurrect after Tower recovery (#1150, PR #1178). An architect deliberately removed via
afx workspace remove-architect --name Xcould reappear on the next stop/start after a partial DB delete failure. Reconciliation now gates respawn on liveness evidence, andremoveArchitectpurges both DB layers atomically and surfaces errors instead of swallowing them. - Claude architect crash-loop on stale
--resumeno longer traps the user (#1149, PR #1184). Tower now detects the fast-failure pattern (≥3 restarts failing within 30s with--resumeargs), strips the stale UUID, and nulls the stored session_id so the architect degrades to a fresh conversation instead of retrying 50 times. Closes the four-issue recovery-family investigation. - Codex CMAP lane restored on macOS 26 (#1128, PR #1141). Bumps the bundled codex vendor to a signature Apple hasn't revoked. macOS 26 XProtect was SIGKILL'ing the previous binary and auto-Trashing it, breaking every
consult -m codexinvocation. Any consult protocol with a codex lane is unblocked. - VS Code extension prepublish builds all workspace dependencies (#1154, PR #1155). Fresh clones no longer fail
check-typeswithTS2307: Cannot find module '@cluesmith/codev-artifact-canvas'. Switched to a topological filter (pnpm --filter 'codev-vscode^...' build) that builds the whole workspace-dep graph.
Breaking changes
- VS Code keybindings targeting
codev.devServer.*must migrate tocodev.dev.*(#1158, PR #1173). Any user-authoredkeybindings.jsonentry forcodev.devServer.stop/.restart/.switchTarget/.showSidebar/.hideSidebarno longer resolves — swapdevServerfordevin the command id. Palette items and the CLI are unaffected.
Install
npm install -g @cluesmith/codev@3.2.3
afx tower stop && afx tower startThe VS Code extension ships separately via the Marketplace — Codev extension by cluesmith.codev, version 3.2.3.
Contributors
- The Codev architect plus builders working under the PIR, BUGFIX, and AIR protocols across the PRs in this release. No external contributors this cycle.