@uluops/setup 0.2.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -89
  3. package/assets/auto-tracker-save.mjs +142 -0
  4. package/assets/claude-code/agents/anxiety-reader-agent.md +464 -0
  5. package/assets/{agents → claude-code/agents}/api-contract-validator-agent.md +9 -228
  6. package/assets/{agents → claude-code/agents}/aristotle-analyst-agent.md +51 -4
  7. package/assets/{agents → claude-code/agents}/aristotle-explorer-agent.md +6 -2
  8. package/assets/{agents → claude-code/agents}/aristotle-forecaster-agent.md +15 -230
  9. package/assets/{agents → claude-code/agents}/aristotle-validator-agent.md +12 -252
  10. package/assets/{agents → claude-code/agents}/assumption-excavator-agent.md +21 -247
  11. package/assets/{agents → claude-code/agents}/code-auditor-agent.md +12 -255
  12. package/assets/{agents → claude-code/agents}/code-optimizer-agent.md +15 -236
  13. package/assets/{agents → claude-code/agents}/code-validator-agent.md +31 -300
  14. package/assets/claude-code/agents/docs-validator-agent.md +472 -0
  15. package/assets/{agents → claude-code/agents}/frontend-validator-agent.md +15 -258
  16. package/assets/{agents → claude-code/agents}/mcp-validator-agent.md +8 -252
  17. package/assets/{agents → claude-code/agents}/pre-implementation-architect-agent.md +8 -224
  18. package/assets/{agents → claude-code/agents}/prompt-engineer-agent.md +57 -290
  19. package/assets/{agents → claude-code/agents}/prompt-pattern-analyzer-agent.md +10 -225
  20. package/assets/{agents → claude-code/agents}/prompt-quality-validator-agent.md +11 -249
  21. package/assets/{agents → claude-code/agents}/public-interface-validator-agent.md +15 -268
  22. package/assets/claude-code/agents/release-readiness-agent.md +495 -0
  23. package/assets/{agents → claude-code/agents}/security-analyst-agent.md +236 -480
  24. package/assets/{agents → claude-code/agents}/test-architect-agent.md +16 -259
  25. package/assets/{agents → claude-code/agents}/type-safety-validator-agent.md +23 -266
  26. package/assets/{agents → claude-code/agents}/workflow-synthesis-agent.md +23 -226
  27. package/assets/claude-code/commands/agents/anxiety-reader.md +157 -0
  28. package/assets/{commands → claude-code/commands}/agents/api-contract.md +156 -135
  29. package/assets/{commands → claude-code/commands}/agents/architect.md +156 -135
  30. package/assets/claude-code/commands/agents/aristotle-analyst.md +157 -0
  31. package/assets/claude-code/commands/agents/aristotle-explorer.md +157 -0
  32. package/assets/claude-code/commands/agents/aristotle-forecaster.md +157 -0
  33. package/assets/claude-code/commands/agents/aristotle-validator.md +157 -0
  34. package/assets/{commands → claude-code/commands}/agents/assumption-excavator.md +49 -6
  35. package/assets/{commands → claude-code/commands}/agents/audit.md +156 -136
  36. package/assets/{commands → claude-code/commands}/agents/docs-validate.md +156 -133
  37. package/assets/{commands → claude-code/commands}/agents/frontend.md +156 -135
  38. package/assets/{commands → claude-code/commands}/agents/mcp-validate.md +156 -136
  39. package/assets/{commands → claude-code/commands}/agents/optimize.md +156 -133
  40. package/assets/{commands → claude-code/commands}/agents/pattern-analyzer.md +150 -126
  41. package/assets/{commands → claude-code/commands}/agents/prompt-quality.md +155 -134
  42. package/assets/claude-code/commands/agents/prompt-validate.md +155 -0
  43. package/assets/{commands → claude-code/commands}/agents/public-interface.md +156 -134
  44. package/assets/{commands → claude-code/commands}/agents/release.md +156 -135
  45. package/assets/{commands → claude-code/commands}/agents/security.md +156 -137
  46. package/assets/{commands → claude-code/commands}/agents/test-review.md +156 -136
  47. package/assets/{commands → claude-code/commands}/agents/type-safety.md +156 -135
  48. package/assets/{commands → claude-code/commands}/agents/validate.md +156 -134
  49. package/assets/claude-code/commands/agents/workflow-synthesis.md +157 -0
  50. package/assets/claude-code/commands/pipelines/aristotle.md +143 -0
  51. package/assets/claude-code/commands/pipelines/ship.md +188 -0
  52. package/assets/claude-code/commands/workflows/post-implementation.md +60 -0
  53. package/assets/claude-code/commands/workflows/pre-implementation.md +46 -0
  54. package/assets/claude-code/commands/workflows/prompt-audit.md +44 -0
  55. package/assets/codex/agents/anxiety-reader-agent.toml +462 -0
  56. package/assets/codex/agents/api-contract-validator-agent.toml +738 -0
  57. package/assets/codex/agents/aristotle-analyst-agent.toml +750 -0
  58. package/assets/codex/agents/aristotle-explorer-agent.toml +155 -0
  59. package/assets/codex/agents/aristotle-forecaster-agent.toml +449 -0
  60. package/assets/codex/agents/aristotle-validator-agent.toml +424 -0
  61. package/assets/codex/agents/assumption-excavator-agent.toml +1126 -0
  62. package/assets/codex/agents/code-auditor-agent.toml +815 -0
  63. package/assets/codex/agents/code-optimizer-agent.toml +652 -0
  64. package/assets/codex/agents/code-validator-agent.toml +573 -0
  65. package/assets/codex/agents/docs-validator-agent.toml +468 -0
  66. package/assets/codex/agents/frontend-validator-agent.toml +598 -0
  67. package/assets/codex/agents/mcp-validator-agent.toml +580 -0
  68. package/assets/codex/agents/pre-implementation-architect-agent.toml +817 -0
  69. package/assets/codex/agents/prompt-engineer-agent.toml +922 -0
  70. package/assets/codex/agents/prompt-pattern-analyzer-agent.toml +689 -0
  71. package/assets/codex/agents/prompt-quality-validator-agent.toml +777 -0
  72. package/assets/codex/agents/public-interface-validator-agent.toml +695 -0
  73. package/assets/codex/agents/release-readiness-agent.toml +491 -0
  74. package/assets/codex/agents/security-analyst-agent.toml +847 -0
  75. package/assets/codex/agents/test-architect-agent.toml +615 -0
  76. package/assets/codex/agents/type-safety-validator-agent.toml +686 -0
  77. package/assets/codex/agents/workflow-synthesis-agent.toml +631 -0
  78. package/assets/gemini-cli/agents/anxiety-reader-agent.md +470 -0
  79. package/assets/gemini-cli/agents/api-contract-validator-agent.md +747 -0
  80. package/assets/gemini-cli/agents/aristotle-analyst-agent.md +758 -0
  81. package/assets/gemini-cli/agents/aristotle-explorer-agent.md +163 -0
  82. package/assets/gemini-cli/agents/aristotle-forecaster-agent.md +457 -0
  83. package/assets/gemini-cli/agents/aristotle-validator-agent.md +432 -0
  84. package/assets/gemini-cli/agents/assumption-excavator-agent.md +1134 -0
  85. package/assets/gemini-cli/agents/code-auditor-agent.md +827 -0
  86. package/assets/gemini-cli/agents/code-optimizer-agent.md +661 -0
  87. package/assets/gemini-cli/agents/code-validator-agent.md +582 -0
  88. package/assets/gemini-cli/agents/docs-validator-agent.md +477 -0
  89. package/assets/gemini-cli/agents/frontend-validator-agent.md +610 -0
  90. package/assets/gemini-cli/agents/mcp-validator-agent.md +589 -0
  91. package/assets/gemini-cli/agents/pre-implementation-architect-agent.md +826 -0
  92. package/assets/gemini-cli/agents/prompt-engineer-agent.md +931 -0
  93. package/assets/gemini-cli/agents/prompt-pattern-analyzer-agent.md +698 -0
  94. package/assets/gemini-cli/agents/prompt-quality-validator-agent.md +786 -0
  95. package/assets/gemini-cli/agents/public-interface-validator-agent.md +707 -0
  96. package/assets/gemini-cli/agents/release-readiness-agent.md +500 -0
  97. package/assets/gemini-cli/agents/security-analyst-agent.md +859 -0
  98. package/assets/gemini-cli/agents/test-architect-agent.md +624 -0
  99. package/assets/gemini-cli/agents/type-safety-validator-agent.md +695 -0
  100. package/assets/gemini-cli/agents/workflow-synthesis-agent.md +639 -0
  101. package/assets/gemini-cli/commands/agents/anxiety-reader.toml +155 -0
  102. package/assets/gemini-cli/commands/agents/api-contract.toml +154 -0
  103. package/assets/gemini-cli/commands/agents/architect.toml +154 -0
  104. package/assets/gemini-cli/commands/agents/aristotle-analyst.toml +155 -0
  105. package/assets/gemini-cli/commands/agents/aristotle-explorer.toml +155 -0
  106. package/assets/gemini-cli/commands/agents/aristotle-forecaster.toml +155 -0
  107. package/assets/gemini-cli/commands/agents/aristotle-validator.toml +155 -0
  108. package/assets/gemini-cli/commands/agents/assumption-excavator.toml +155 -0
  109. package/assets/gemini-cli/commands/agents/audit.toml +154 -0
  110. package/assets/gemini-cli/commands/agents/docs-validate.toml +154 -0
  111. package/assets/gemini-cli/commands/agents/frontend.toml +154 -0
  112. package/assets/gemini-cli/commands/agents/mcp-validate.toml +154 -0
  113. package/assets/gemini-cli/commands/agents/optimize.toml +154 -0
  114. package/assets/gemini-cli/commands/agents/pattern-analyzer.toml +148 -0
  115. package/assets/gemini-cli/commands/agents/prompt-quality.toml +153 -0
  116. package/assets/gemini-cli/commands/agents/prompt-validate.toml +153 -0
  117. package/assets/gemini-cli/commands/agents/public-interface.toml +154 -0
  118. package/assets/gemini-cli/commands/agents/release.toml +154 -0
  119. package/assets/gemini-cli/commands/agents/security.toml +154 -0
  120. package/assets/gemini-cli/commands/agents/test-review.toml +154 -0
  121. package/assets/gemini-cli/commands/agents/type-safety.toml +154 -0
  122. package/assets/gemini-cli/commands/agents/validate.toml +154 -0
  123. package/assets/gemini-cli/commands/agents/workflow-synthesis.toml +155 -0
  124. package/assets/gemini-cli/commands/pipelines/aristotle.toml +139 -0
  125. package/assets/gemini-cli/commands/pipelines/ship.toml +184 -0
  126. package/assets/gemini-cli/commands/workflows/post-implementation.toml +56 -0
  127. package/assets/gemini-cli/commands/workflows/pre-implementation.toml +42 -0
  128. package/assets/gemini-cli/commands/workflows/prompt-audit.toml +40 -0
  129. package/assets/opencode/agents/anxiety-reader-agent.md +472 -0
  130. package/assets/opencode/agents/api-contract-validator-agent.md +749 -0
  131. package/assets/opencode/agents/aristotle-analyst-agent.md +760 -0
  132. package/assets/opencode/agents/aristotle-explorer-agent.md +164 -0
  133. package/assets/opencode/agents/aristotle-forecaster-agent.md +459 -0
  134. package/assets/opencode/agents/aristotle-validator-agent.md +434 -0
  135. package/assets/opencode/agents/assumption-excavator-agent.md +1136 -0
  136. package/assets/opencode/agents/code-auditor-agent.md +826 -0
  137. package/assets/opencode/agents/code-optimizer-agent.md +663 -0
  138. package/assets/opencode/agents/code-validator-agent.md +584 -0
  139. package/assets/opencode/agents/docs-validator-agent.md +479 -0
  140. package/assets/opencode/agents/frontend-validator-agent.md +609 -0
  141. package/assets/opencode/agents/mcp-validator-agent.md +591 -0
  142. package/assets/opencode/agents/pre-implementation-architect-agent.md +828 -0
  143. package/assets/opencode/agents/prompt-engineer-agent.md +933 -0
  144. package/assets/opencode/agents/prompt-pattern-analyzer-agent.md +700 -0
  145. package/assets/opencode/agents/prompt-quality-validator-agent.md +788 -0
  146. package/assets/opencode/agents/public-interface-validator-agent.md +706 -0
  147. package/assets/opencode/agents/release-readiness-agent.md +502 -0
  148. package/assets/opencode/agents/security-analyst-agent.md +858 -0
  149. package/assets/opencode/agents/test-architect-agent.md +626 -0
  150. package/assets/opencode/agents/type-safety-validator-agent.md +697 -0
  151. package/assets/opencode/agents/workflow-synthesis-agent.md +641 -0
  152. package/dist/cli.js +22 -380
  153. package/dist/commands/helpers.d.ts +73 -0
  154. package/dist/commands/helpers.js +274 -0
  155. package/dist/commands/setup.d.ts +13 -0
  156. package/dist/commands/setup.js +93 -0
  157. package/dist/commands/uninstall.d.ts +3 -0
  158. package/dist/commands/uninstall.js +126 -0
  159. package/dist/commands/verify.d.ts +1 -0
  160. package/dist/commands/verify.js +28 -0
  161. package/dist/harnesses/claude-code.d.ts +8 -0
  162. package/dist/harnesses/claude-code.js +74 -0
  163. package/dist/harnesses/codex.d.ts +15 -0
  164. package/dist/harnesses/codex.js +54 -0
  165. package/dist/harnesses/gemini-cli.d.ts +12 -0
  166. package/dist/harnesses/gemini-cli.js +80 -0
  167. package/dist/harnesses/index.d.ts +27 -0
  168. package/dist/harnesses/index.js +54 -0
  169. package/dist/harnesses/opencode.d.ts +14 -0
  170. package/dist/harnesses/opencode.js +139 -0
  171. package/dist/harnesses/types.d.ts +106 -0
  172. package/dist/harnesses/types.js +26 -0
  173. package/dist/lib/agent-transform.d.ts +12 -0
  174. package/dist/lib/agent-transform.js +129 -0
  175. package/dist/lib/asset-catalog.d.ts +9 -0
  176. package/dist/lib/asset-catalog.js +56 -0
  177. package/dist/lib/atomic-write.d.ts +11 -0
  178. package/dist/lib/atomic-write.js +28 -0
  179. package/dist/lib/config-merger.d.ts +9 -2
  180. package/dist/lib/config-merger.js +44 -7
  181. package/dist/lib/display.d.ts +14 -0
  182. package/dist/lib/display.js +66 -0
  183. package/dist/lib/file-ops.d.ts +11 -0
  184. package/dist/lib/file-ops.js +40 -4
  185. package/dist/lib/hash.d.ts +1 -0
  186. package/dist/lib/hash.js +2 -1
  187. package/dist/lib/health.d.ts +2 -0
  188. package/dist/lib/health.js +10 -0
  189. package/dist/lib/manifest.d.ts +51 -5
  190. package/dist/lib/manifest.js +146 -13
  191. package/dist/lib/paths.d.ts +30 -3
  192. package/dist/lib/paths.js +98 -12
  193. package/dist/lib/settings-merger.d.ts +31 -8
  194. package/dist/lib/settings-merger.js +87 -24
  195. package/dist/lib/version.d.ts +2 -0
  196. package/dist/lib/version.js +10 -0
  197. package/dist/steps/agents.d.ts +4 -1
  198. package/dist/steps/agents.js +48 -9
  199. package/dist/steps/auth.js +26 -10
  200. package/dist/steps/cli.d.ts +53 -0
  201. package/dist/steps/cli.js +90 -0
  202. package/dist/steps/commands.d.ts +6 -1
  203. package/dist/steps/commands.js +36 -9
  204. package/dist/steps/detect.d.ts +3 -0
  205. package/dist/steps/detect.js +11 -0
  206. package/dist/steps/mcp.d.ts +6 -2
  207. package/dist/steps/mcp.js +39 -22
  208. package/dist/steps/metrics.d.ts +26 -10
  209. package/dist/steps/metrics.js +108 -108
  210. package/dist/steps/shell.d.ts +2 -0
  211. package/dist/steps/shell.js +26 -9
  212. package/dist/steps/signup.d.ts +7 -4
  213. package/dist/steps/signup.js +29 -20
  214. package/dist/steps/verify.d.ts +2 -2
  215. package/dist/steps/verify.js +118 -112
  216. package/package.json +40 -14
  217. package/assets/agents/docs-validator-agent.md +0 -490
  218. package/assets/agents/release-readiness-agent.md +0 -482
  219. package/assets/commands/agents/aristotle-analyst.md +0 -115
  220. package/assets/commands/agents/aristotle-explorer.md +0 -92
  221. package/assets/commands/agents/aristotle-forecaster.md +0 -114
  222. package/assets/commands/agents/aristotle-validator.md +0 -114
  223. package/assets/commands/agents/prompt-validate.md +0 -135
  224. package/assets/commands/agents/workflow-synthesis.md +0 -101
  225. package/assets/commands/workflows/aristotle.md +0 -543
  226. package/assets/commands/workflows/post-implementation.md +0 -577
  227. package/assets/commands/workflows/pre-implementation.md +0 -670
  228. package/assets/commands/workflows/prompt-audit.md +0 -754
  229. package/assets/commands/workflows/ship.md +0 -721
  230. package/dist/test/auth.test.d.ts +0 -1
  231. package/dist/test/auth.test.js +0 -43
  232. package/dist/test/config-io.test.d.ts +0 -1
  233. package/dist/test/config-io.test.js +0 -56
  234. package/dist/test/config-merger.test.d.ts +0 -1
  235. package/dist/test/config-merger.test.js +0 -94
  236. package/dist/test/detect.test.d.ts +0 -1
  237. package/dist/test/detect.test.js +0 -25
  238. package/dist/test/file-ops.test.d.ts +0 -1
  239. package/dist/test/file-ops.test.js +0 -100
  240. package/dist/test/hash.test.d.ts +0 -1
  241. package/dist/test/hash.test.js +0 -14
  242. package/dist/test/manifest.test.d.ts +0 -1
  243. package/dist/test/manifest.test.js +0 -78
  244. package/dist/test/paths.test.d.ts +0 -1
  245. package/dist/test/paths.test.js +0 -30
  246. package/dist/test/settings-merger.test.d.ts +0 -1
  247. package/dist/test/settings-merger.test.js +0 -167
  248. package/dist/test/shell-profile.test.d.ts +0 -1
  249. package/dist/test/shell-profile.test.js +0 -40
  250. package/dist/test/shell.test.d.ts +0 -1
  251. package/dist/test/shell.test.js +0 -71
  252. package/dist/test/signup.test.d.ts +0 -1
  253. package/dist/test/signup.test.js +0 -83
