Repository navigation
Harness 4.7 Local regression tests [inspector] #6556
Description
Part of #6535.
- Add a Playwright spec (
e2e/) for local harness chat that covers two approvals, deny, reload and Stop. - Wire tier 1 of
~/.claude/skills/local-harness-e2e/scripts/lh-e2e.sh(fake model) into CI.
Delivery rules
- Fresh worktree and branch; each PR at most 400 handwritten changed lines; stack when necessary.
- Verify the actual failing boundary and run repository checks.
- Preserve broker-only model auth, no venue/engine fallback, and separate infrastructure failures.
- Human-only: production deployment, flags/env changes, rebuilds/backfills, signed/published packs and large paid runs.
Status: planned; completion requires the acceptance evidence above.
Pull request stack
- MCPJam/inspector#6594: test(harness): expose the real approval runner over loopback HTTP
- MCPJam/inspector#6599: test(harness): cover approval, reload and Stop in Chromium
The implementation hub records merge order, current verification and remaining release gates. PR publication does not mark the deployed or packaged acceptance matrix complete.
Review correction: candidate evidence lives in this task
No signed candidate qualification was performed in this session. Record concrete outcomes against the exact candidate here; source tests do not satisfy these gates.
Signed Windows harness qualification
Run this on a fresh Windows machine using the exact signed Squirrel candidate
from windows-release.yml. A Linux source test or an unsigned package smoke is
not Windows product evidence. Signing and publication require a human.
Record the installer and package SHA-256 values, app version, source commit,
Windows version and architecture, Authenticode signer and verification output,
and supported runtime pack versions, tree digests and layer versions. Use a disposable
project and a work folder for Claude Code. Local Codex is currently refused on Windows and remains unverified.
| Check | Required evidence | Initial status |
|---|---|---|
| Fresh install and first launch | Native installation succeeds; Authenticode verifies the expected publisher; launched version matches the candidate | not_run |
| Sign in and callback | Real browser sign-in returns to the installed app and intended account; wrong or replayed callback is refused | not_run |
| Runtime installation | The supported Claude Code pack downloads and verify against their recorded identities; corrupt or partial packs never launch | not_run |
| Local turns and approvals | Claude Code performs native write/read, exact fixture MCP call and second-turn read; approve, deny, two approvals, reload and Stop settle correctly | not_run |
| Update and restart | Squirrel updates from the previous supported release; restart opens the candidate and preserves settings without bypassing local authorization | not_run |
| Offline and recovery | Interrupted pack or update download has an actionable result; reconnect/retry completes once; unverified bytes never execute | not_run |
| Quit cleanup | Quit during execution and pending approval terminates app and harness descendants; native Job Object/process evidence shows no orphan, and relaunch has no stale running session | not_run |
Include native paths with spaces in the runtime checks. Retain the exact-pack
Windows conformance outcome alongside the product report; conformance alone does
not cover installed-app authorization, callbacks or updates. Each row needs a
recording or native command output, timestamps, session/turn IDs and terminal
state. Update rows also need the attempt ID and diagnostics timeline.
Keep failed and unexecuted rows visible. Changing the signed candidate or runtime
pack invalidates the affected evidence and requires rerunning those cases.
Activity