PR 28651 real command verification Baseline: github/main 82b10d546c Original PR head: 290c8924b05f87de8265c2918a4f95c840f614b4 Verified fix: d8f62ccae6824d107c1fd5cceefbe1e9a9c3d662 All cached-test commands and checks below ran on task-owned Blacksmith workers from the real checkout source with vp 1.4.0 and installed repo dependencies. No mocked vp executable or summary was used as the current run's result. A file at VITE_CACHE_PATH and a corrupt stale sibling exercised filesystem failures. BEFORE (github/main): VITE_CACHE_PATH=/tmp/m057-main/cache-file VP_REMOTE_CACHE=off \ GITHUB_STEP_SUMMARY=/tmp/m057-main/step.md node scripts/test-cached.ts \ --report /tmp/m057-main/report.json --verify-hits 1 scripts/lib/sharded-tests.test.ts Cached tests: 1 files, 1 per task, concurrency 1 Failed to initialize cache: Not a directory (os error 20) Error: ENOTDIR: not a directory, scandir '/tmp/m057-main/cache-file' EXIT=1 No report or step summary was written. ORIGINAL PR HEAD, same file-at-cache-root scenario: Failed to initialize cache: Not a directory (os error 20) No task summary from this run in /tmp/m057-pr/cache-file EXIT=1 Report: exitCode=1, summary=null, verification=[] Step summary: 1 files selected; 0 hits; 0 cached results re-executed. NEIGHBORING FAILURE on original PR head: Real cached-test command selected scripts/lib/sharded-tests.test.ts. Clean cache: test passed, CLEAN_EXIT=0, report included its own run marker. After adding cache/old-broken/last-summary.json containing invalid JSON: Test passed, but: No task summary from this run in /tmp/m057-pr/cache CORRUPT_EXIT=1; report.exitCode=0, report.summary=null. Existing summary regression case extended with corrupt sibling: 1 failed: AssertionError: Target cannot be null or undefined. AFTER FIX: Each candidate summary is read and parsed independently; unreadable or corrupt siblings are skipped while searching for this run's marker. vp test run scripts/lib/cached-tests.test.ts: 8 passed. Includes real-vp cache reuse, invalidation, uncached paths and failed-test coverage. Same real command with corrupt sibling retained: FIXED_EXIT=0, own summary found. Repeat with --verify-hits 1: HIT_EXIT=0, hits=1, verification[0].exitCode=0. Own marker: node -e "" b12b68c1a4083e731cadb4b29f6c9e81 Step summary: 1 cached results re-executed without cache; 0 verification failures. File-at-cache-root scenario repeated after fix: FINAL_MISSING_EXIT=1, report.exitCode=1, summary=null, verification=[]. Report and step summary both present; no stack trace. SCOPED CHECKS: blacksmith-check run ... 'vp run check:changed 8760d063e903406c8e8f695b0852c0a15fc1e00f' format: pass lint: pass, 0 warnings, 0 errors knip 1/2 and 2/2: pass typecheck (6 affected packages): pass test (2 files): pass, 9 tests REAL CLIENT / PROVIDER HEALTH: Installed with vp i. One background dev server at a time, main stopped by captured process group before PR server started. PR server restarted after the fix. PR dev server: serverPort=13773, webPort=5733, isolated .t3 home, automatic seed off. Playwright from repo dependencies drove /usr/bin/google-chrome. Added /home/user/m057-project through Add project > Local folder. Selected Codex gpt-6.1-sol in the model picker and submitted a real turn. Tool read README.md and git branch; returned '# audit m057 verification' and 'master'. After restart, same thread and project persisted. Follow-up real Codex turn read README.md and git status and returned 'workspace clean: audit m057 verification'. No workspace files changed. Screenshot and recording show the actual web client. This is app/provider smoke evidence; the changed behavior is the cached-test CLI. NOT VERIFIED: Hosted CI cache-initialization failure and remote-cache hits. Native desktop, iOS/Android, macOS and Windows execution. Concurrent writers may overwrite the single vp summary; a mismatched run must be rejected rather than reporting another run's tasks. Existing run-identity test passes.