orca/tools
Neil c5102e1262
test(vault): guard the workspace-switch regression #11303 fixed (#11311)
#11303 removed the O(sessions x roots) path normalization from the session
worktree map, but nothing fails if that shape comes back. Adds the two
checks that were missing, plus the tool that would have caught it.

- timing guard: 1200 worktrees x 400 sessions must build in <150ms.
  Verified fail-first — restoring the pre-#11303 per-session
  buildWorktreeCandidates call takes it to 238ms; it is ~15ms as merged.
- path boundary: '/repo/alpha-sibling' must not be attributed to
  '/repo/alpha'. Hoisting the root normalization out of the loop must not
  degrade containment into a bare startsWith.

Also adds tools/benchmarks/workspace-switch-paint-latency.mjs, which
attaches over CDP and measures first-paint-after-click and max frame gap.
The existing worktree-switch-responsiveness.spec.ts only times the
synchronous click task, which stays ~1ms because the highlight is a direct
DOM mutation — that is why a ~1s stall could ship without tripping a
budget. On the affected build it read maxFrameGap p50=973ms.
2026-07-28 23:45:05 -07:00
..
benchmarks test(vault): guard the workspace-switch regression #11303 fixed (#11311) 2026-07-28 23:45:05 -07:00
daemon-relocation-spike Windows terminal update-survival (single consolidated PR) (#7538) 2026-07-07 19:21:07 -04:00
repro-watcher-crash-7547 fix(watcher): isolate @parcel/watcher in a forked process so native crashes can't kill the app (#7547) (#7757) 2026-07-07 22:10:22 -04:00
spikes
win-crash-survival-e2e test(e2e): prove the terminal daemon survives a main-process crash on Windows (#7742) (#9311) 2026-07-19 11:27:29 -07:00
win-update-e2e fix(win-e2e): survive the agent-CLI feature-wall modal in the crash-survival harness (#9992) 2026-07-23 18:04:51 -07:00
repro-macos-renderer-close-teardown.cjs Suppress macOS renderer teardown crash reports (#4655) 2026-06-04 13:02:51 -07:00
repro-orchestration-long-prompt.mjs Fix orchestration agent prompt injection (#7758) 2026-07-07 19:50:57 -07:00
terminal-garble-frame-analysis.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-garble-production-repro.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-garble-react-terminal-recovery.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-garble-session-replay.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00