Released: 2026-05-07
A patch update on the Ionic line. Three notable additions — a Linear forge provider with hybrid GitHub fallback, an opt-in Bridge Mode for Tower, and a documentation governance pass that converts the architecture-documenter agent into a discoverable skill — plus a handful of bug fixes.
The forge layer now supports partial provider implementations. Linear-for-issues + GitHub-for-PRs is the canonical hybrid: a Linear provider supplies six issue concepts (auth-status, user-identity, issue-view, issue-list, issue-comment, recently-closed) while PR concepts fall through to GitHub.
The architectural improvement that unlocks this: buildPresetFromScripts now omits missing concepts instead of writing null, so unimplemented concepts cascade to the default provider. This benefits any partial-provider scenario, not just Linear.
Also in this work:
- Issue identifiers are widened to
string | numberthroughout the agent-farm CLI, type system, and DB layer (soENG-123works alongside42) db_builders.issue_numbermigrated fromINTEGER→TEXT- Forge config non-concept keys (e.g.,
linear-team) are exported to provider scripts asCODEV_LINEAR_TEAM
Configure in .codev/config.json:
{
"forge": {
"provider": "linear",
"linear-team": "ENG"
}
}Set LINEAR_API_KEY in your environment.
Tower now has an opt-in path for binding to non-localhost addresses, intended for container-bridging scenarios where Tower runs inside a sandboxed Docker environment and the host browser/CLI needs to reach it.
Two environment variables, both required to expose Tower beyond localhost:
BRIDGE_MODE=1— explicit opt-in flag. Without it, Tower binds to127.0.0.1regardless of other settings.BRIDGE_TOWER_HOST— bind address when bridge mode is enabled (e.g.0.0.0.0). Only consulted whenBRIDGE_MODE=1. Accepts127.0.0.1,0.0.0.0,localhost, valid IPv4 literals, and bracketed IPv6 literals.
When bridge mode is enabled, Tower logs a startup warning. Tower has no built-in authentication — if you enable bridge mode, your firewall is the security boundary.
For remote access without container bridging, cloud.codevos.ai remains the recommended path.
The architecture-documenter agent has been retired and replaced by an update-arch-docs skill, propagated to all projects via codev update. The MAINTAIN protocol now carries a "Lives where" routing matrix and an audit-then-update split (Step 3a / Step 3b) with concrete pruning checklists for arch.md and lessons-learned.md. The SPIR review phase now name-drops the skill and includes lessons-learned.md alongside arch.md.
Templates also picked up the discipline:
templates/arch.mdis a richer multi-section starter (TL;DR, Repository Layout & Stack, Per-Subsystem Mechanism, Apps Roster, Packages Roster, Verified-Wrong Assumptions, Updating This Document) with skip-if-N/A framing for small projectstemplates/lessons-learned.mdgains a preface with "what NOT to add" guidance and a sanity-check checklist
The shipped templates resolve at runtime from the installed npm package; existing projects continue using their own arch.md and can opt into the richer template by manual copy.
- #717 —
afx attachcan't find builders (PR #720):findShellperSocketnow queries SQLite by workspace root, with fallback to Tower'sterminal_sessions - #712 — Stale
afCLI references in resource docs after theaf→afxrename (PR #713) - #711 —
porchlacked--versionflag andpendingcommand (PR #714) - #710 — E2E tests depended on removed
porch runorchestrator (PR #715) - #725 — Bridge mode test misclassified as unit test in CI (PR #726): renamed to
bridge-mode.e2e.test.ts
None.
npm install -g @cluesmith/codev@3.0.2
afx tower stop && afx tower startThe new update-arch-docs skill lands automatically via codev update on existing projects. The user-global ~/.claude/agents/architecture-documenter.md agent file (if present) should be removed, since the skill replaces it.
npm install -g @cluesmith/codev@3.0.2- M Waleed Kadous (@waleedkadous)
- @timeleft-- (Younes) — Linear forge provider, hybrid forge architectural insight
- @otherview — Bridge Mode for container deployments
- MachineWisdomAI — bugfix #725 and ongoing builder work
- Builders working under SPIR, ASPIR, AIR, and BUGFIX protocols