Skip to content

feat(qa): full-surface coverage, contract-fed vision judge, nightly design loop#577

Merged
HomenShum merged 1 commit into
mainfrom
feat/qa-coverage-nightly
Jul 17, 2026
Merged

feat(qa): full-surface coverage, contract-fed vision judge, nightly design loop#577
HomenShum merged 1 commit into
mainfrom
feat/qa-coverage-nightly

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Summary

The three remaining agent-native QA roadmap items, on top of #575/#576:

  1. Coverage — contract states for unknown /r/{hash} share links (must degrade into the workspace with an honest banner) and the mobile entry redirect; runner vocabulary extended (per-state viewport, expectUrlPattern, expect/forbidTestId). Live probing showed the standalone mobile shell no longer mounts since the one-surface contraction, so live-smoke-mobile — which was red against current production while living outside CI, the exact ScratchnodeEventsSurface.test.tsx is red on main and CI can't see it #567 failure mode — is rewritten to assert the one-surface reality.
  2. Vision judge grounding — the Gemini QA judge prompt receives every contract clause as CONTRACT-VERIFIED INVARIANTS ground truth; findings contradicting machine-proven clauses classify as misreads instead of bugs, cutting paid re-litigation and score variance.
  3. Cadencenightly-design-loop.yml builds main nightly, executes every surface contract (fails on drift), captures the 4-variant screenshot set, and uploads both as reviewable artifacts.

Verification

  • L3 executor 25/25 against the extended contract; runner 7/7 + rewritten mobile smoke 6/6 = 13/13 against the served bundle
  • npx tsc --noEmit 0 errors; node --check clean on the QA script (caught and fixed a duplicate-import on first pass)

🤖 Generated with Claude Code

…nightly loop

Roadmap items 1-3 from the agent-native QA plan:

1. Coverage — the contract gains replay-miss (unknown /r/{hash} share
   links must degrade into the workspace with an honest banner) and
   mobile-entry-redirect states, with new runner vocabulary (per-state
   viewport, expectUrlPattern, expect/forbidTestId). Probing the live
   bundle showed the standalone mobile shell no longer mounts since the
   one-surface contraction, so live-smoke-mobile — red against current
   production while living outside CI, the exact #567 failure mode — is
   rewritten to assert the one-surface reality. 7/7 runner, 6/6 mobile
   smoke against the served bundle.

2. Vision judge grounding — the Gemini QA judge prompt now receives
   every contract clause as CONTRACT-VERIFIED INVARIANTS ground truth,
   so paid vision passes stop re-litigating what CI already proves and
   findings that contradict a verified clause classify as misreads.

3. Cadence — nightly-design-loop.yml builds main, executes every
   surface contract (fails on drift), captures the 4-variant screenshot
   set, and uploads both as reviewable artifacts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HomenShum
HomenShum enabled auto-merge (squash) July 17, 2026 21:16
@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 9:17pm

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


Generated by Dogfood QA Gate

@HomenShum
HomenShum merged commit 29b3739 into main Jul 17, 2026
17 checks passed
@HomenShum
HomenShum deleted the feat/qa-coverage-nightly branch July 17, 2026 21:23
@github-actions

Copy link
Copy Markdown

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

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