PatchBenchCOMPLETE
showcase · captured run · execution disabledwall time 19.7s

Evidence matrix

3 independent candidates verified against the same frozen regression and commands. Candidate B was rejected automatically: introduced new test failures (2). 2 candidates remain eligible. The choice is yours.

Candidates
3
Eligible
2
Rejected
1by hard gate
Checks run
15/15
New failures caught
2
Verification
12.9ssequential
Evidence matrix: hard gates reject a candidate; every other row is informational and never weighted.
Candidate →
Hard gatesany failure rejects the candidate
Frozen regression test intactsha256 matches the frozen artifact
INTACT(pass)
INTACT(pass)
INTACT(pass)
Regression testmust now pass
PASS(pass)
PASS(pass)
PASS(pass)
New test failures vs baselinecandidate failures − baseline failures
0(pass)
2(fail)
  • refresh during a token-store outage returns 503, not an auth error
  • refresh for a disabled account returns 403 account_disabled
0(pass)
Typecheckrequired by run policy
PASS(pass)
PASS(pass)
PASS(pass)
Buildrequired by run policy
PASS(pass)
PASS(pass)
PASS(pass)
Evidenceinformational · shown, never weighted
Test suite (pass / total, incl. frozen regression)
13/13(pass)
11/13(fail)
13/13(pass)
Pre-existing baseline failures still failingalready failing on baseline · not held against it
0
0
0
Lintnot required by run policy
PASS(pass)
PASS(pass)
PASS(pass)
Files changedexcludes the injected regression test
1
1
1
Lines added / deletedimplementation only
+2−1
+6−2
+8−3
Dependency manifest changed
NO
NO
NO
Config files touched
0
0
0
No composite score. No recommendation. Hard gates reject; everything else is evidence. The developer decides.base ad6b83d · baseline failures 0

Candidate B: Treat any refresh failure as unauthorized

REJECTED

Clients only need to know they must log in again when refresh fails.

✕ Rejected by hard gate
  • Introduced new test failures (2)
New failures vs baseline (2)
  • refresh during a token-store outage returns 503, not an auth errortest/account-policy.test.ts
  • refresh for a disabled account returns 403 account_disabledtest/account-policy.test.ts
Trade-offs · as proposed
  • Simple catch-all
  • Collapses distinct failure modes into one status
Implementation brief

Wrap the refresh route in a try/catch that returns 401 { error: "invalid_token" } for any thrown error.

Change surface
  • src/app.ts+6 −2
dependency manifest unchangedconfig untouched
Inspect locally
git -C .patchbench/worktrees/run-20260926073526-aab88e/b diff

Branch patchbench/run-20260926073526-aab88e/b. PatchBench never merges or pushes.

  • ✓Frozen regression intactintact
  • ✓Regression testpass · 1/1 tests · exit 0 · 146ms
    $ node --test --test-reporter=tap test/refresh-expired.test.ts
  • ✕Test suitefail · 11/13 tests · exit 1 · 582ms
    $ pnpm run test
  • ✓Typecheckpass · exit 0 · 1.4s
    $ pnpm run typecheck
  • ✓Lintpass · exit 0 · 1.0s
    $ pnpm run lint
  • ✓Buildpass · exit 0 · 1.2s
    $ pnpm run build
  • ✕New failures vs baseline2
    • ✕ test/account-policy.test.ts > refresh during a token-store outage returns 503, not an auth error
    • ✕ test/account-policy.test.ts > refresh for a disabled account returns 403 account_disabled
  • ·Preserved baseline failures0
    none · baseline recorded 0 failures