Commit 4ece4fa
fix(qa/e2e): remediation P0-P2 — spec alignment + epic coverage (#41)
* fix(qa/e2e): remediation P0+P1 — retire Kumite, align all specs with post-consolidation UI
Spec rewrites (P0 — stale navigation/labels):
- Delete kumite.spec.ts (Kumite retired, hidden:true, redirects to successors)
- attackdna: nav via sidebar Amaterasu DNA directly (was Kumite → DNA sub-tab)
- shingan: nav via Haiku Scanner → Deep Scan tab (was Kumite → Shingan)
- llm-dashboard: full rewrite for 4-tab Model Lab (was 7-tab LLM Dashboard)
- test-lab: Armory → Buki (Armory absorbed 2026-04-13)
- component-controls: drop Kumite helper, Armory→Buki, LLM Dashboard→Model Lab
- visual-regression/mobile-nav/widget-controls: same label alignment
- pages: login block uses empty storageState for global-setup compat (TI-006)
- sengoku: regex→exact match on New Campaign button (BUG-PROD-001)
- sensei: default-closed assertion guard (VIS-01)
Spec fixes (P1 — remaining tab drift):
- admin-controls: Admin Settings → Settings
- atemi-lab: stale Skills/MCP/WebMCP/Protocol Fuzz → 5-tab layout
- compliance: 7 stale tabs → 4 current (Evidence/Coverage/Results/Audit)
- guard: WARNING+ button → correct aria-label selector
Source fixes (P1 — product bugs):
- PayloadLab H1 "Payload Lab" → "Buki" (VIS-06 label drift)
- ActivityFeed CTA "Open Shingan Scanner" → "Open Haiku Scanner" (VIS-05)
- SenseiDrawer dead-end "No models configured" → actionable text (VIS-09)
- page.tsx ErrorBoundary text aligned with Buki rename
QA plan: KUM-* epics marked RETIRED with successor mapping table.
Verified: typecheck PASS, vitest 6252/6252, next build PASS, playwright 278/23.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(qa/e2e): P2 — epic coverage specs for 16 NONE-coverage epics
New specs covering all previously-uncovered epics:
Dashboard:
- DASH-002: widget customize workflow (toggle, reorder, save/reset)
- DASH-004: metric truthfulness (section headers, widget count)
Scanner:
- SCAN-003: all-engines-disabled deny path guard
Buki:
- BUKI-003 (ARM-003): compare-mode workflow (fixture selection, L/R panes)
Model Lab:
- LLM-008: guard badge visibility in header
Guard:
- GUARD-004: per-attack-family scanner matrix (overview, audit, mode selector)
Compliance:
- BUSH-005: framework-scoped handoff (selection scopes context)
Arena (new file):
- ARENA-002: battle mode × attack mode matrix (wizard, mode options)
- ARENA-003: match result integrity (status, export)
Ronin Hub:
- RONIN-003: local subscription persistence (toggle, reload persistence)
- RONIN-004: submission lifecycle (list, wizard)
Kotoba:
- KOTOBA-005: downstream handoff (harden button produces output)
Admin:
- ADMIN-004: scoreboard tab (leaderboard, stat cards)
- ADMIN-008: export tab (format options, branding, retention)
- ADMIN-010: validation catalog (run controls, module checkboxes, history, calibration)
Sensei:
- SENSEI-002: conversation guard (length limit, empty submission recovery)
- SENSEI-003: tool execution visibility (capability panel, confirmation UI)
Sensei API (new file):
- SENSEI-005: auth gating, input validation, method rejection on 5 routes
Also fixed stale WARNING+/CRITICAL button selectors in admin-controls.
Total: 318 tests in 25 files. Vitest 6252/6252 PASS.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 528da16 commit 4ece4fa
File tree
28 files changed
+863
-725
lines changed- packages/dojolm-web
- e2e
- src
- app
- components
- __tests__
- buki
- sensei
- ui
- team/testing/QA
28 files changed
+863
-725
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
158 | | - | |
159 | | - | |
| 158 | + | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
168 | 259 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
66 | 68 | | |
67 | | - | |
68 | | - | |
| 69 | + | |
| 70 | + | |
69 | 71 | | |
70 | 72 | | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
| |||
83 | 85 | | |
84 | 86 | | |
85 | 87 | | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
105 | 99 | | |
106 | 100 | | |
107 | 101 | | |
| |||
139 | 133 | | |
140 | 134 | | |
141 | 135 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
148 | 143 | | |
149 | 144 | | |
150 | 145 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
6 | 9 | | |
7 | 10 | | |
8 | 11 | | |
| |||
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
28 | 25 | | |
29 | 26 | | |
30 | 27 | | |
| |||
157 | 154 | | |
158 | 155 | | |
159 | 156 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | 157 | | |
0 commit comments