Skip to content

refactor(chat): clarify the single action surface#564

Merged
HomenShum merged 1 commit into
mainfrom
cleanup/minimal-action-hierarchy
Jul 17, 2026
Merged

refactor(chat): clarify the single action surface#564
HomenShum merged 1 commit into
mainfrom
cleanup/minimal-action-hierarchy

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Outcome

  • removes the duplicate right-side run inspector and its 871-line projection layer
  • makes the composer the obvious primary action with a compact accessible submit control
  • keeps runtime-backed reads, writes, checks, receipts, sources, provider/model preflight, cancellation, and voice spend reachable
  • removes decorative and explanatory copy that repeated what the controls already communicate

Verification

  • app + Convex typecheck
  • 62 focused tests + 13 design-system tests
  • design linter + touched-surface agent-UI lint
  • production build
  • six-state desktop/tablet/mobile light/dark clutter audit: protected 4/4, no overflow, clipping, unlabeled controls, duplicate actions, console errors, or mojibake
  • local empty and completed-replay browser verification on desktop and mobile

Release

CI-gated squash merge only; no admin bypass and no out-of-band Convex deploy.

@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 5:57am

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-836df23 artifact from the Actions tab for full screenshots, frames, and walkthrough video.


Generated by Dogfood QA Gate

@HomenShum
HomenShum merged commit 193c702 into main Jul 17, 2026
17 checks passed
@HomenShum
HomenShum deleted the cleanup/minimal-action-hierarchy branch July 17, 2026 06:01
@github-actions

Copy link
Copy Markdown

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

HomenShum added a commit that referenced this pull request Jul 17, 2026
detectRequestedResponseShape matched "return only the title" but not "return
only its title": the determiner group listed articles and no possessives, so
the possessive phrasing fell through to the five-section memo and silently
overrode an explicit user output constraint on a paid run.

The determiner set now lives in one TITLE_DETERMINER constant shared by every
title pattern. It was previously duplicated across two regexes, which is how
the two could disagree in the first place.

Found by re-verifying the 2026-07-16 production audit against main instead of
trusting it. Four of its five P1s were already fixed by #550/#561/#564 within
hours of the run; only this one survived. The suite stayed green because every
title case it asserted used the one phrasing that worked, so the new tests use
the audit's verbatim production prompts and cover the negative cases the wider
pattern could now over-match.

Both test files are added to the CI runtime-smoke allowlist, which is an
explicit file list rather than a full-suite run. Without that, the regression
guard would never execute in CI and would repeat the same blind spot one level
up.

Also pins DEFAULT_TIERS to the runtime's modelForTier with a parity test. The
two were hand-maintained mirrors with no test binding them; drift would make
the paid preflight advertise a model the runtime never runs. The composer
header comment still claimed "provider names appear only in the trace", the
opposite of the disclosure contract shipped in #550.

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