core/.github/workflows
Shay 513f80d5fb fix(workbench): test-runner teardown hardening + frontend CI lane (Wave R R0a)
Full 'pnpm test' previously hung indefinitely (killed at CI walls,
misdiagnosed as teardown slowness). Two root causes found and fixed:

1. RightInspector.test.tsx called setSubject() during render with a fresh
   object every pass -> infinite synchronous render loop (100% CPU spin,
   blocks the event loop so no timeout can fire). Moved into useEffect.
2. Test QueryClients used retry:false but default gcTime (5 min) -> a live
   GC timer per cached query kept workers from exiting. New shared
   createTestQueryClient() with gcTime:0 adopted across all 7 test files.

Hardening so any future leak fails loudly instead of hanging:
- vite.config.ts: testTimeout/hookTimeout 10s, teardownTimeout 5s
- useManagedTimeout hook owns previously-bare setTimeouts in DigestBadge,
  MetadataTable, RatificationCommandPanel (4 sites), CommandPalette focus

First-ever frontend CI lane (.github/workflows/workbench-ui.yml):
path-filtered to workbench-ui/** AND the workflow file itself,
pnpm install --frozen-lockfile + build + vitest, timeout-minutes 15.

Honesty fix: KeyboardHelp no longer advertises j/k, /, Enter (unbuilt
until R0d restores them registry-backed).

Route conformance test (ADR-0162 §6, executable): empty/error/loading
contracts asserted for Chat/Proposals/Evals/Replay; fixed the two gaps
it caught (ReplayRoute bare-div error branch -> ErrorState contract;
ArtifactList empty state gained a next action).

Result: 27 files / 181 tests pass, suite EXITS in 4.9s wall-clock
(was: indefinite hang).
2026-06-12 11:45:23 -07:00
..
contemplation.yml feat(W-021): CI contemplation runner with HITL PR gate (ADR-0155) (#279) 2026-05-25 18:47:06 -07:00
full-pytest.yml fix(phase2): close W-006/W-010/W-013/W-014/W-019 operator decisions (#270) 2026-05-25 11:34:19 -07:00
lane-shas.yml perf(tests): extract math_teaching_corpus lane from pytest into CI lane SHAs (-9m suite time) (#261) 2026-05-25 05:42:12 -07:00
ratify-proposal.yml feat(W-023): revision-mismatch warning on engine-state load (L10b.2, ADR-0157) (#283) 2026-05-25 19:56:07 -07:00
smoke.yml test: promote identity-falsifiability eval into the pre-merge smoke gate 2026-06-03 10:31:56 -07:00
workbench-ui.yml fix(workbench): test-runner teardown hardening + frontend CI lane (Wave R R0a) 2026-06-12 11:45:23 -07:00