Repository navigation
Review the judge UI and land six patches - #3
Merged
Merged
Conversation
- Ignore ⌘K / ⌘↵ while the key dialog is open, and ⌘↵ inside the palette - Clear a validation error as soon as the workspace no longer has the problem - Explain staleness: what changed (text, checks, or demo/live mode) and why a run can't start, via a pure describeStaleness helper with unit tests - Announce a newly added custom check and move focus to its chip - Move the flag threshold into the verdicts panel footer, next to the counts it changes, stacking at phone widths - Keep "Answer confidence" on one line in result cards Each patch is covered by Playwright specs; README updated to match. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Custom-check focus can target the wrong checkbox when names are duplicated.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
What changed in this PR
Improves the judge workspace with safer keyboard shortcuts, clearer stale-result messaging, better validation feedback, custom-check accessibility, threshold placement, and responsive styling.
Changes:
- Added reason-aware stale notices and self-clearing validation errors.
- Improved modal shortcuts, custom-check feedback, threshold controls, and result-card layout.
- Added tests and updated README documentation.
| File | Summary |
|---|---|
README.md |
Documents updated workspace behavior. |
lib/staleness.ts |
Adds stale-reason messaging. |
lib/staleness.test.ts |
Tests staleness behavior. |
e2e/keyboard.spec.ts |
Covers modal shortcut behavior. |
e2e/judge.spec.ts |
Covers validation, staleness, and thresholds. |
e2e/custom-checks.spec.ts |
Covers custom-check feedback and focus. |
e2e/api-key.spec.ts |
Covers mode-transition stale notices. |
components/SourcePanel.tsx |
Adds custom-check feedback and focus handling. |
components/ResultsPanel.tsx |
Moves threshold controls into the footer. |
components/JudgeWorkspace.tsx |
Integrates stale tracking and shortcut guards. |
app/globals.css |
Styles the footer and confidence labels. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+75
to
+76
| const chip = Array.from(panelRef.current?.querySelectorAll<HTMLInputElement>('.field-options input[type="checkbox"]') ?? []).find( | ||
| (input) => input.getAttribute("aria-label") === name, |
This branch was successfully deployed
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
A screenshot-driven review of the judge workspace at desktop, 1024px, and Pixel 7 widths in both themes, followed by six patches. Each has end-to-end coverage.
describeStalenesshelper names what changed ("You switched to live mode. These verdicts are still simulated.") and, when a run can't start, why. Keeps simulated and live verdicts visibly distinct.README updated to match.
Verification
pnpm check:secretspnpm lintpnpm typecheckpnpm testpnpm buildpnpm test:e2eSkips are the existing desktop-only / phone-only cases plus the new threshold-in-viewport test on mobile, where the panel scrolls with the page by design. Live API paths were exercised only through stubbed routes.
🤖 Generated with Claude Code