Skip to content

fix(redesign): design nitpick pass — honest dark captures, state copy, icons, row layout#574

Merged
HomenShum merged 3 commits into
mainfrom
fix/ui-nitpick-pass1
Jul 17, 2026
Merged

fix(redesign): design nitpick pass — honest dark captures, state copy, icons, row layout#574
HomenShum merged 3 commits into
mainfrom
fix/ui-nitpick-pass1

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Summary

Pixel review of all 4-variant dogfood captures (desktop/mobile × dark/light + interaction states) after the recent workspace changes. Six findings; five fixed, one accepted-by-design. Loop ran three capture passes and converged at zero new findings.

  1. Dishonest dark evidence (P1) — the capture spec's setTheme wrote only the legacy cockpit theme keys; RedesignShell (the only surface since feat: make chat the single NodeBench workspace #561) reads nodebench:redesign:theme. Every "dark" screenshot was a mislabeled light render. The spec now writes the shell's key; pass-2 captures are the first honest dark evidence this pipeline has produced.
  2. Contradictory state copy (P2) — context-miss banner titled "Notebook context selected" over a body admitting the context was unavailable. Title now tracks the miss for the artifact and default branches.
  3. Mobile truncation of load-bearing data (P2) — the status row duplicated the context title carried by the chip directly below it, ellipsizing "12 attached sources" at 390px. Row now leads with the count.
  4. Emoji chips (P2) — starter chips used platform emoji on an all-SVG surface; replaced with a shared STARTER_ICONS stroke-SVG set so the default and live chip sets cannot drift.
  5. Floating meta text (P3)flex: 1 + max-width: 36ch reserved a title-sized column in the run-scope summary, leaving "Review · no shared writes" floating mid-row on desktop. Content-sized now, shrink + ellipsis kept.
  6. Accepted — first-chip two-line wrap is content-driven (dated title), not a layout defect.

Verification

  • npx tsc --noEmit — 0 errors
  • Redesign feature suite — 92 passed
  • CSS/lifecycle/shape guards + composer suite — 34 passed post-rebase onto feat(chat): honor JSON and table response shapes end to end #573's main
  • Pass-3 re-capture at all variants — status row flush, dark genuinely dark, SVG icons theme-aware, zero new findings

🤖 Generated with Claude Code

HShuM and others added 3 commits July 17, 2026 13:27
…py, chip icons

Four findings from the pixel review of the 4-variant dogfood captures:

- The capture spec's setTheme wrote only the legacy cockpit keys; the
  redesign shell reads nodebench:redesign:theme, so every "dark" variant
  screenshot silently captured a light render — QA evidence claimed
  coverage it did not have. The spec now writes the shell's key.
- The context-miss banner titled itself "Notebook context selected"
  while its body admitted the saved context was unavailable; the title
  now agrees with the state for the artifact and default branches.
- The composer status row repeated the context title the chip below it
  already carries, which pushed the load-bearing "12 attached sources"
  count into ellipsis at 390px. The row now leads with the count.
- Starter chips used platform emoji; they now use the inline stroke-SVG
  house style via a shared STARTER_ICONS set so the default and live
  chip sets cannot drift apart.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
flex: 1 + max-width: 36ch reserved a title-sized column in the composer
status row; with the title moved to the context chip, the short source
count left dead space and "Review · no shared writes" floated mid-row on
desktop. Content-sized now, with shrink + ellipsis kept for pressure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HomenShum
HomenShum enabled auto-merge (squash) July 17, 2026 20:30
@vercel

vercel Bot commented Jul 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nodebench-ai Ready Ready Preview, Comment Jul 17, 2026 8:32pm

Request Review

@github-actions

Copy link
Copy Markdown

✅ Dogfood Visual QA Gate: PASSED

Check Status
Screenshots 7 captured (pass)
Walkthrough 9 chapters (pass)
Key Frames 9 extracted (pass)
Scribe Steps 8 how-to steps (pass)
Build success
Artifacts

Download the dogfood-evidence-59683d3 artifact from the Actions tab for full screenshots, frames, and walkthrough video.


Generated by Dogfood QA Gate

@HomenShum
HomenShum merged commit f2cdf06 into main Jul 17, 2026
17 checks passed
@HomenShum
HomenShum deleted the fix/ui-nitpick-pass1 branch July 17, 2026 20:36
@github-actions

Copy link
Copy Markdown

Demo: walkthrough of the surfaces this PR changed is available as a workflow artifact (pr-demo-574) at https://github.com/HomenShum/NodeBenchAI/actions/runs/29611839298

HomenShum added a commit that referenced this pull request Jul 17, 2026
…t evidence folder (#576)

* feat(qa): L3 answer-packet state schemas + one-page surface-contract spec

The contract gains "verifiable meaning": an answerPacket section declares,
per response shape x evidence support, which packet fields MUST appear,
which must NEVER leak (compact rendering is driven by field emptiness, so
a leak is a rendered regression), and which honesty markers are required
(Source needed prefixes, limitation risk rows). A new executor drives
every declaration through the REAL detectRequestedResponseShape +
applyDeterministicResponsePolicy — 8 shapes x supported/unsupported plus
detector agreement, 25 tests from one JSON file — and joins the
runtime-smoke allowlist.

SPEC.md distills the pattern to one portable page (three layers, schema,
verifier contract incl. independent replay, fail-closed hash binding for
served projections) so the second in-portfolio implementation can
converge on one spec instead of two bespoke ones.

Reversion-proved: flipping the bullets lineCount clause fails exactly the
two bullets tests; restored, 25/25.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(ui-contract): first dated evidence folder — nitpick pass before/after

Five before/after pairs (desktop+mobile x dark+light + the forced
context-miss state) regenerated honestly: before = pre-#574 sources
rebuilt and captured with the FIXED spec so both sides render true dark.
Schema-valid manifest per the ui-contract folder convention.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: hshum <hshum@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <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.

2 participants