@@ -1,13 +1,10 @@
1
1
  ---
2
2
  name: frontend-validator
3
- version: "2.0.0"
3
+ version: "2.5.0"
4
4
  description: Validates React/Tailwind frontend code quality including accessibility, theme consistency, component composition, responsive design, and performance patterns. Use AFTER code-validator passes for frontend changes. Focuses on user-facing quality, not React internals.
5
-
6
5
  tools: Read, Grep, Glob, Bash
7
6
  model: sonnet
8
- adl_schema: /home/alexs/uluops/uluops-agent-workflows/udl/adl/v3/frontend-validator.agent.yaml
9
- taxonomy_version: "0.2.2"
10
- threshold: 85
7
+ threshold: 80
11
8
  auto_fail_severity: [critical, high]
12
9
  ---
13
10
 
@@ -44,6 +41,12 @@ Every issue you identify MUST include a failure classification code from the tax
44
41
  - Do NOT validate non-React frameworks (Vue, Angular, Svelte)—exit gracefully
45
42
 
46
43
 
44
+ ### Epistemic Nature
45
+ - **Verifiability:** Expert Judgment
46
+ - **Determinism:** Stochastic
47
+ - **Claim Type:** Factual
48
+
49
+
47
50
  ## Reference Examples
48
51
 
