termesh 0.1.4
Added
- ACP session modes. An agent that offers modes — Codex opens read-only, with
autoand
full-accessbeside it — reports them when the session starts, and the Agent pane shows which one
is active.Agent: Session Modein the palette lists what the agent offers, in the agent's own
wording, and switches on request. termesh never changes the mode for you: an agent that defaults
to read-only is being careful, and overriding that from the client would defeat the reason it did.
Before this, a mode-aware agent was stuck in whatever it started in and could never be permitted
to edit (ADR-0015). This makes a read-only agent usable; it does not make its edits reviewable —
see the support boundaries for which agents route writes through the client.
Fixed
- The support boundaries, README, and landing page said inline diff review was verified working
with JetBrains Junie. Recording the ACP session showed otherwise: Junie makes no
fs/write_text_filecall and edits the file itself, as do Codex and opencode. All three send an
ACPdiffblock, which is why the change looks reviewed when it is not. No agent tested so far
routes writes through the client, and the docs now say so and name what each one did. - A
session/set_modethe agent accepted with a bare success and nocurrent_mode_updateleft the
Agent pane showing the old mode indefinitely.codex-acpanswers exactly that way, so the pane
was stranded onread-onlyfor the agent session modes exist to unblock. The success reply is
the agent's own report and now moves the client; a refusal still moves nothing. - The agent pane rendered a proposal's
[a]ccept/[r]ejectprompt, and any pending command
approval, above the transcript. The pane scrolls from the bottom and snaps back there on new
content, so a long answer pushed the decision off the top and out of view. Both now sit below the
answer that prompted them. - Accepting a proposal whose change the buffer already contains reported "nothing applied — every
hunk conflicted". Nothing had conflicted; the work was already done. It says so now, which
matters because an agent that writes directly to disk produces exactly this state. - The turn indicator read
…thinking, with the ellipsis leading, which looks like a truncated line
rather than a state.
Worth taking if you use an ACP agent, and worth reading if you were relying on the review loop:
the client's half is implemented and tested, but no agent tried so far — Codex, Junie, opencode —
actually routes its writes through it, so their edits land on disk before you see them. The
support boundaries record what each one did on the wire.
Install
Prebuilt binaries for Linux (x86-64, AArch64), macOS (Intel, Apple Silicon) and Windows (x86-64)
are attached to this release, with SHA256SUMS. The macOS builds are signed and notarized. From
source:
cargo install termesh --lockedRequires Rust 1.88 or newer.