Skip to content

docs: reconcile ui.md with shipped reality + TASTE.md scar ledger#49

Merged
lroolle merged 1 commit into
mainfrom
docs/taste-ui-honesty
Jul 22, 2026
Merged

docs: reconcile ui.md with shipped reality + TASTE.md scar ledger#49
lroolle merged 1 commit into
mainfrom
docs/taste-ui-honesty

Conversation

@lroolle

@lroolle lroolle commented Jul 22, 2026

Copy link
Copy Markdown
Member

What

A taste audit of the sessions view (requested: cut costume, record scars). The finding, honestly: the view is not costume -- it is the most disciplined surface in the repo, already corrected across 11 design rounds. Per-element every item earns its keep (rail = one gutter, epoch rows gated to multi-model, error rollup is a row not a panel, per-turn metrics live in hover, compaction node grey-not-amber). The requests view is clean too -- every chip in summarizePair is gated and purposeful.

The real defect was one level up: ui.md, the bible every contributor reads before touching UI, lied about its own rules.

Changes (docs only, no code)

  • ui.md rule 2: names purple (--purple) as the notable-event marker (subagent/skill/MCP folds). "Nothing else gets color" had silently omitted it.
  • ui.md type-scale standing decision: states the real closed set -- 11/12/13px for text/rows, a 9-10px micro-tier for badges/labels/tags (17 uses), 16px header wordmark as the one exception. A fourth text size is now unambiguously drift.
  • TASTE.md (new, repo root): a scar ledger. Five design rejections with their reasoning (inline-metrics -> hover, rewound -> superseded, three-grammars -> one-rail, hard-border -> wash, this reconciliation), rescued from the 20KB session-tab doc + commit messages so they stop being re-litigated.

Why it matters

A rule stricter than the good code mis-teaches: the next contributor pulls the deliberate 10px chips up to 11px, or adds a fifth color believing four is blessed. Making the contract true pays every future UI change.

No source touched; the whole diff is two docs.

🤖 Generated with Claude Code

A taste audit of the sessions view found the view itself clean -- every
element earns its keep (round-3 inline-metrics-to-hover held, the round-9
rail is one gutter, the compaction node is grey not amber) -- but ui.md
over-claiming its own rules:

- Type scale said "11/12/13px only" while the code runs a coherent 9-10px
  micro-tier for badges/labels/tags (17 uses: .cat-badge, .klabel,
  .tcompact-label, .sum-tag) plus a 16px header wordmark. The rule now
  names the real closed set; a fourth text size is drift, not a decision.
- "One accent ... nothing else gets color" omitted purple, which marks
  notable-event folds (subagent/skill/MCP). The rule now names it.

A bible stricter than the good code mis-teaches: the next contributor
"fixes" the deliberate 10px chips up to 11px, or adds a fifth color
believing four is blessed.

TASTE.md is a new scar ledger at the repo root -- five design rejections
with their reasoning (inline-metrics -> hover, rewound -> superseded,
three-grammars -> one-rail, hard-border -> wash, and this reconciliation),
rescued from the 20KB session-tab doc and commit messages so they stop
being re-litigated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lroolle
lroolle merged commit 6d24b4a into main Jul 22, 2026
1 check passed
@lroolle
lroolle deleted the docs/taste-ui-honesty branch July 22, 2026 17:26
lroolle added a commit that referenced this pull request Jul 22, 2026
#50)

A pure tool-call assistant turn -- the agent acted without narrating --
rendered a content-free "tools..." in the sessions rail, dead exactly when
the agent was doing the work. It now names what it did in the conversation
folds' own vocabulary: Bash, Read, skill ccx, mcp github, Task -- deduped
and capped at three with a +N remainder. A thinking-only turn reads
"thinking...", a genuinely empty one "(no text)". The rail should narrate
the agent's actions; that is the whole point of the trace.

turnToolLabel in src/ui.ts; two dom-stub tests pin the single-tool and
multi-tool-capped cases.

CHANGELOG 0.20.0 also records the ui.md/TASTE.md reconciliation merged in
#49 -- 0.19.0 was the last npm release, so this is the release unit that
ships both.

Co-authored-by: Claude Opus 4.8 (1M context) <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.

1 participant