fix(aterm): order the window title so truncation eats the tail (#1252) #1268
No reviewers
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1268
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/mu55-title-order"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1252. Tier 1 of the #1245 dispatch.
Evidence, re-derived from the live roster
The samples in the issue body are stale (
Developer Platform Engineer,Olaf,Lucia). These come from--dry-runagainstagent-compose v2.54.0, first 30 runes, which is roughly where Cmd-Tab and a window list cut.Two checkouts, one role, which is the case the issue names:
Full titles after:
What changed
Segments run workspace, task title, role, glyphs and seat name, expression.
maxTitleRunestruncation now eats the expression rather than the payload.seatAnnotationkeeps the role suffix for the announce line and the plan identity; the title uses a newseatNameso the role is not printed twice.The workspace is
repo@branchfromgit -C <cwd> rev-parse --show-toplevelandsymbolic-ref, a detached head degrades to the repository alone, and a plain directory falls back to its basename.launchPlancarries it asworkspace.One judgment call worth reviewing
When
--working-directoryis not set, the directory is the projects root, the same for every window. Printing it would put a constant back in exactly the slot this reorders around, so the segment is omitted and the role leads:The trade this makes
Same checkout, two roles, truncated to 30, now collide:
30 characters hold repo and branch or the role, not both, and #1252 chose the workspace. Recording it rather than hiding it: the case only arises when a caller points two different roles at the same checkout, and the full title still carries the role.
Verification
just aterm-fmt,just aterm-lint,just aterm-testcleanpre-commit runclean on every touched filetitle_test.go: segment order, the two-checkout separation above, the role-leads fallback, task-title placement, andworkspaceLabelacross branch, detached, plain directory, and no-gitA window manager truncates near 30 characters, and every title opened with a glyph pair, a seat name, and a long role display name. Two `aterm platform` windows in different checkouts produced byte-identical titles, and the working directory never appeared at all. Segments now run workspace, task title, role, glyphs and seat name, expression. The workspace is the checkout `--working-directory` points at, rendered `repo@branch` from git. It is left out rather than printed as a constant when the directory is the default projects root, since a constant in the front slot is the defect this reorders around, and the role leads instead. Measured on the live roster, first 30 runes, two checkouts one role: before '⟐ ◆ Angie [she] (Agentic Platf' both windows after 'agentic-os@aos/claude/mu55-tit' 'agentic-os-kai@aos/claude/mu55' Same checkout and two roles is the trade: 30 characters hold repo and branch or the role, not both, and #1252 chose the workspace. On the default projects root, which is where a bare `aterm platform` lands, the role leads and still separates. Closes #1252 Co-authored-by: Kai Siren <coilysiren@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Agent-Role: platform