v3.2.4 Karnak
Released: 2026-07-26
Summary
Ten days of merged work spanning multi-architect identity, Tower session resilience, disk hygiene, and consult-lane fixes. afx whoami and the /arch-init command give architects durable identity and state recovery across sessions (#1134), with automatic state-saving layered on top (#1220). Tower's shellper layer gets three resilience fixes: dropped reconnects recover in place instead of minting zombie terminals (#1198), terminal adoption no longer stalls across Tower upgrades (#1215), and a deliberately-quit agent session ends cleanly instead of being auto-restarted (#1241). A process-fleet audit on macOS led to a shellper husk sweep plus fleet observability (#1227), session logs gain a retention policy (#1238), and codev doctor learns to surface unreaped migration backups (#1239) and protocol-file drift (#1210). The consult pipeline stops bursting OAuth browser tabs when the Antigravity CLI is signed out (#1077). Codex-native skills now ship through the scaffold lifecycle for parity with Claude skills (#1196). Two contributions landed from an external contributor.
Features & Improvements
afx whoami+/arch-init: multi-architect identity and state recovery (Spec #1134, PR #1136). Any terminal can now ask "who am I" (architect vs builder, with name), and the/arch-initcommand lets an architect adopt its identity and resume from its durable state file incodev/state/<name>.mdafter a restart, context loss, or handoff.- Architect auto-state-saving lifecycle (AIR #1220, PR #1221). The
/arch-initskill now prescribes when and how architects save state (resumable boundaries, rewrite-then-append format, mandatory compaction), closing the loop that #1134 opened. Refined further by PR #1240 (no hard size limits — compaction stays mandatory, size is judgment; PRFT framing at human decision points). - Shellper husk sweep + fleet observability (PIR #1227, PR #1234). The Codev process fleet could drive macOS memory-pressure kills via accumulated shellper husks. Tower now sweeps husks at startup and exposes fleet counts, scoped strictly to its own instance's shellpers.
- PTY session log retention (Issue #1238, PR #1243). Session logs previously accumulated indefinitely (2+ GB observed); a 30-day retention policy now caps them, reported at boot via a
Session logs:line. Opt out withAGENT_FARM_LOG_RETENTION_DAYS=0. codev doctor: unreaped migration backups (AIR #1239, PR #1242) and protocol-file drift (Spec #1210, PR #1223). Doctor now reports state-migration backup files left on disk (with sizes) and detects when a project's local protocol copies have drifted from the shipped skeleton.- porch: gate-artifact auto-open is configurable (Issue #1216, PR #1231). New
porch.autoOpenArtifactssetting opts out of artifacts auto-opening at approval gates;config.local.jsonis snapshotted into builder worktrees so local-only config reaches builders. Contributed by @mohidmakhdoomi. - Codex skills ship through the scaffold lifecycle (PIR #1196, PR #1197).
.codex/skills/now installs and updates alongside.claude/skills/, with a parity test keeping the two provider sets byte-identical. - Architect state files gitignored across the lifecycle (PIR #1192, PR #1213).
init/adopt/update/doctorall ensurecodev/state/*.mdarchitect files stay untracked (builder*_thread.mdfiles remain versioned). - Monorepo:
apps/for end-user surfaces (Issue #855, PR #1188) and TypeScript 6.0.3 across the monorepo (PR #1193). Internal restructuring and toolchain unification; no user-facing behavior change.
Fixes
- Deliberate agent quits no longer auto-restart (Bugfix #1241, PR #1244). Tower's keep-alive previously couldn't tell a user quitting an agent from a crash, so quitting immediately respawned it. Exits are now classified and only unnatural ones trigger auto-restart — including handling for node-pty reporting SIGKILL'd children as exit code 0.
- Shellper reconnects recover in place — no more zombie terminals (PIR #1198, PR #1204). A dropped shellper socket connection was silently swallowed and a replacement terminal minted, leaving zombies. Connections now re-establish in place with bounded backoff, and failed reconnects are logged.
- Tower-upgrade terminal adoption no longer stalls (PIR #1215, PR #1218). A
waitForReplayversion skew between old shellpers and a newly-installed Tower could hang adoption after an upgrade. - agy consult lane: OAuth tab burst eliminated (Bugfix #1077, PR #1250). An installed-but-signed-out Antigravity CLI opened an OAuth browser tab per consult spawn — CMAP rounds produced bursts of tabs. Auth state is now pre-flighted and cached across processes (
~/.cache/codev/agy-auth.json) with a TTL; sign in withagyanywhere and the lane recovers on its own. - Architect session resume respects live processes (Bugfix #1224, PR #1225). Resuming an architect no longer steals a session id that a live process still holds.
afx sendguidance for unregistered workspaces (Issue #1199, PR #1200). Instead of a bare failure, the CLI now recommendsafx workspace start. Contributed by @mohidmakhdoomi.- Doctor
formatBytescollision hotfix (PR #1248). PRs #1242 and #1243 collided semantically (duplicateformatBytesinto doctor); this release ships the resolved combination.
Research artifacts (no runtime impact)
- Mobile workstream spikes: Expo LAN connectivity (PR #1190), on-device REST+WS+reconnect+permissions results (PR #1195), and an AskUserQuestion-detection design comparison (PR #1206). Groundwork for a future Codev Mobile.
Breaking changes
- None.
Migration Notes
- None required. (
codev updaterefreshes.codex/skills/and the architect-state gitignore entries automatically.)
Known issues
- Tower accepts API requests for a brief window after its port opens but before internal wiring completes; a terminal DELETE in that window returns a spurious 404. Pre-existing race, widened on machines with large session-log volume by this release's startup scans. Tracked in #1261; retrying the command succeeds.
Install
npm install -g @cluesmith/codev@3.2.4
afx tower stop && afx tower startThe VS Code extension ships separately via the Marketplace — Codev extension by cluesmith.codev, version 3.2.4.
Contributors
- External: @mohidmakhdoomi — porch gate auto-open toggle (#1216, PR #1231) and unregistered-workspace guidance (#1199, PR #1200). Thank you!
- The Codev architect plus builders working under the SPIR, PIR, BUGFIX, and AIR protocols across the remaining PRs.