diff --git a/docs/workbench/UI-UX-GUIDE.md b/docs/workbench/UI-UX-GUIDE.md index 2295d4f5..ac51ab63 100644 --- a/docs/workbench/UI-UX-GUIDE.md +++ b/docs/workbench/UI-UX-GUIDE.md @@ -59,7 +59,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: 14. +Current route count: 15. | Section | Route | Path | Shortcut | Purpose | |---|---|---|---|---| @@ -76,6 +76,7 @@ Current route count: 14. | Discipline | Evals | `/evals` | `⌘5` | Run/read allowlisted eval lanes and wrong=0 ledgers. | | 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. | | 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 diff --git a/workbench-ui/src/app/Shell.test.tsx b/workbench-ui/src/app/Shell.test.tsx index 89b0a324..07f19fdd 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 14 items in section-grouped order", () => { + it("LeftNav has exactly 15 items in section-grouped order", () => { renderShell(); const nav = document.querySelector('[data-region="leftnav"]')!; const links = nav.querySelectorAll("a"); - expect(links).toHaveLength(14); + expect(links).toHaveLength(15); const labels = Array.from(links).map((l) => l.textContent); // Grouped by section (Converse → Cognition → Determinism → Evidence → // Discipline → Substrate → Settings), derived from the route registry. @@ -107,6 +107,7 @@ describe("Shell", () => { "Evals", "Calibration", "Packs", + "CORE-Logos", "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 0a84a182..4dea19fe 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 (14), derived from the - // route registry — Demos, Calibration, Contemplation, and Tour are included - // (the prior hand-maintained list of 10 dropped them). + // One Navigate command per palette-visible route (15), derived from the + // route registry — Demos, Calibration, Contemplation, Tour, and CORE-Logos + // are included (the prior hand-maintained list of 10 dropped them). const items = dialog.querySelectorAll('[role="option"]'); - expect(items.length).toBe(14); + expect(items.length).toBe(15); const lastIndex = items.length - 1; // Initially first item (index 0) is focused — check aria-selected