49
52
  Use these examples to calibrate your judgment.
@@ -312,40 +315,6 @@ Use these examples to classify issues with the correct failure codes:
312
315
  Domain: Structural (missing required element) Mode: OMI (Omission - alt text missing) Severity: H (High - screen reader users affected)
313
316
 
314
317
 
315
- ## Failure Taxonomy Reference
316
-
317
- Compact format: `DOMAIN-MODE/SEVERITY` where:
318
- - **Domain:** STR (Structural), SEM (Semantic), PRA (Pragmatic), EPI (Epistemic)
319
- - **Mode:** 3-letter code (e.g., OMI=Omission, EXC=Excess, INC=Inconsistency, AMB=Ambiguity)
320
- - **Severity:** C (Critical), H (High), M (Medium), L (Low), I (Info)
321
-
322
- ### Domain Reference
323
- | Code | Domain | Description |
324
- |------|--------|-------------|
325
- | STR | Structural | Form, syntax, organization issues |
326
- | SEM | Semantic | Meaning, correctness, completeness issues |
327
- | PRA | Pragmatic | Practical effectiveness, efficiency issues |
328
- | EPI | Epistemic | Knowledge, claims, confidence issues |
329
-
330
- ### Common Mode Codes
331
- | Code | Mode | Domain | Meaning |
332
- |------|------|--------|---------|
333
- | OMI | Omission | STR | Missing required element |
334
- | EXC | Excess | STR | Unnecessary/redundant element |
335
- | MAL | Malformation | STR | Incorrectly structured |
336
- | INC | Inconsistency | STR/SEM | Internal contradictions |
337
- | COM | Incompleteness | SEM | Partial implementation |
338
- | AMB | Ambiguity | SEM | Unclear meaning |
339
- | COH | Incoherence | SEM | Logical disconnect |
340
- | ALI | Misalignment | PRA | Doesn't match requirements |
341
- | MAT | Mismatch | PRA | Interface/contract violation |
342
- | EFF | Inefficiency | PRA | Performance issues |
343
- | FRA | Fragility | PRA | Brittleness, poor error handling |
344
- | OVR | Overclaiming | EPI | Claims exceed evidence |
345
- | UND | Underclaiming | EPI | Evidence exceeds claims |
346
- | GRN | Granularity | EPI | Wrong level of detail |
347
- | FAL | Fallacy | EPI | Logical reasoning error |
348
-
349
318
  ## Frontend Validator Framework
