Skip to content

Commit 6c54363

Browse files
committed
docs(closeout): refresh truth surfaces and locale selectors
1 parent 9fc619a commit 6c54363

8 files changed

Lines changed: 213 additions & 45 deletions

File tree

apps/web/src/components/ConsoleHeader.tsx

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
1-
import {
2-
memo,
3-
type KeyboardEvent as ReactKeyboardEvent,
4-
useCallback,
5-
useRef,
6-
} from "react"
7-
import { useI18n } from "../i18n"
1+
import { Badge, Button, TabsList, TabsTrigger } from "@uiq/ui"
2+
import { memo, type KeyboardEvent as ReactKeyboardEvent, useCallback, useRef } from "react"
83
import {
94
CONSOLE_TAB_FLOW_DRAFT_TEST_ID,
105
CONSOLE_TAB_QUICK_LAUNCH_TEST_ID,
116
CONSOLE_TAB_TASK_CENTER_TEST_ID,
127
} from "../constants/testIds"
138
import type { AppView } from "../hooks/useAppStore"
14-
import { Badge, Button, TabsList, TabsTrigger } from "@uiq/ui"
9+
import { useI18n } from "../i18n"
1510

1611
interface ConsoleHeaderProps {
1712
runningCount: number
@@ -34,6 +29,8 @@ const views: { key: AppView; label: string; desc: string; icon: React.ReactNode
3429
height="16"
3530
viewBox="0 0 24 24"
3631
fill="none"
32+
aria-hidden="true"
33+
focusable="false"
3734
stroke="currentColor"
3835
strokeWidth="2"
3936
strokeLinecap="round"
@@ -53,6 +50,8 @@ const views: { key: AppView; label: string; desc: string; icon: React.ReactNode
5350
height="16"
5451
viewBox="0 0 24 24"
5552
fill="none"
53+
aria-hidden="true"
54+
focusable="false"
5655
stroke="currentColor"
5756
strokeWidth="2"
5857
strokeLinecap="round"
@@ -73,6 +72,8 @@ const views: { key: AppView; label: string; desc: string; icon: React.ReactNode
7372
height="16"
7473
viewBox="0 0 24 24"
7574
fill="none"
75+
aria-hidden="true"
76+
focusable="false"
7677
stroke="currentColor"
7778
strokeWidth="2"
7879
strokeLinecap="round"
@@ -165,6 +166,8 @@ function ConsoleHeader({
165166
<svg
166167
viewBox="0 0 24 24"
167168
fill="none"
169+
aria-hidden="true"
170+
focusable="false"
168171
stroke="currentColor"
169172
strokeWidth="2"
170173
strokeLinecap="round"
@@ -195,12 +198,13 @@ function ConsoleHeader({
195198
{t("Failed {count}", { count: failedCount })}
196199
</Badge>
197200
</div>
198-
<div className="header-locale-switch" role="group" aria-label={t("Language")}>
201+
<div className="header-locale-switch">
199202
<Button
200203
type="button"
201204
size="sm"
202205
variant={locale === "en" ? "secondary" : "ghost"}
203206
aria-pressed={locale === "en"}
207+
data-testid="header-locale-en"
204208
data-uiq-ignore-button-inventory="locale-switch-non-core-action"
205209
onClick={() => setLocale("en")}
206210
title={t("Language")}
@@ -212,6 +216,7 @@ function ConsoleHeader({
212216
size="sm"
213217
variant={locale === "zh-CN" ? "secondary" : "ghost"}
214218
aria-pressed={locale === "zh-CN"}
219+
data-testid="header-locale-zh-cn"
215220
data-uiq-ignore-button-inventory="locale-switch-non-core-action"
216221
onClick={() => setLocale("zh-CN")}
217222
title={t("Language")}
@@ -233,6 +238,8 @@ function ConsoleHeader({
233238
height="16"
234239
viewBox="0 0 24 24"
235240
fill="none"
241+
aria-hidden="true"
242+
focusable="false"
236243
stroke="currentColor"
237244
strokeWidth="2"
238245
strokeLinecap="round"
@@ -258,6 +265,8 @@ function ConsoleHeader({
258265
height="16"
259266
viewBox="0 0 24 24"
260267
fill="none"
268+
aria-hidden="true"
269+
focusable="false"
261270
stroke="currentColor"
262271
strokeWidth="2"
263272
strokeLinecap="round"
@@ -270,7 +279,7 @@ function ConsoleHeader({
270279
</Button>
271280
</div>
272281
</div>
273-
<nav role="tablist" aria-label="Primary navigation">
282+
<nav aria-label="Primary navigation">
274283
<TabsList className="console-nav-tabs">
275284
{views.map((v, index) => {
276285
const label =

apps/web/src/testing/button-manifest.ts

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,30 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
3030
selector: "data-testid=console-tab-quick-launch",
3131
owner_suite: "first-use",
3232
criticality: "critical",
33-
expected_effect: "Switches to the Quick Launch view and activates the matching primary navigation tab.",
33+
expected_effect:
34+
"Switches to the Quick Launch view and activates the matching primary navigation tab.",
3435
assertion_type: "aria-selected",
3536
case_id: "nav-quick-launch-selected",
3637
},
3738
{
3839
id: "nav-locale-en",
3940
view: "QuickLaunch",
40-
selector: 'role=button[name="EN"]',
41+
selector: "data-testid=header-locale-en",
4142
owner_suite: "first-use",
4243
criticality: "medium",
43-
expected_effect: "Switches the product UI to the English locale and persists the locale preference.",
44+
expected_effect:
45+
"Switches the product UI to the English locale and persists the locale preference.",
4446
assertion_type: "storage-change",
4547
case_id: "nav-locale-en-selected",
4648
},
4749
{
4850
id: "nav-locale-zh-cn",
4951
view: "QuickLaunch",
50-
selector: 'role=button[name="中文"]',
52+
selector: "data-testid=header-locale-zh-cn",
5153
owner_suite: "first-use",
5254
criticality: "medium",
53-
expected_effect: "Switches the product UI to the zh-CN locale and persists the locale preference.",
55+
expected_effect:
56+
"Switches the product UI to the zh-CN locale and persists the locale preference.",
5457
assertion_type: "storage-change",
5558
case_id: "nav-locale-zh-cn-selected",
5659
},
@@ -80,7 +83,8 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
8083
selector: "data-testid=task-center-tab-command-runs",
8184
owner_suite: "task-center",
8285
criticality: "high",
83-
expected_effect: "Shows the command run records panel and hides the template run records panel.",
86+
expected_effect:
87+
"Shows the command run records panel and hides the template run records panel.",
8488
assertion_type: "visibility-toggle",
8589
case_id: "taskcenter-command-runs-visible",
8690
},
@@ -90,7 +94,8 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
9094
selector: "data-testid=task-center-tab-template-runs",
9195
owner_suite: "task-center",
9296
criticality: "high",
93-
expected_effect: "Shows the template run records panel and hides the command run records panel.",
97+
expected_effect:
98+
"Shows the template run records panel and hides the command run records panel.",
9499
assertion_type: "visibility-toggle",
95100
case_id: "taskcenter-template-runs-visible",
96101
},
@@ -100,7 +105,8 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
100105
selector: "data-testid=quick-launch-first-use-start",
101106
owner_suite: "first-use",
102107
criticality: "high",
103-
expected_effect: "Advances the first-use guide from the welcome step into the configuration step.",
108+
expected_effect:
109+
"Advances the first-use guide from the welcome step into the configuration step.",
104110
assertion_type: "text-visible",
105111
case_id: "quicklaunch-first-use-start-stage",
106112
},
@@ -120,7 +126,8 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
120126
selector: 'role=button[name="Configuration done, continue to run"]',
121127
owner_suite: "first-use",
122128
criticality: "high",
123-
expected_effect: "Moves the first-use guide into the run step and shows the run-stage instructions.",
129+
expected_effect:
130+
"Moves the first-use guide into the run step and shows the run-stage instructions.",
124131
assertion_type: "text-visible",
125132
case_id: "quicklaunch-enter-run-stage",
126133
},
@@ -200,7 +207,8 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
200207
selector: 'role=button[name="Compare runs"]',
201208
owner_suite: "task-center",
202209
criticality: "high",
203-
expected_effect: "Shows the compare panel so the operator can inspect the selected baseline-versus-candidate evidence view.",
210+
expected_effect:
211+
"Shows the compare panel so the operator can inspect the selected baseline-versus-candidate evidence view.",
204212
assertion_type: "text-visible",
205213
case_id: "taskcenter-compare-runs-panel",
206214
},
@@ -220,7 +228,8 @@ export const BUTTON_BEHAVIOR_MANIFEST = [
220228
selector: 'role=button[name="Promotion guidance"]',
221229
owner_suite: "task-center",
222230
criticality: "medium",
223-
expected_effect: "Shows promotion guidance for the selected retained run after explanation, share, and compare context are available.",
231+
expected_effect:
232+
"Shows promotion guidance for the selected retained run after explanation, share, and compare context are available.",
224233
assertion_type: "text-visible",
225234
case_id: "taskcenter-promotion-guidance-panel",
226235
},

configs/governance/repo-map.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,7 @@
129129
"frontend/",
130130
"automation/"
131131
],
132-
"forbiddenRuntimeTokens": [
133-
".runtime-cache/ci/"
134-
],
132+
"forbiddenRuntimeTokens": [],
135133
"forbiddenFloatingToolCommands": [
136134
"pnpm dlx curlconverter",
137135
"pnpm dlx har-to-k6"

configs/governance/runtime-output-registry.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@
216216
"repoExclusiveExternalLayers": [
217217
{
218218
"id": "pnpm-prooftrail-store",
219-
"path": "${HOME}/.cache/pnpm/prooftrail",
219+
"path": "${HOME}/.cache/pnpm/prooftrail/store",
220220
"kind": "dependency-store",
221221
"owner": ".npmrc",
222222
"cleanupClass": "reclaim",
@@ -242,7 +242,7 @@
242242
},
243243
{
244244
"id": "repo-pnpm-store",
245-
"path": "${HOME}/.cache/pnpm/prooftrail",
245+
"path": "${HOME}/.cache/pnpm/prooftrail/virtual-store",
246246
"kind": "repo-exclusive-dependency-store",
247247
"owner": "scripts/space-clean-reclaim.py",
248248
"cleanupClass": "reclaim",

configs/tooling/pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ repos:
208208
- id: markdownlint-cli2
209209
entry: markdownlint-cli2
210210
files: '^(README\.md|AGENTS\.md|CLAUDE\.md|docs/.*\.md)$'
211-
exclude: '(^|/)(\.venv|node_modules|dist|build|coverage|artifacts|\.runtime-cache|\.codex)/'
211+
exclude: '(^|/)(\.venv|node_modules|dist|build|coverage|artifacts|\.runtime-cache|\.codex)/|^docs/reference/generated/governance/.*\.md$'
212212

213213
- repo: https://github.com/astral-sh/ruff-pre-commit
214214
rev: v0.9.9

docs/reference/generated/governance/repo-map.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,3 @@ Generated from `configs/governance/repo-map.json`. Do not edit this file manuall
2727
| `automation/` | `apps/automation-runner/` |
2828

2929
## Forbidden Runtime Tokens
30-
31-
- `.runtime-cache/ci/`

docs/reference/generated/governance/runtime-output-registry.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ Generated from `configs/governance/runtime-output-registry.json`. Do not edit th
2727

2828
| ID | Path | Kind | Cleanup Class | Owner |
2929
| --- | --- | --- | --- | --- |
30-
| `pnpm-prooftrail-store` | `${HOME}/.cache/pnpm/prooftrail` | `dependency-store` | `reclaim` | `.npmrc` |
30+
| `pnpm-prooftrail-store` | `${HOME}/.cache/pnpm/prooftrail/store` | `dependency-store` | `reclaim` | `.npmrc` |
3131

3232
## Reclaim Scopes
3333

3434
| ID | Path | Kind | Cleanup Class | Rebuild Command | Risk |
3535
| --- | --- | --- | --- | --- | --- |
3636
| `root-venv` | `.venv` | `legacy-python-env` | `reclaim` | `just setup` | `high` |
37-
| `repo-pnpm-store` | `${HOME}/.cache/pnpm/prooftrail` | `repo-exclusive-dependency-store` | `reclaim` | `just setup` | `medium` |
37+
| `repo-pnpm-store` | `${HOME}/.cache/pnpm/prooftrail/virtual-store` | `repo-exclusive-dependency-store` | `reclaim` | `just setup` | `medium` |
3838
| `automation-runner-node-modules` | `apps/automation-runner/node_modules` | `isolated-app-dependency-layer` | `reclaim` | `just setup` | `medium` |
3939
| `mcp-server-node-modules` | `apps/mcp-server/node_modules` | `isolated-app-dependency-layer` | `reclaim` | `just setup` | `medium` |
4040

0 commit comments

Comments
 (0)