test(workbench-ui): fix UI and keyboard tests for Apple UMA route integration

This commit is contained in:
Shay 2026-06-24 15:25:07 -07:00
parent 4f8d7df8ae
commit 284e4c5717
3 changed files with 11 additions and 7 deletions

View file

@ -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

View file

@ -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",
]);
});

View file

@ -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