350
319
 
351
320
  ### Category Overview
@@ -357,14 +326,14 @@ Compact format: `DOMAIN-MODE/SEVERITY` where:
357
326
  | Styling & Theme Consistency | 20 | Validates theme-aware patterns, consistent spacing, and responsive design |
358
327
  | Performance Patterns | 20 | Validates memoization, re-renders, key props, and lazy loading |
359
328
  | React Best Practices | 10 | Validates useEffect dependencies, cleanup, and error boundaries |
360
- | **Total** | **100** | **Pass threshold: ≥85** |
329
+ | **Total** | **100** | **Pass threshold: ≥80** |
361
330
 
362
331
  Run through each category, using the *Verify:* criteria to score objectively.
363
332
  Each criterion has a default failure code—use it when that criterion fails.
364
333
 
365
334
  ### 1. Component Quality (25 points)
366
335
  - [ ] Components are focused and sized appropriately (5 pts) `→ PRA-FRA/M` *Verify:* Component renders one UI region (form, card, list, modal) not multiple, Component file is fewer than 200 lines including styles
367
- - [ ] Props are typed with TypeScript interfaces (5 pts) `→ STR-OMI/M` *Verify:* Every component has interface [Name]Props or type [Name]Props, No untyped props destructuring
336
+ - [ ] Props are typed with TypeScript interfaces (5 pts) `→ SEM-TYP/M` *Verify:* Every component has interface [Name]Props or type [Name]Props, No untyped props destructuring
368
337
  - [ ] Hooks follow Rules of Hooks (5 pts) `→ SEM-INC/C` *Verify:* No hooks inside conditionals, No hooks inside loops, No hooks in nested functions
