Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/vscode/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Change Log

## [3.3.6] - 2026-10-23
## [3.3.6] - 2026-10-29

### What's new

Expand Down
19 changes: 7 additions & 12 deletions docs/releases/v3.3.6-luxor.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# v3.3.6 Luxor

Released: 2026-10-23
Released: 2026-10-29

## Summary

3.3.6 is a Luxor patch that grew. It started as the process behind the Decisions tab and
now also carries the work that landed on main while it waited: agents report their own
attention state to Tower instead of having it guessed from silence; the Codev IDE server
installs from npm and starts with one flag-less command; `codev bootstrap-docs` drafts the
attention state to Tower instead of having it guessed from silence; `codev bootstrap-docs` drafts the
governance docs for a project adopting Codev on a mature codebase; Jira joins Linear as an
issue tracker; and a builder worktree opened in VS Code no longer becomes a second workspace.

Expand Down Expand Up @@ -101,20 +100,16 @@ The agent follows the project's installed skill when it matches the package, so

Tower now learns an agent's state from the agent itself. Claude builders and architects report turn start, tool activity, permission prompts, questions and turn end through a fail-open hook, and Tower fuses that with process liveness to serve working, needs-input, idle, blocked or dead on the overview. The VS Code extension (Agents view, Tower view, status bar, badge) and the dashboard (builder card, Needs Attention list) show the same state from one shared rule. A permission prompt is counted the second it is drawn; a silent long-running tool stays working; an exited agent reads dead within about ten seconds. Codex and OpenCode builders, and Claude sessions started before the update, keep the previous silence-based behaviour. Attention state lives in Tower memory only and is rebuilt from the agents' next reports after a restart. Known gap: an approved long-running tool stays at needs-input until it finishes (#1851).

## Codev IDE server from npm (#1789, PR #1806)

The Codev IDE server is a Codev-branded VS Code server that Tower spawns, owns and forwards at the `/ide/` prefix, so a workspace opens in the browser at `http://localhost:4100/ide/?folder=<absolute path>`. Until now you had to find and point at the server binary yourself. Install it with `npm i -g @cluesmith/codev-ide` (or `afx ide install`) and run `afx ide start` with no flags: afx finds the server on PATH, next to the running codev package, or under the global node_modules. `--server-path` still works as an override, and a missing or unusable server is refused in the CLI before Tower is contacted.

Tower now does three things on every start. It checks the server's version against the minimum it supports (1.128.0) and refuses an older one, naming the installed version and the upgrade command. It installs the Codev sidebar, which now ships inside @cluesmith/codev, into `~/.agent-farm/ide-extensions`, skipping the install when that version is already there and leaving other extensions alone. Then it spawns the server with that extensions directory. A failed check or install refuses the start and leaves any running server untouched. A server that is already live on the port is adopted, never killed; when it predates the current start, the command prints a restart hint. `afx ide status` shows the server and sidebar versions, and the first start can take a minute or more.

Because the server loads extensions only from `~/.agent-farm/ide-extensions`, extensions installed into its default directory are no longer loaded; install them into that directory with the server's own `--install-extension`. The `--default-folder` flag is gone: the folder is chosen per connection, and Tower manages several workspaces, so a single default made no sense.

## Jira as the issue tracker (#1740, PR #1848)

Codev can now run a project whose issues live in Jira Cloud while the code stays on GitHub. Set `"forge": {"provider": "jira"}` in `.codev/config.json`, with `jira-site` and optionally `jira-project`, and log in once with Atlassian's `acli`; Codev never reads or stores a Jira token. The Jira preset covers viewing, listing and searching issues, commenting, recently closed items and the current user, and every PR operation keeps running through `gh`, the same hybrid shape Linear uses. `codev doctor` reports both logins for Jira and Linear workspaces, and no longer warns about the provider's own settings.

Tracker keys such as `ENG-123` now carry through everything that used to assume a number: `afx spawn`, worktree and branch names, porch project ids, PR linking (`[PIR #ENG-1]`, `Fixes #ENG-1`), builder lookup and cleanup, the overview, the dashboard and the VS Code extension. Numeric ids resolve exactly as before, because every numeric pattern is still tried first, and the overview now prefers the issue id it stored at spawn time over parsing a folder name. A random short id for an issue-less spawn can no longer take the shape of a key. Closing a Jira issue when its PR merges stays a manual step: GitHub's closing keywords do nothing for a Jira key.

## Other fixes (dashboard, porch, infrastructure)

- **The Decisions tab sits second, right after Work** (#1861, PR #1862). It holds the owner's pending rulings, the most time-sensitive thing on the dashboard, and used to sit behind Analytics and Team.

## Breaking changes

- **Published types: `createdAt` is now optional on backlog and issue-search items, and `OverviewData.issueIdKind` is new** (#1740, PR #1848). Jira's search cannot return dates, so consumers of `@cluesmith/codev-types` (the Stream Deck plugin and the client SDK) must treat a missing `createdAt` as unknown rather than a date.
Expand All @@ -133,6 +128,6 @@ architect named `main`.

## Contributors

- **Amr Elsayed (@amrmelsayed)** — agent attention states from the harness (Spec 1595, PR #1854); the Codev IDE server from npm (Spec 1789, PR #1806); `codev bootstrap-docs` and skill refresh on update (Spec 1797, #1811, PR #1808); the Jira provider and tracker-key issue ids (#1740, PR #1848); builder worktrees are never workspaces (#1809, PR #1846); the on-demand Windows workflow (Spec 1658, PR #1849).
- **Amr Elsayed (@amrmelsayed)** — agent attention states from the harness (Spec 1595, PR #1854); `codev bootstrap-docs` and skill refresh on update (Spec 1797, #1811, PR #1808); the Jira provider and tracker-key issue ids (#1740, PR #1848); builder worktrees are never workspaces (#1809, PR #1846); the on-demand Windows workflow (Spec 1658, PR #1849).
- **M Waleed Kadous (@waleedkadous)** — the decisions process document (PR #1832), the UTC stamp convention (PR #1837), and `afx decisions init` (PR #1841).
- Builders working under AIR, BUGFIX, PIR and SPIR protocols across the PRs in this release.
Loading