You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Captions. With the mod, every pane reports what it is doing in a few
words: from each tool call, free (running cargo test, editing filter.rs), and from the model's own streamed text by one small haiku
call at most every twenty seconds, when a fleet says captions: true.
The overview shows the caption in place of the transcript's last action; an
unfocused tile draws it dim after the title; the turn's end clears it.
The collision radar. The mod reports the real path of every edit that
ran (report touched=<path>…); the broker keys it by the pane's worktree,
so two worktrees' copies of one file are one file. The first time two live
panes edit it, both wear ⚡ (tile badge and overview row), the overview
lists the file under the agents, and one collisiondecision_needed goes
to the nearest pane above both on the atrium topic. atrium ctl who <path> (and atrium_who) says which panes edited a file, with when and
whether each is live.
Ask without interrupting.atrium ctl ask <target> [--timeout S] <question> queues a question that rides the target's inbox; its mod answers
from a fork of the pane's own context ($.model.fork: no tools, the turn
untouched, the transcript never leaving the pane) and reports the reply,
which the waiting ask prints and atrium ctl asked <target> <id> reads
again. Ctrl+A ? on a tile asks the focused pane what it is doing, what it
needs and what blocks it, and opens the reply as an overlay; atrium_ask
does the same from a pane. Subtree-scoped like send, capped, scrubbed and
never in the audit log.
Fleet key captions, whoami carries it; mod version 0.2.0, with the ask capability.
Changed
Captions carry less, and the model-made one is opt-in. The caption a
tool call makes named the whole first line of a Bash command — flags, KEY=value assignments, quoted text, paths — in ctl status, the overview
and the tile title, for the whole fleet to read. It now names the program
and its subcommand only (running cargo test, running git commit, running dev.py check): no flags, assignments, quotes, operators or URLs,
no path but the program's own name, three words at most. And the six-word
caption from the model's own streamed text — a second model call the text
leaves the pane for — is now off unless the fleet says captions: true
(it was on unless captions: false); the tool caption is free and always
on.
ctl who is subtree-scoped. It was classed read-only like list, so
any caller, token or none, could list every pane's edited paths. It now
needs a pane token, and a caller sees only the panes in its own tree, as status and ask do; the operator sees every pane.
Fixed
An ask's slot comes back. A pane holds at most eight unanswered
questions, but an answered ask counted as unanswered again once its reply
expired (ten minutes), and a question the mod had taken but never answered
stayed pending across a respawn: a pane asked eight times over a session
refused every later ask for good. An expired reply now takes its ask with
it (asked says so instead of waiting forever), and a pane's exit or
respawn drops its in-flight questions along with the queued ones.
Collision keys compare paths as the filesystem does. A touch was keyed
relative to the pane's worktree or its cwd, so two panes in unrelated
repos both editing README.md wore ⚡ and raised a collision; and the
prefix check was spelled-exact, so a mod's C:/wt/a/src/x.rs under a
worktree recorded as C:\wt\a (or a \\?\ path, or another drive-letter
case) kept its absolute key and two worktrees never collided on Windows. A
pane with no worktree now keys by the absolute path alone, and every path is
compared in one spelling: \ as /, \\?\ stripped, and a path Windows
wrote lowercased; ctl who finds a Windows file by any spelling. A report
whose ask reply is refused still records its other fields and touches.
Manual splits tile into a grid.Ctrl+A " / % halved only the focused
pane, so every pane added by hand with one key joined a single 1×N strip
(five " presses: five full-width slivers), while -n 4 and ctl spawn --here laid the same panes out 2×2. A split now re-tiles the whole window
into the balanced near-square grid --here already uses, with the new pane where the key pointed: % in the next slot of the focused pane's line, " in its slot of the next line (not appended bottom-right, as the first
cut of this fix and --here did). The window keeps the orientation the
first key gave it (" columns, % rows), so a later key reflows the grid
instead of transposing it; ctl spawn --here puts the worker beside its
caller the same way. Two panes keep the plain split the key names, three
make a line, four a 2×2, six a 2×3. Focus still lands on the new pane.
Install docs name the linker prerequisite.cargo install atrium on a
machine with a Rust toolchain but no C toolchain ends in linker `cc` not found (link.exe / gcc on Windows) after every crate compiled; the
README's install section now says what to install per platform, why the cc spelling on a Windows machine means WSL or a stray linker override, and
that a build from a clone needs the sibling nativelite crates beside it.