369
338
  - [ ] Component composition over prop drilling (5 pts) `→ PRA-FRA/M` *Verify:* No component has more than 10 props, Props passed through 3+ component levels use context or composition
370
339
  - [ ] No business logic in presentation components (5 pts) `→ PRA-FRA/H` *Verify:* No fetch/axios calls in component files, No localStorage in component files, No data validation in component files
@@ -378,7 +347,7 @@ Each criterion has a default failure code—use it when that criterion fails.
378
347
 
379
348
  ### 3. Styling & Theme Consistency (20 points)
380
349
  - [ ] Uses theme-aware patterns (no dark: prefixes) (8 pts) `→ STR-INC/H` *Verify:* Zero instances of dark: in className, Theme switching uses useTheme() with conditional classes
381
- - [ ] Consistent spacing using Tailwind utilities (4 pts) `→ STR-INC/L` *Verify:* Uses p-, m-, gap- utilities, No arbitrary pixel values like p-[13px]
350
+ - [ ] Consistent spacing using Tailwind utilities (4 pts) `→ STR-FMT/L` *Verify:* Uses p-, m-, gap- utilities, No arbitrary pixel values like p-[13px]
382
351
  - [ ] Responsive design patterns applied (4 pts) `→ STR-OMI/M` *Verify:* Layout components use sm:, md:, lg: breakpoints
383
352
  - [ ] No inline styles or style props (4 pts) `→ STR-EXC/M` *Verify:* Zero style={{}} props, All styling via Tailwind classes or CSS modules
384
353
 
@@ -558,184 +527,14 @@ OR
558
527
 
559
528
  Reasoning: [Explain decision]
560
529
 
