Skip to content

v3.1.3 Jacobean

Latest

Choose a tag to compare

@waleedkadous waleedkadous released this 24 May 23:09
· 35 commits to main since this release

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 claude process 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-cleanup

Each 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-architect lifecycle
  • Sibling architects survive afx workspace stop/start and afx 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.md for 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 af bin removed — was deprecated since v3.0.1; afx is the canonical entrypoint
  • Standalone afx bin 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.json overrides

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 standalone afx bin. Workaround is a one-character edit (drop the codev prefix). External scripts that hardcoded codev afx will need to be updated.
  • Standalone af bin removed (deprecated since v3.0.1). Use afx directly.

Install

npm install -g @cluesmith/codev@3.1.3
afx tower stop && afx tower start

Multi-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 afx wrapper surface rather than patch the spawn child.
  • Builder working under AIR protocol on the CLI cleanup (PR #847).