Skip to content

fix(agent-hud): keep the first column steady and set row headings apart - #682

Merged
DerekMarshall merged 1 commit into
mainfrom
fix/hud-steady-first-column
Oct 15, 2026
Merged

DerekMarshall merged 1 commit into
mainfrom
fix/hud-steady-first-column

Conversation

@DerekMarshall

Copy link
Copy Markdown
Member

Closes #676. The agent HUD's first column no longer changes width as the agent's state changes, and its row headings read as headings.

  • Steady first column: the activity row's states come from an Attention enum in ui::agent_hud, which app::render::agent_hud maps AgentActivity onto. The first column is as wide as the widest state with its dot (● needs you, 11 cells), so working → done → needs you no longer moves every column after it.
  • Headings: context, tools, agents, mode and recent get a style of their own (Palette::heading): bold, in the bright value colour. Field names (out, hit, compacted, background, …) and the -- placeholders keep the dim label style. In monochrome, headings are bold and labels stay dim. Blue and lavender were already taken by the repository and session id.
  • Cost: the first column is two cells wider. On a very narrow strip the session id needs 22 columns instead of 20 to show in full.

Checks:

  • Two new tests, each bite-checked:
    • every state, with and without a dot, leaves the session id and the values at the same x;
    • headings are bold and bright, and field names are dim and not bold.
  • The existing tests that changed are fixed-width strings padded to the old first column, widened by exactly two spaces, plus the two narrow-strip thresholds. The monochrome test now pins context as bold and compacted as dim.
  • DESIGN.md's strip section and example are updated.
  • make check-ci passes.
  • The owner looked at a build and approved the style.

Generated with Claude Code

The activity row's states come from an `Attention` enum in the template,
and the first column is as wide as the widest of them, dot included, so
a change of state never moves the columns after it. Row headings
(`context`, `tools`, `agents`, `mode`, `recent`) are bright and bold;
field names and placeholders stay dim. Monochrome keeps headings bold.

Closes #676

Co-Authored-By: Claude <noreply@anthropic.com>
@DerekMarshall
DerekMarshall merged commit 4816c07 into main Oct 15, 2026
4 checks passed
@DerekMarshall
DerekMarshall deleted the fix/hud-steady-first-column branch October 15, 2026 18:36
DerekMarshall added a commit that referenced this pull request Oct 15, 2026
Sets the version to `2.2.0-rc.4`, made with `make release-prep
VERSION=2.2.0-rc.4`. Only `Cargo.toml` and `Cargo.lock` change. As with
the earlier rcs, it gets no CHANGELOG section, because the 2.2.0 section
covers the whole cycle.

## What rc.4 adds over rc.3

| PR | Change |
|---|---|
| #680 / #681 | fix(list): pages are counted from the top, so a `/` jump
always shows the cursor and `l` off a page's last column opens the next
page at its first column (#679). PageDown/PageUp keep the column and
row. |
| #682 | fix(agent-hud): the first column holds its width through every
state, and row headings are bright and bold (#676). |
| #683 | test(clipboard): the copy-command stubs run through `/bin/sh`,
fixing a local macOS flake that failed this release's first prep. |

The owner tested builds of #681 and #682 before they merged. `main`
stays at `2.2.0-rc.4` through the soak.

**After merge, on `main`:**
1. `make release-tag VERSION=2.2.0-rc.4`
2. Push the tag. `release.yml` verifies the archives reproduce,
publishes a GitHub pre-release, and dispatches the Homebrew tap and apt.
The crates job publishes `spyc 2.2.0-rc.4` and skips `spyc-vt-sys
0.1.0`, which is unchanged.

**Checks:** the release-prep commit hook ran `make check` (3,240 tests
passed).

Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent HUD: fixed-width first column, and row headings styled as headings

1 participant