561
- ## JSON OUTPUT
562
-
563
- <!-- Machine-readable output for API consumption and validation-tracker integration -->
564
- <!-- Schema: udl/agent-output-schema-v1.4.json -->
565
- ```json
566
- {
567
- "schema_version": "1.3.0",
568
- "validator": {
569
- "name": "frontend-validator",
570
- "model": "sonnet",
571
- "adl_schema": "/home/alexs/uluops/uluops-agent-workflows/udl/adl/v3/frontend-validator.agent.yaml",
572
- "tokens": {
573
- "input_tokens": 0,
574
- "output_tokens": 0
575
- }
576
- },
577
- "target": "[path/to/validated/directory]",
578
- "timestamp": "[ISO 8601 timestamp]",
579
- "result": {
580
- "score": "[X]",
581
- "max_score": 100,
582
- "decision": "[POLISHED|ACCEPTABLE|NEEDS_WORK]",
583
- "threshold": 85
584
- },
585
- "categories": [
586
- {
587
- "name": "Component Quality",
588
- "score": "[X]",
589
- "max_points": 25,
590
- "findings": [
591
- {
592
- "criterion": "[criterion name from framework]",
593
- "points_earned": "[X]",
594
- "points_possible": "[X]",
595
- "issues": [
596
- {
597
- "title": "[Short issue title]",
598
- "priority": "[critical|suggested|backlog]",
599
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
600
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
601
- "file_path": "[path/to/file]",
602
- "line_number": "[N]",
603
- "description": "[Full explanation]"
604
- }
605
- ]
606
- }
607
- ]
608
- },
609
- {
610
- "name": "Accessibility",
611
- "score": "[X]",
612
- "max_points": 25,
613
- "findings": [
614
- {
615
- "criterion": "[criterion name from framework]",
616
- "points_earned": "[X]",
617
- "points_possible": "[X]",
618
- "issues": [
619
- {
620
- "title": "[Short issue title]",
621
- "priority": "[critical|suggested|backlog]",
622
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
623
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
624
- "file_path": "[path/to/file]",
625
- "line_number": "[N]",
626
- "description": "[Full explanation]"
627
- }
628
- ]
629
- }
630
- ]
631
- },
632
- {
633
- "name": "Styling & Theme Consistency",
634
- "score": "[X]",
635
- "max_points": 20,
636
- "findings": [
637
- {
638
- "criterion": "[criterion name from framework]",
639
- "points_earned": "[X]",
640
- "points_possible": "[X]",
641
- "issues": [
642
- {
643
- "title": "[Short issue title]",
644
- "priority": "[critical|suggested|backlog]",
645
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
646
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
647
- "file_path": "[path/to/file]",
648
- "line_number": "[N]",
649
- "description": "[Full explanation]"
650
- }
651
- ]
652
- }
653
- ]
654
- },
655
- {
656
- "name": "Performance Patterns",
657
- "score": "[X]",
658
- "max_points": 20,
659
- "findings": [
660
- {
661
- "criterion": "[criterion name from framework]",
662
- "points_earned": "[X]",
663
- "points_possible": "[X]",
664
- "issues": [
665
- {
666
- "title": "[Short issue title]",
667
- "priority": "[critical|suggested|backlog]",
668
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
669
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
670
- "file_path": "[path/to/file]",
671
- "line_number": "[N]",
672
- "description": "[Full explanation]"
673
- }
674
- ]
675
- }
676
- ]
677
- },
678
- {
679
- "name": "React Best Practices",
680
- "score": "[X]",
681
- "max_points": 10,
682
- "findings": [
683
- {
684
- "criterion": "[criterion name from framework]",
685
- "points_earned": "[X]",
686
- "points_possible": "[X]",
687
- "issues": [
688
- {
689
- "title": "[Short issue title]",
690
- "priority": "[critical|suggested|backlog]",
691
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
692
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
693
- "file_path": "[path/to/file]",
694
- "line_number": "[N]",
695
- "description": "[Full explanation]"
696
- }
697
- ]
698
- }
699
- ]
700
- }
701
- ],
702
- "summary": {
703
- "total_issues": "[N]",
704
- "by_priority": {
705
- "critical": "[N]",
706
- "suggested": "[N]",
707
- "backlog": "[N]"
708
- },
709
- "by_severity": {
710
- "critical": "[N]",
711
- "high": "[N]",
712
- "medium": "[N]",
713
- "low": "[N]",
714
- "info": "[N]"
715
- },
716
- "by_type": {
717
- "feature": "[N]",
718
- "bug": "[N]",
719
- "refactor": "[N]",
720
- "config": "[N]",
721
- "docs": "[N]",
722
- "infra": "[N]",
723
- "security": "[N]",
724
- "test": "[N]",
725
- "observation": "[N]",
726
- "deficiency": "[N]",
727
- "ambiguity": "[N]"
728
- }
729
- }
730
- }
731
- ```
530
+
732
531
  ```
733
532
 
734
533
  ## Decision Criteria
735
534
 
736
- **POLISHED (✅)**: Score ≥ 85 AND no critical issues
737
- **ACCEPTABLE (⚠️)**: Score 75-84 AND no critical issues
738
- **NEEDS_WORK (❌)**: Score < 75 OR any critical issue exists
535
+ **POLISHED (✅)**: Score ≥ 80 AND no critical issues
536
+ **ACCEPTABLE (⚠️)**: Score 70-79 AND no critical issues
537
+ **NEEDS_WORK (❌)**: Score < 70 OR any critical issue exists
739
538
  Critical issues include:
740
539
  - **AF-001** Keyboard-inaccessible interactive elements
741
540
  - **AF-002** Using dark: prefixes (violates project theme system)
@@ -753,44 +552,6 @@ Frontend code is POLISHED when ALL of the following are true
753
552
  - Theme system consistent (no dark: prefixes)
754
553
  - No useEffect memory leaks
755
554
 
756
- ## Priority & Severity Mapping
757
-
758
- When generating the JSON OUTPUT section, map issues as follows:
759
-
760
- **Priority (for triage):**
761
- | Severity | Priority | Meaning |
762
- |----------|----------|---------|
763
- | Critical | `critical` | Blocks progression, must fix now |
764
- | High | `critical` | Should fix before next phase |
765
- | Medium | `suggested` | Should fix soon |
766
- | Low | `backlog` | Optional improvement |
767
- | Info | `backlog` | Informational only |
768
-
769
- **Severity is derived from failure_code suffix:**
770
- | Suffix | Severity | Priority |
771
- |--------|----------|----------|
772
- | `/C` | critical | critical |
773
- | `/H` | high | critical |
774
- | `/M` | medium | suggested |
775
- | `/L` | low | backlog |
776
- | `/I` | info | backlog |
777
-
778
- ## Failure Code Selection
779
-
780
- **1. Use the default code from the criterion that failed** (e.g., `→ SEM-COM/H`)
781
-
782
- **2. Adjust severity letter based on actual impact:**
783
- - `/C` - Security vulnerabilities, data loss risk, crashes, blocks all functionality
784
- - `/H` - Broken functionality, missing critical tests, significant user impact
785
- - `/M` - Code quality issues, maintainability concerns, moderate impact
786
- - `/L` - Style issues, minor improvements, low impact
787
- - `/I` - Suggestions, informational, no functional impact
788
-
789
- **3. Consider context when adjusting:**
790
- - A naming issue in a public API → elevate to `/M` or `/H`
791
- - A complexity issue in rarely-used code → may stay at `/L`
792
- - Missing error handling in user-facing code → `/H` or `/C`
793
- - Missing error handling in internal utility → `/M`
794
555
 
795
556
  ## Edge Case Handling
796
557
 
@@ -825,10 +586,6 @@ When generating the JSON OUTPUT section, map issues as follows:
825
586
  **Runs after:** code-validator
826
587
  **Recommends:** type-safety-validator, react-validator
827
588
 
828
- ### Handoff: What This Agent Passes Downstream
829
-
830
- ### Handoff: What This Agent Expects From Predecessors
831
- **From code-validator:** Validation results from code-validator
832
589
 
833
590
  ---
834
591
 
@@ -1,12 +1,9 @@
1
1
  ---
2
2
  name: mcp-validator
3
- version: "1.4.0"
3
+ version: "1.7.0"
4
4
  description: Validates Model Context Protocol (MCP) server implementations for correctness, completeness, and best practices. Use when building or auditing MCP servers. Covers tools, resources, prompts, transport configuration, security, and protocol compliance. Provides 1-100 score with explicit pass/fail thresholds.
5
-
6
5
  tools: Read, Grep, Glob, Bash
7
6
  model: sonnet
8
- adl_schema: /home/alexs/uluops/uluops-agent-workflows/udl/adl/v3/mcp-validator.agent.yaml
9
- taxonomy_version: "0.2.2"
10
7
  threshold: 80
11
8
  auto_fail_severity: [critical, high]
12
9
  ---
@@ -32,6 +29,12 @@ Every issue you identify MUST include a failure classification code from the tax
32
29
  - Flag missing SDK patterns but accept valid custom implementations
33
30
 
34
31
 
32
+ ### Epistemic Nature
33
+ - **Verifiability:** Mechanically Checkable
34
+ - **Determinism:** Stochastic
35
+ - **Claim Type:** Factual
36
+
37
+
35
38
  ## Reference Examples
36
39
 
37
40
  Use these examples to calibrate your judgment.
@@ -325,40 +328,6 @@ Use these examples to classify issues with the correct failure codes:
325
328
  Domain: Semantic (security best practice violated) Mode: INC (Inconsistency - secrets should be in environment) Severity: H (High - credential exposure)
326
329
 
327
330
 
328
- ## Failure Taxonomy Reference
329
-
330
- Compact format: `DOMAIN-MODE/SEVERITY` where:
331
- - **Domain:** STR (Structural), SEM (Semantic), PRA (Pragmatic), EPI (Epistemic)
332
- - **Mode:** 3-letter code (e.g., OMI=Omission, EXC=Excess, INC=Inconsistency, AMB=Ambiguity)
333
- - **Severity:** C (Critical), H (High), M (Medium), L (Low), I (Info)
334
-
335
- ### Domain Reference
336
- | Code | Domain | Description |
337
- |------|--------|-------------|
338
- | STR | Structural | Form, syntax, organization issues |
339
- | SEM | Semantic | Meaning, correctness, completeness issues |
340
- | PRA | Pragmatic | Practical effectiveness, efficiency issues |
341
- | EPI | Epistemic | Knowledge, claims, confidence issues |
342
-
343
- ### Common Mode Codes
344
- | Code | Mode | Domain | Meaning |
345
- |------|------|--------|---------|
346
- | OMI | Omission | STR | Missing required element |
347
- | EXC | Excess | STR | Unnecessary/redundant element |
348
- | MAL | Malformation | STR | Incorrectly structured |
349
- | INC | Inconsistency | STR/SEM | Internal contradictions |
350
- | COM | Incompleteness | SEM | Partial implementation |
351
- | AMB | Ambiguity | SEM | Unclear meaning |
352
- | COH | Incoherence | SEM | Logical disconnect |
353
- | ALI | Misalignment | PRA | Doesn't match requirements |
354
- | MAT | Mismatch | PRA | Interface/contract violation |
355
- | EFF | Inefficiency | PRA | Performance issues |
356
- | FRA | Fragility | PRA | Brittleness, poor error handling |
357
- | OVR | Overclaiming | EPI | Claims exceed evidence |
358
- | UND | Underclaiming | EPI | Evidence exceeds claims |
359
- | GRN | Granularity | EPI | Wrong level of detail |
360
- | FAL | Fallacy | EPI | Logical reasoning error |
361
-
362
331
  ## MCP Validator Framework
363
332
 
364
333
  ### Category Overview
@@ -493,6 +462,7 @@ Before finalizing your decision, verify:
493
462
 
494
463
  - **Target:** ~3000 tokens
495
464
  - **Maximum:** 10000 tokens
465
+
496
466
  Target ~3000 tokens for typical MCP server reviews. Expand to 10000 for complex servers with many tools/resources or security issues. Include primitive inventory table for clarity.
497
467
 
498
468
 
@@ -542,177 +512,6 @@ Target ~3000 tokens for typical MCP server reviews. Expand to 10000 for complex
542
512
  OR
543
513
 
544
514
 
545
- ## JSON OUTPUT
546
-
547
- <!-- Machine-readable output for API consumption and validation-tracker integration -->
548
- <!-- Schema: udl/agent-output-schema-v1.4.json -->
549
- ```json
550
- {
551
- "schema_version": "1.3.0",
552
- "validator": {
553
- "name": "mcp-validator",
554
- "model": "sonnet",
555
- "adl_schema": "/home/alexs/uluops/uluops-agent-workflows/udl/adl/v3/mcp-validator.agent.yaml",
556
- "tokens": {
557
- "input_tokens": 0,
558
- "output_tokens": 0
559
- }
560
- },
561
- "target": "[path/to/validated/directory]",
562
- "timestamp": "[ISO 8601 timestamp]",
563
- "result": {
564
- "score": "[X]",
565
- "max_score": 100,
566
- "decision": "[COMPLIANT|CONDITIONAL|NON_COMPLIANT]",
567
- "threshold": 80
568
- },
569
- "categories": [
570
- {
571
- "name": "Tools Implementation",
572
- "score": "[X]",
573
- "max_points": 25,
574
- "findings": [
575
- {
576
- "criterion": "[criterion name from framework]",
577
- "points_earned": "[X]",
578
- "points_possible": "[X]",
579
- "issues": [
580
- {
581
- "title": "[Short issue title]",
582
- "priority": "[critical|suggested|backlog]",
583
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
584
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
585
- "file_path": "[path/to/file]",
586
- "line_number": "[N]",
587
- "description": "[Full explanation]"
588
- }
589
- ]
590
- }
591
- ]
592
- },
593
- {
594
- "name": "Resources Implementation",
595
- "score": "[X]",
596
- "max_points": 20,
597
- "findings": [
598
- {
599
- "criterion": "[criterion name from framework]",
600
- "points_earned": "[X]",
601
- "points_possible": "[X]",
602
- "issues": [
603
- {
604
- "title": "[Short issue title]",
605
- "priority": "[critical|suggested|backlog]",
606
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
607
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
608
- "file_path": "[path/to/file]",
609
- "line_number": "[N]",
610
- "description": "[Full explanation]"
611
- }
612
- ]
613
- }
614
- ]
615
- },
616
- {
617
- "name": "Prompts Implementation",
618
- "score": "[X]",
619
- "max_points": 15,
620
- "findings": [
621
- {
622
- "criterion": "[criterion name from framework]",
623
- "points_earned": "[X]",
624
- "points_possible": "[X]",
625
- "issues": [
626
- {
627
- "title": "[Short issue title]",
628
- "priority": "[critical|suggested|backlog]",
629
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
630
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
631
- "file_path": "[path/to/file]",
632
- "line_number": "[N]",
633
- "description": "[Full explanation]"
634
- }
635
- ]
636
- }
637
- ]
638
- },
639
- {
640
- "name": "Transport & Protocol",
641
- "score": "[X]",
642
- "max_points": 20,
643
- "findings": [
644
- {
645
- "criterion": "[criterion name from framework]",
646
- "points_earned": "[X]",
647
- "points_possible": "[X]",
648
- "issues": [
649
- {
650
- "title": "[Short issue title]",
651
- "priority": "[critical|suggested|backlog]",
652
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
653
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
654
- "file_path": "[path/to/file]",
655
- "line_number": "[N]",
656
- "description": "[Full explanation]"
657
- }
658
- ]
659
- }
660
- ]
661
- },
662
- {
663
- "name": "Security & Best Practices",
664
- "score": "[X]",
665
- "max_points": 20,
666
- "findings": [
667
- {
668
- "criterion": "[criterion name from framework]",
669
- "points_earned": "[X]",
670
- "points_possible": "[X]",
671
- "issues": [
672
- {
673
- "title": "[Short issue title]",
674
- "priority": "[critical|suggested|backlog]",
675
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
676
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
677
- "file_path": "[path/to/file]",
678
- "line_number": "[N]",
679
- "description": "[Full explanation]"
680
- }
681
- ]
682
- }
683
- ]
684
- }
685
- ],
686
- "summary": {
687
- "total_issues": "[N]",
688
- "by_priority": {
689
- "critical": "[N]",
690
- "suggested": "[N]",
691
- "backlog": "[N]"
692
- },
693
- "by_severity": {
694
- "critical": "[N]",
695
- "high": "[N]",
696
- "medium": "[N]",
697
- "low": "[N]",
698
- "info": "[N]"
699
- },
700
- "by_type": {
701
- "feature": "[N]",
702
- "bug": "[N]",
703
- "refactor": "[N]",
704
- "config": "[N]",
705
- "docs": "[N]",
706
- "infra": "[N]",
707
- "security": "[N]",
708
- "test": "[N]",
709
- "observation": "[N]",
710
- "deficiency": "[N]",
711
- "ambiguity": "[N]"
712
- }
713
- }
714
- }
715
- ```
716
515
  ```
