Repository navigation
Release v1.9.8: fit metric rows to narrow grid columns - #69
Merged
Merged
Conversation
At _GRID_MIN_WIDTH (96 cols) each dashboard box gets ~44 content columns, and the longest rows are wider than that — the P-CPU summary lost the `%` off `avg 41% · max 41`, every residency row lost `high37` outright, and with the process table on the GPU/RAM rows lost their max value entirely. Metric rows are now width-adaptive instead of hard-clipped: the rolling context degrades through three tiers (`avg N% · max N%` -> `⌀N ▲N%` -> `▲N%` -> nothing), fitted per row against its own high-water widths so a row on a tier boundary holds its form instead of flipping on a digit. Residency rows size their bar to what a worst-case breakdown leaves. Also: re-records the hero GIF off the fixed build, and gates releases on user-visible change in CLAUDE.md so the 1.9.2-1.9.7 noise does not recur. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
At
_GRID_MIN_WIDTH(96 cols) each dashboard box gets ~44 content columns, and the longest rows are wider than that, so Textual clipped their tails. Observed on the published hero GIF (dashboard split against the process table, ~47 cols/column):P-CPU 36% @2121MHz (117°C) avg 35% · max 40— missing%GPU 100% @1578MHz (103°C) avg 100% · max— max value gone entirelyP-CPU [bar] idle64 low1 mid5—high16gone↑ Out 33.8 KB/s avg 33.9 KB/s · max 66.0— missing unitCarried open since 1.5.0.
Behavior change
Metric rows are width-adaptive instead of hard-clipped. The rolling context degrades through three tiers, each row picking the widest that fits its own measured width:
Applies to every labelled row (P-CPU/E-CPU, GPU, ANE, RAM, Mem BW, the four I/O rates, CPU/GPU/Package power). The reading itself is never shortened to make room for its annotation. Residency rows size their density bar to what a worst-case breakdown leaves (16 chars down to 8, dropped below that), so the four percentages always survive.
The fit is computed from each row's high-water widths, not the current frame's, so a row sitting on a tier boundary holds its form instead of flipping between shapes as digits come and go (
avg 8%->avg 10%,987MHz->1987MHz). Verified live: 12s at 96 cols on an M4 Max, form stable throughout.?help anddocs/SPEC-system.md§6.3 document the ⌀/▲ compact form.Also in this PR
grid+ per-core + theme cycling since 1.9.x, but the alt text still described the oldstacktake.CLAUDE.md): normal PRs no longer bump the version, only release PRs do; a new "When to cut a release" section gates releases on user-visible change. 1.9.2–1.9.7 — six releases in forty minutes, each fixing the release pipeline that shipped the one before it — are recorded there as the failure mode. The 1.9.8 notes tell users to skip 1.9.1–1.9.7.Validation
.venv/bin/pytest -q— 150 passed.venv/bin/ruff check ./ruff format --check .— clean.venv/bin/python -m actop.actop --helptest_narrow_grid_columns_degrade_context_instead_of_clipping_rowsmounts the real dashboard at 96 cols viaApp.run_test()and drives realSystemSnapshots throughupdate_metrics;test_residency_bar_has_no_gaps_or_overflow_at_full_widthrenamed and given a settled layout, since a fixed 16-char bar is no longer the contract.🤖 Generated with Claude Code