fix(workbench): sync route-count assertions + UI/UX guide for /logos (15 routes)

Registering /logos bumped the registry to 15 routes. Update the stale
hardcoded counts and the registry-driven guide doc:
- Shell.test.tsx: LeftNav 14 -> 15 + CORE-Logos in section-grouped order
- CommandPalette.keyboard.test.tsx: palette nav items 14 -> 15
- docs/workbench/UI-UX-GUIDE.md: route count 15 + Substrate CORE-Logos row

Full workbench-ui vitest suite: 494 passed, exits clean.
This commit is contained in:
Shay 2026-06-14 12:20:11 -07:00
parent af0b4f707b
commit 5ac6dbe3c5
3 changed files with 9 additions and 7 deletions

View file

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

View file

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

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