717
516
 
718
517
  ## Decision Criteria
@@ -729,45 +528,6 @@ Critical issues include:
729
528
  - **AF-006** Direct eval() or exec() of user-provided input
730
529
 
731
530
 
732
- ## Priority & Severity Mapping
733
-
734
- When generating the JSON OUTPUT section, map issues as follows:
735
-
736
- **Priority (for triage):**
737
- | Severity | Priority | Meaning |
738
- |----------|----------|---------|
739
- | Critical | `critical` | Blocks progression, must fix now |
740
- | High | `critical` | Should fix before next phase |
741
- | Medium | `suggested` | Should fix soon |
742
- | Low | `backlog` | Optional improvement |
743
- | Info | `backlog` | Informational only |
744
-
745
- **Severity is derived from failure_code suffix:**
746
- | Suffix | Severity | Priority |
747
- |--------|----------|----------|
748
- | `/C` | critical | critical |
749
- | `/H` | high | critical |
750
- | `/M` | medium | suggested |
751
- | `/L` | low | backlog |
752
- | `/I` | info | backlog |
753
-
754
- ## Failure Code Selection
755
-
756
- **1. Use the default code from the criterion that failed** (e.g., `→ SEM-COM/H`)
757
-
758
- **2. Adjust severity letter based on actual impact:**
759
- - `/C` - Security vulnerabilities, data loss risk, crashes, blocks all functionality
760
- - `/H` - Broken functionality, missing critical tests, significant user impact
761
- - `/M` - Code quality issues, maintainability concerns, moderate impact
762
- - `/L` - Style issues, minor improvements, low impact
763
- - `/I` - Suggestions, informational, no functional impact
764
-
765
- **3. Consider context when adjusting:**
766
- - A naming issue in a public API → elevate to `/M` or `/H`
767
- - A complexity issue in rarely-used code → may stay at `/L`
768
- - Missing error handling in user-facing code → `/H` or `/C`
769
- - Missing error handling in internal utility → `/M`
770
-
771
531
  ## Edge Case Handling
772
532
 
773
533
  ### No mcp detected
@@ -809,10 +569,6 @@ When generating the JSON OUTPUT section, map issues as follows:
809
569
  **Runs after:** code-validator
810
570
  **Recommends:** security-analyst
811
571
 
812
- ### Handoff: What This Agent Passes Downstream
813
-
814
- ### Handoff: What This Agent Expects From Predecessors
815
- **From code-validator:** Validation results from code-validator
816
572
 
817
573
  ---
818
574