Skip to content

v0.4.7

@Conalh Conalh tagged this 23 May 23:15
Multiple agents on the same project read better as 'CC1' / 'CC2' /
'frontend' / 'backend' than as auto-generated hex tails. v0.4.7 lets
the user name them.

Rename UX:
- Press `n` on the selected row → drops into rename mode
- Footer becomes 'Rename: <buffer>█ · Enter save · Esc cancel'
- All keystrokes feed the buffer while in rename mode — `q` doesn't
  quit, `r` doesn't refresh; the dashboard stays put while you type
- Enter writes the alias and refreshes; Esc cancels; empty+Enter clears

Display:
- Aliased rows render `CC1 · AgentPulse (claude-code)` with the alias
  in bold cyan
- Alias replaces the v0.4.4 hex-tail disambiguator (the alias IS the
  disambig)
- Aliased rows don't count toward collision detection, so the lone
  unaliased session in a project doesn't get a spurious tail

Storage — cwd wins over home:
- <session.cwd>/.agentpulse-aliases.json — per-project, commit
  alongside .agentpulse-exceptions.json for team-shared conventions
- ~/.agentpulse/aliases.json — personal default, writes from `n`-Enter
  land here. Promoting to the shared file is manual copy/paste.

Architecture:
- New src/aliases.ts mirrors the exceptions.ts pattern
- Orchestrator pulse() now loads aliases per-session at refresh time
  and threads the result into SessionState.alias
- New SessionState.alias?: string field

Tests: 158 (was 143). Twelve new alias-storage tests + three new
SessionList rendering tests covering alias-in-front, aliased-rows-
no-hex-tail, and aliased-rows-don't-inflate-collision-count.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Assets 2
Loading