From 284e4c57177968482c6685851aed681982c480e2 Mon Sep 17 00:00:00 2001 From: Shay Date: Wed, 24 Jun 2026 15:25:07 -0700 Subject: [PATCH] test(workbench-ui): fix UI and keyboard tests for Apple UMA route integration --- docs/workbench/UI-UX-GUIDE.md | 5 ++++- workbench-ui/src/app/Shell.test.tsx | 5 +++-- .../primitives/CommandPalette.keyboard.test.tsx | 8 ++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/workbench/UI-UX-GUIDE.md b/docs/workbench/UI-UX-GUIDE.md index 563d46c5..ea803073 100644 --- a/docs/workbench/UI-UX-GUIDE.md +++ b/docs/workbench/UI-UX-GUIDE.md @@ -60,7 +60,7 @@ successful proof. ## 4. Current Route Map The route registry in `workbench-ui/src/app/routes.ts` is the source of truth. -Current route count: 16. +Current route count: 17. | Section | Route | Path | Shortcut | Purpose | |---|---|---|---|---| @@ -79,6 +79,7 @@ Current route count: 16. | Discipline | Calibration | `/calibration` | Palette | Inspect practice-class reliability and license verdicts. | | Substrate | Packs | `/packs` | `⌘7` | Browse language/runtime pack metadata. | | Substrate | CORE-Logos | `/logos` | Palette | Inspect CORE-Logos pack identity and safety. | +| Substrate | Apple UMA | `/apple-uma` | Palette | Inspect the Apple Silicon mechanical-sympathy benchmark report. | | Settings | Settings | `/settings` | `⌘0` | Manage local UI preferences; engine config remains CLI-only. | Pinned route shortcuts cover Chat through Settings. All routes are searchable in @@ -101,6 +102,7 @@ the command palette. | Evals | Allowlisted eval lanes and wrong/correct/refused metrics are visible. | | Calibration | Practice classes show engine-owned Wilson floor and PROPOSE/SERVE license verdicts. | | Packs | Pack manifests, checksums, and determinism metadata are visible. | +| Apple UMA | Committed mechanical-sympathy benchmark reports, track execution/parity status, and copy boundaries are visible. | | Settings | UI preferences are local-only; density mode is consumed by shell/design tokens; runtime status is read-only. | ## 6. What Each Route Does Not Prove @@ -119,6 +121,7 @@ the command palette. | Evals | Does not run unsafe or sealed holdout lanes from the UI. | | Calibration | Does not mutate a license and does not claim serving wrong=0 from practice data. | | Packs | Does not apply pack mutation. | +| Apple UMA | Does not execute benchmarks, mutate reports, or authorize serving. | | Settings | Does not edit engine configuration. | ## 7. Evidence Subjects And Address Grammar diff --git a/workbench-ui/src/app/Shell.test.tsx b/workbench-ui/src/app/Shell.test.tsx index 16552cdb..45091600 100644 --- a/workbench-ui/src/app/Shell.test.tsx +++ b/workbench-ui/src/app/Shell.test.tsx @@ -85,11 +85,11 @@ describe("Shell", () => { expect(document.querySelector('[data-density="compact"]')).toBeInTheDocument(); }); - it("LeftNav has exactly 16 items in section-grouped order", () => { + it("LeftNav has exactly 17 items in section-grouped order", () => { renderShell(); const nav = document.querySelector('[data-region="leftnav"]')!; const links = nav.querySelectorAll("a"); - expect(links).toHaveLength(16); + expect(links).toHaveLength(17); const labels = Array.from(links).map((l) => l.textContent); // Grouped by section (Converse → Cognition → Determinism → Evidence → // Discipline → Substrate → Settings), derived from the route registry. @@ -109,6 +109,7 @@ describe("Shell", () => { "Calibration", "Packs", "CORE-Logos", + "Apple UMA", "Settings", ]); }); diff --git a/workbench-ui/src/design/components/primitives/CommandPalette.keyboard.test.tsx b/workbench-ui/src/design/components/primitives/CommandPalette.keyboard.test.tsx index f45d43e8..76ebe58a 100644 --- a/workbench-ui/src/design/components/primitives/CommandPalette.keyboard.test.tsx +++ b/workbench-ui/src/design/components/primitives/CommandPalette.keyboard.test.tsx @@ -52,11 +52,11 @@ describe("CommandPalette keyboard contract", () => { expect(screen.getByRole("button", { name: "Open Trace" })).toBeInTheDocument(); expect(screen.getByRole("button", { name: "Open Replay" })).toBeInTheDocument(); - // One Navigate command per palette-visible route (16), derived from the - // route registry — Demos, Calibration, Contemplation, Tour, CORE-Logos, and - // Lived Life are included (the prior hand-maintained list of 10 dropped them). + // One Navigate command per palette-visible route (17), derived from the + // route registry — Demos, Calibration, Contemplation, Tour, CORE-Logos, Lived + // Life, and Apple UMA are included (the prior hand-maintained list of 10 dropped them). const items = dialog.querySelectorAll('[role="option"]'); - expect(items.length).toBe(16); + expect(items.length).toBe(17); const lastIndex = items.length - 1; // Initially first item (index 0) is focused — check aria-selected