test(workbench-ui): fix UI and keyboard tests for Apple UMA route integration
This commit is contained in:
parent
4f8d7df8ae
commit
284e4c5717
3 changed files with 11 additions and 7 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
]);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue