v3.1.3 Jacobean
Released: 2026-05-24
Two structural ships and one cleanup, all in service of letting the panel-of-architects pattern run unattended for days at a time.
Workspace recover — survive machine reboots (PR #833, @amrmelsayed)
The missing piece in Tower's "leave it running" story. After a machine reboot or crash, in-flight builders go silent — worktrees and branches survive but the shellper processes don't. afx workspace recover enumerates porch projects, identifies builders whose shellper died, and respawns them.
afx workspace recover # dry-run preview (default)
afx workspace recover --apply # actually respawn (with confirmation)
afx workspace recover --apply --yes # unattended
afx workspace recover --max-age 30 # widen the recency window- Builder conversation resume for SPIR / ASPIR / AIR / PIR / bugfix — the revived
claudeprocess picks up the prior session via--resume <uuid>, discovered from the on-disk jsonl store - Main architect conversation resume after reboot, via the same jsonl-discovery mechanism (single-architect workspaces; multi-architect resume deferred to #832)
- Sequential respawn with bounded concurrency; idempotent — safe to re-run
Multi-architect: a panel, not a soloist
On large projects the work isn't one strand — it's several. UI to fix. Test infra to improve. Backend to refactor. Putting all of it in front of one architect agent makes a mess of the context — conventions, debugging strategies, and schema invariants all colliding. The agent gets worse at all three jobs as the day goes on.
Multi-architect treats the workspace as a panel. There's still a main "chief" architect with the broadest view, but you spin up sub-architects per subsystem:
afx workspace add-architect --name ui-refresh
afx workspace add-architect --name test-infra
afx workspace add-architect --name backend-cleanupEach has its own context, its own thread, its own in-flight builders. When a builder finishes, it routes back to the architect that spawned it — not a single global inbox.
What you get in 3.1.3:
afx workspace add-architect/remove-architectlifecycle- Sibling architects survive
afx workspace stop/startandafx tower stop/start - Identity preservation across shellper auto-restart
- Cross-workspace isolation — sibling architects in workspace A no longer leak into workspace B
- Dashboard tabs + VS Code Architects tree with right-click Remove
- Per-builder attribution: builder cards show
· <architect>when N>1 - Sibling-to-sibling messaging —
afx send architect:ob-refine "..."from main or another sibling - Per-builder thread files at
codev/state/<builder-id>_thread.mdfor collective situational awareness
CLI cleanup: codev afx is no longer a thing (PR #847)
codev afx <subcommand>,codev agent-farm <subcommand>removed (exit non-zero with a helpful stderr suggesting the right form)- Standalone
afbin removed — was deprecated since v3.0.1;afxis the canonical entrypoint - Standalone
afxbin path is unchanged - Removes a cross-cutting
process.argv[1]invocation-style fragility that surfaced in PR #833 integration review
VS Code extension (Amr Elsayed)
Multiple rounds across PRs #771, #779, #785:
- Per-builder file inspection — changed files inline; click for two-way diff
- Codev: View Diff — whole worktree delta in the Multi Diff Editor
- Accordion mode — expanding one builder auto-collapses the others
- Live-status dot for active builders, count badge on the activity-bar icon
- Idle-builder detection — chat-bubble after 5 min of silent waiting
- Backlog hides issues that already have a builder
- Image paste (
Cmd+Alt+V) - Architects tree with right-click Remove and live auto-refresh
- Dev URL rows in the sidebar (
worktree.devUrls) - Per-engineer
.codev/config.local.jsonoverrides
Also recent
- Multi-PR builders (Spec 653): worktree, branch, PR decoupled — one builder, multiple PRs; draft PRs mid-flight for early review
- Runnable worktrees:
afx dev <builder-id>/afx dev main, swap-detection across slots - PIR protocol: plan/implement/review with two pre-PR human gates — for design-sensitive or pre-PR-testable changes (mobile, UI, cross-platform)
- RESEARCH protocol: 3-way parallel investigation + synthesis + critique →
codev/research/<topic>.md - Linear hybrid forge: Linear issues + GitHub PRs
- Per-stage consults: each phase picks its own reviewer models
- Inter-agent messaging documented end-to-end — all four addressing forms with spoofing-check semantics
Breaking changes
codev afx <…>,codev agent-farm <…>,codev af <…>no longer dispatch — they exit non-zero with a stderr pointing at the standaloneafxbin. Workaround is a one-character edit (drop thecodevprefix). External scripts that hardcodedcodev afxwill need to be updated.- Standalone
afbin removed (deprecated since v3.0.1). Useafxdirectly.
Install
npm install -g @cluesmith/codev@3.1.3
afx tower stop && afx tower startMulti-workspace adopters: nothing new to do — the cross-workspace isolation migration landed in 3.1.2.
Contributors
- Amr Elsayed (@amrmelsayed) —
afx workspace recover(PR #833) including 7 iterations of CMAP discipline that caught real bugs at every round; ongoing VS Code extension stewardship. - M Waleed Kadous (@waleedkadous) — architect review, integration CMAP, the call to remove the
codev afxwrapper surface rather than patch the spawn child. - Builder working under AIR protocol on the CLI cleanup (PR #847).