feat(rows): the strip is a record, not a forecast - #30
Merged
Conversation
The 5h strip stops at ▮. It drew the rest of the window as hollow cells and then, when linear pace said so, as a wall of × — `5h ▮▯××`, which a user could not read and was right not to. Three surfaces were saying one thing badly: the badge already prints when the window ends (`5h[38%@23:00]`), the notice already names the wall with an exact time and its own gates (`5h caps ~14:20`), and the strip dramatised both a third time in four columns. A 5h window is short enough that its future is a clock, not a shape. five_dry_cell is deleted rather than guarded — a guard on a projection nobody should read is still that projection. ▯ and × keep their meaning on the 7d strip, where the future is 34 cells long and has a shape, and in the `week` report. The 7d future folds as soon as folding hides two cells. The old threshold of 10 was justified by a column break-even, which measured the wrong thing: eleven hollow cells read as too much future long before they got expensive. The tail is now at most ▯▯▯ raw, or ▯▯...▯(✕N) — and N, the windows left, is the part that must survive mid-week, when a pressure notice owns the pin and this row is the only place it appears. A closing week draws to its edge with no special case. Supersedes the five_dry_cell evidence floor from v0.32.1; the row-3 floor from that release stands unchanged. 427 tests (was 426). Co-Authored-By: Claude Fable 5 <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.
From live feedback on the v0.32.1 render:
5h ▮▯××is unreadable. The young-window floor v0.32.1 put onfive_dry_cellmade the phantom rarer, not the row legible — this replaces it.The 5h strip stops at
▮A 5h window is five cells wide. Its future is not a shape, it is a clock — and two surfaces already own that clock with more precision than a shaded cell can carry:
5h[38%@23:00]5h caps ~14:20▯××Three surfaces, one fact, and the least precise one was the loudest. The strip gives the fact up: it draws what happened and ends. No
▯, no×, no fold, no future.five_dry_cellis deleted, not gated — a guard on a projection nobody should read is still that projection.Implemented in
build_ledger_strip's own terms:futnow means how much future to draw —-1none (ends at▮),0all,Nkeep N then fold.build_five_striploses its vestigialdryargument since nothing supplies one any more.▯and×keep their meaning on the 7d strip, where the future is 34 cells long and genuinely has a shape (and the learned forecast filling it says something no badge does), and in theweekreport.The 7d future folds at two hidden cells
WEEK_FUTURE_MIN_HIDE10 → 2. The old threshold was justified by a column break-even, which measured the wrong thing — eleven hollow cells read as "too much future" long before they got expensive. WithKEEP=2the tail is now at most▯▯▯drawn raw, or▯▯...▯(✕N).Nis the part that has to survive mid-week, when a pressure notice owns the pin and this row is the only place the remaining windows appear. A closing week still draws to its edge with no special case: four cells or fewer leave nothing worth folding.Tests
427 (was 426), shellcheck
-S errorclean.▮and never renders▯or×— on a hot young window (the▮▯×××fixture) and mid-window at 80%, where linear pace would have walled off every remaining cell▯still appears on the 7d strip: the glyphs are scoped, not retired▯▯...▯(✕6)) and stays raw at hidden = 1build_week_row: ... 34 cellsbecame... on a 34-cell grid: at 31h from reset the live row now folds, so it assertsdrawn == nowslot + 1 + WEEK_FUTURE_KEEPagainst the fixture's own numbers instead of counting 34 glyphs. Theweekreport still renders all 34 and is covered separately.Docs
README (week-row summary, three examples, the
5hbullet, the▯/×rows now marked 7d-only, fold prose), DESIGN.md (ledger example + glyph table), llms.txt, docs/index.html (№ 0001 5h reading and its answer,L5demo string), and the legend comment block instatusline.sh.Note on sequencing
v0.32.1 was already merged, tagged, released and installed when this feedback landed. Nothing is rewritten: this removes the code v0.32.1 guarded, and the CHANGELOG entry points at v0.32.1 for the row-3 floor rather than editing a published entry.
🤖 Generated with Claude Code