Fleet changelogs · dev.ecs0.net
rdmsm4x-changelog-20260904-0001-claude-statusline-v2.3.0-frost-model-chip-userhost-fleet

rdmsm4x-changelog-20260904-0001-claude-statusline-v2.3.0-frost-model-chip-userhost-fleet

[2026-09-04 00:01:27 EDT · rdmsm4x] — session ran 2026-09-03 23:55 EDT → 2026-09-04 00:01 EDT (~6 min).

Summary: Claude Code status line taken from v2.2.0 to v2.3.0 and installed on all six fleet hosts: the model segment now renders as a Nord Frost background chip shaded by model family, row 2 identity leads with user@host instead of a bare host, and a missing jq now prints an explicit banner instead of silently degrading every meter to n/a. The reported "lost bars / no context window" symptom was NOT reproducible — see Findings.

Findings — the reported symptom did not reproduce anywhere

Measured, not assumed:

Check Result
~/.claude/statusline.sh on rdmsm4x vs canonical identical (86252490851c98a4…), v2.2.0 intact
statusline-verify.log empty — no restore had ever fired before this session
Real payload captured from the live session complete: context_window, rate_limits.five_hour, rate_limits.seven_day all present and populated
v2.2.0 rendered against that real payload full CTX / 5H / 7D bars, percentages, cost — correct
Status line process env COLUMNS=165, jq=/opt/homebrew/bin/jq — nothing missing
Pre-push backup on each of the 5 remote hosts all 86252490851c98a4… — every host was already running intact v2.2.0

So the script was healthy on all six hosts and produced bars on all six. Nothing had been clobbered by /statusline or the statusline-setup agent. The remaining candidates for what Rich actually saw are display-side and could not be checked from a Background session (screencapture returned "could not create image from display" — no Screen Recording grant): terminal showing only the last row, a font without U+2588/U+2591, or a different tool's status line entirely — statusline_sync.zsh --check reports agy and Codex in DRIFT on rdmsm4x (agy have ab94fb5c167e want 32e399799337; codex 26 items want c95bacf9d731). Those two were deliberately left alone; the request was the Claude status line.

Changes

~/.claude/canonical/statusline.sh → v2.3.0 (then installed live and pushed):

  1. Nord Frost model chip. The model segment renders on a Frost background, shade by family: Opus #5E81AC (nord10), Sonnet #81A1C1 (nord9), Haiku #88C0D0 (nord8), Fable #8FBCBB (nord7); unknown falls back to nord10. Foreground is picked per background for contrast — snow #ECEFF4 on nord10, polar night #2E3440 on the three lighter Frosts. ⚡ / /effort / /think ride inside the chip on the same background (a $RESET mid-chip would punch a hole in the colour block, and $DIM is invisible on light Frost). Family match is on model.id first, display name second, so a reworded display name cannot silently drop the chip to the default shade.
  2. user@host in row 2. Was a bare hostname. $USER/$HOSTNAME are shell-provided, so this adds no subprocess. Verified each host renders its OWN name, not the pusher's.
  3. Explicit jq-missing banner. Without jq the single jq pass yields nothing and every meter degrades to n/a — which looks exactly like "the bars disappeared". Now it says so. command -v is a builtin, so the guard costs nothing.
  4. statusline_sync.zsh fleet list gap fixed. FLEET= listed 5 hosts and omitted jdmbair13m5, so every --push reported "ALL HOSTS CONSISTENT" while never touching it. Added.

Everything else in v2.2.0 is unchanged: the one-jq-pass design, the bar geometry and green/yellow/orange/red grading, the 2-cheap-git-calls rule, bash 3.2 portability, responsive bar widths, OSC 8 PR hyperlink.

Verification

Files touched

Backups / how to undo

Outstanding owner actions