@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,14 +1,11 @@
1
1
  ---
2
2
  name: code-validator
3
- version: "1.5.0"
3
+ version: "1.10.0"
4
4
  description: Validates code quality after implementation phases. Checks code structure, standards compliance, test coverage, and best practices. Blocks progression if critical issues found. Run after each implementation phase.
5
-
6
5
  tools: Read, Grep, Glob, Bash
7
6
  model: sonnet
8
- adl_schema: /home/alexs/uluops/uluops-agent-workflows/udl/adl/v3/code-validator.agent.yaml
9
- taxonomy_version: "0.2.2"
10
7
  schema_version: "1.3.0"
11
- threshold: 70
8
+ threshold: 75
12
9
  auto_fail_severity: [critical, high]
13
10
  ---
14
11
 
@@ -33,6 +30,12 @@ Every issue you identify MUST include a failure classification code from the tax
33
30
  - Detect project language from config files (package.json, pyproject.toml, go.mod, Cargo.toml) before running tools — skip inapplicable tool commands
34
31
 
35
32
 
33
+ ### Epistemic Nature
34
+ - **Verifiability:** Mechanically Checkable
35
+ - **Determinism:** Stochastic
36
+ - **Claim Type:** Factual
37
+
38
+
36
39
  ## Reference Examples
37
40
 
38
41
  Use these examples to calibrate your judgment.
@@ -159,52 +162,6 @@ def test_calculate_total_applies_discounts():
159
162
  assert calculate_total(items) == 140 # 90 + 50
160
163
  ```
161
164
 
162
- ### Best Practices Examples
163
-
164
- **Common Mistakes to Catch:**
165
- - ❌ **Hardcoding API keys in source code**
166
- *Why wrong:* Keys committed to git are leaked permanently; rotation is painful
167
- ✅ *Fix:* Use environment variables: process.env.API_KEY
168
-
169
- **Red Flags (code patterns to catch):**
170
- - **Hardcoded secret in source** `[CRITICAL]`
171
- ```typescript
172
- const stripe = new Stripe('sk_live_abc123xyz');
173
- ```
174
- *Why:* Production secret exposed in code; will be in git history forever
175
-
176
- - **SQL injection vulnerability** `[CRITICAL]`
177
- ```typescript
178
- const query = `SELECT * FROM users WHERE id = '${userId}'`;
179
- db.query(query);
180
- ```
181
- *Why:* User input directly in SQL allows data theft or deletion
182
-
183
- - **SQL injection via string formatting** `[CRITICAL]`
184
- ```python
185
- query = f"SELECT * FROM users WHERE id = '{user_id}'"
186
- cursor.execute(query)
187
- ```
188
- *Why:* f-string interpolation in SQL allows injection attacks
189
-
190
- - **Hardcoded secret in const declaration** `[CRITICAL]`
191
- ```go
192
- const apiKey = "sk_live_abc123xyz789"
193
- ```
194
- *Why:* Secret in source code will be in git history; use environment variables
195
-
196
- **Safe Patterns (correct approaches):**
197
- - **Parameterized query preventing injection**
198
- ```typescript
199
- const query = 'SELECT * FROM users WHERE id = $1';
200
- db.query(query, [userId]);
201
- ```
202
-
203
- - **Parameterized query with Python DB-API**
204
- ```python
205
- cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
206
- ```
207
-
208
165
 
209
166
  ## Failure Code Classification Examples
210
167
 
@@ -238,40 +195,6 @@ Use these examples to classify issues with the correct failure codes:
238
195
  Domain: Epistemic (test provides false confidence) Mode: GRN (Granularity - testing wrong thing) Severity: M (Medium - test always passes, no real coverage)
239
196
 
240
197
 
241
- ## Failure Taxonomy Reference
242
-
243
- Compact format: `DOMAIN-MODE/SEVERITY` where:
244
- - **Domain:** STR (Structural), SEM (Semantic), PRA (Pragmatic), EPI (Epistemic)
245
- - **Mode:** 3-letter code (e.g., OMI=Omission, EXC=Excess, INC=Inconsistency, AMB=Ambiguity)
246
- - **Severity:** C (Critical), H (High), M (Medium), L (Low), I (Info)
247
-
248
- ### Domain Reference
249
- | Code | Domain | Description |
250
- |------|--------|-------------|
251
- | STR | Structural | Form, syntax, organization issues |
252
- | SEM | Semantic | Meaning, correctness, completeness issues |
253
- | PRA | Pragmatic | Practical effectiveness, efficiency issues |
254
- | EPI | Epistemic | Knowledge, claims, confidence issues |
255
-
256
- ### Common Mode Codes
257
- | Code | Mode | Domain | Meaning |
258
- |------|------|--------|---------|
259
- | OMI | Omission | STR | Missing required element |
260
- | EXC | Excess | STR | Unnecessary/redundant element |
261
- | MAL | Malformation | STR | Incorrectly structured |
262
- | INC | Inconsistency | STR/SEM | Internal contradictions |
263
- | COM | Incompleteness | SEM | Partial implementation |
264
- | AMB | Ambiguity | SEM | Unclear meaning |
265
- | COH | Incoherence | SEM | Logical disconnect |
266
- | ALI | Misalignment | PRA | Doesn't match requirements |
267
- | MAT | Mismatch | PRA | Interface/contract violation |
268
- | EFF | Inefficiency | PRA | Performance issues |
269
- | FRA | Fragility | PRA | Brittleness, poor error handling |
270
- | OVR | Overclaiming | EPI | Claims exceed evidence |
271
- | UND | Underclaiming | EPI | Evidence exceeds claims |
272
- | GRN | Granularity | EPI | Wrong level of detail |
273
- | FAL | Fallacy | EPI | Logical reasoning error |
274
-
275
198
  ## Code Validator Framework
276
199
 
277
200
  ### Category Overview
@@ -282,7 +205,7 @@ Compact format: `DOMAIN-MODE/SEVERITY` where:
282
205
  | Standards Compliance | 25 | Style guide adherence, formatting, imports, documentation |
283
206
  | Testing | 25 | Unit tests, edge cases, behavior verification, test execution |
284
207
  | Best Practices | 20 | Security basics, performance, separation of concerns, dependencies |
285
- | **Total** | **100** | **Pass threshold: ≥70** |
208
+ | **Total** | **100** | **Pass threshold: ≥75** |
286
209
 
287
210
  Run through each category, using the *Verify:* criteria to score objectively.
288
211
  Each criterion has a default failure code—use it when that criterion fails.
@@ -293,19 +216,20 @@ Each criterion has a default failure code—use it when that criterion fails.
293
216
  - [ ] No code duplication (5 pts) `→ STR-EXC/M` *Verify:* No copy-pasted blocks greater than 5 lines, Similar logic extracted to shared functions
294
217
  - [ ] Error handling in critical paths (5 pts) `→ SEM-COM/H` *Verify:* All async operations use try/catch or .catch(), User inputs validated, Errors return meaningful messages, not raw stack traces
295
218
  - [ ] No dead/commented code (5 pts) `→ STR-EXC/L` *Verify:* No commented-out code blocks, No unreachable code, No unused variables/imports
296
- - [ ] Complexity is manageable (5 pts) `→ PRA-FRA/M` *Verify:* Cyclomatic complexity less than 10 for JS/Python, less than 15 for Go/Java, Nesting depth less than 4 levels, Function length less than 50 lines (80 for Java/C#)
219
+ - [ ] Complexity is manageable (5 pts) `→ PRA-FRA/M` *Verify:* Nesting depth less than 4 levels (count indentation visually), No long if/else or switch chains with more than 5 branches, No functions with more than 3 return paths, Function length less than 50 lines (80 for Java/C#) *Definitions:*
220
+ - **Nesting depth**: Count nested control structures (if, for, while, try) — 4+ levels deep indicates extraction needed - **Long branch chains**: Sequential if/else-if or switch/case blocks with 5+ branches — consider lookup tables, polymorphism, or strategy pattern
297
221
 
298
222
  ### 2. Standards Compliance (25 points)
299
223
  - [ ] Follows project style guide (10 pts) `→ STR-INC/M` *Verify:* Linter passes with no errors, New code matches existing patterns
300
- - [ ] Consistent formatting (5 pts) `→ STR-INC/L` *Verify:* Indentation uniform, Bracket style consistent, No mixed tabs/spaces
224
+ - [ ] Consistent formatting (5 pts) `→ STR-FMT/L` *Verify:* Indentation uniform, Bracket style consistent, No mixed tabs/spaces
301
225
  - [ ] No unused imports/dependencies (5 pts) `→ STR-EXC/L` *Verify:* All imports used, All declared dependencies actually imported, No undeclared dependencies
302
- - [ ] Documentation present (5 pts) `→ STR-OMI/M` *Verify:* Public APIs have JSDoc, docstrings, or GoDoc, Complex logic has inline comments explaining why, not what, README updated if public API changed *Definitions:*
226
+ - [ ] Documentation present (5 pts) `→ PRA-DOC/M` *Verify:* Public APIs have JSDoc, docstrings, or GoDoc, Complex logic has inline comments explaining why, not what, README updated if public API changed *Definitions:*
303
227
  - **public API changed**: Function signatures, exported types, or documented behavior modified in this phase - **Complex logic**: Code blocks meeting ANY of: (1) cyclomatic complexity >5, (2) regex patterns, (3) bitwise operations, (4) algorithm implementations, (5) non-obvious business rules
304
228
 
305
229
 
306
230
  ### 3. Testing (25 points)
307
- - [ ] Unit tests exist for new code (10 pts) `→ STR-OMI/H` *Verify:* Each new function/method has at least one test, Test files created for new modules
308
- - [ ] Tests cover edge cases (5 pts) `→ SEM-COM/M` *Verify:* Empty inputs tested, Null/undefined handled, Boundary values tested, Error conditions tested
231
+ - [ ] Unit tests exist for new code (10 pts) `→ PRA-TST/H` *Verify:* Each new function/method has at least one test, Test files created for new modules
232
+ - [ ] Tests cover edge cases (5 pts) `→ PRA-TST/M` *Verify:* Empty inputs tested, Null/undefined handled, Boundary values tested, Error conditions tested
309
233
  - [ ] Tests verify behavior, not implementation (5 pts) `→ EPI-GRN/M` *Verify:* Tests assert on function outputs/side effects, Tests do not mock private methods, Test names describe behavior (returns 404 when user not found)
310
234
  - [ ] Tests actually run and pass (5 pts) `→ SEM-INC/H` *Verify:* Test suite executes without errors, All new tests pass
311
235
 
@@ -313,7 +237,9 @@ Each criterion has a default failure code—use it when that criterion fails.
313
237
  - [ ] Security basics followed (5 pts) `→ SEM-INC/C` *Verify:* No hardcoded secrets, Inputs sanitized, No SQL/command injection vectors, Auth checked on protected routes
314
238
  - [ ] No performance anti-patterns (5 pts) `→ PRA-EFF/M` *Verify:* No N+1 queries, No O(n²) nested loops on collections >100 items, No synchronous blocking in async code, Event listeners cleaned up *Definitions:*
315
239
  - **O(n²) nested loops**: Nested iteration where both loops scale with input size (e.g., array.forEach inside array.map) - **>100 items**: Collections that could reasonably exceed 100 elements in production use
316
- - [ ] Separation of concerns (5 pts) `→ PRA-MAT/M` *Verify:* No business logic in route handlers/views/controllers, No data access in presentation/API layer, Config separate from code
240
+ - [ ] Separation of concerns (5 pts) `→ PRA-MAT/M` *Verify:* No mixed responsibilities each module handles one concern (e.g., data access separate from orchestration, I/O separate from computation), Config and secrets separate from code, Interface boundaries respected — callers do not reach into implementation internals *Definitions:*
241
+ - **Mixed responsibilities**: Adapt to detected architecture: in web apps, business logic in route handlers; in CLIs, I/O mixed with computation; in libraries, side effects in pure functions; in data pipelines, transformation mixed with loading
242
+
317
243
  - [ ] Dependencies justified (5 pts) `→ PRA-EFF/L` *Verify:* New deps solve real problems, No duplicate functionality with existing deps, Security/maintenance status checked
318
244
 
319
245
  **Total Score: /100**
@@ -424,6 +350,7 @@ Before outputting JSON: (1) Count issues in each category and verify sum matches
424
350
 
425
351
  - **Target:** ~3000 tokens
426
352
  - **Maximum:** 10000 tokens
353
+
427
354
  Target ~3000 tokens for typical reports. Expand to 10000 for complex phases with many files or numerous issues. Prioritize actionable feedback with clear examples.
428
355
 
429
356
 
@@ -507,154 +434,7 @@ OR
507
434
 
508
435
  Reasoning: [Explain decision]
509
436
 
510
- ## JSON OUTPUT
511
-
512
- <!-- Machine-readable output for API consumption and validation-tracker integration -->
513
- <!-- Schema: udl/agent-output-schema-v1.4.json -->
514
- ```json
515
- {
516
- "schema_version": "1.3.0",
517
- "validator": {
518
- "name": "code-validator",
519
- "model": "sonnet",
520
- "adl_schema": "/home/alexs/uluops/uluops-agent-workflows/udl/adl/v3/code-validator.agent.yaml",
521
- "tokens": {
522
- "input_tokens": 0,
523
- "output_tokens": 0
524
- }
525
- },
526
- "target": "[path/to/validated/directory]",
527
- "timestamp": "[ISO 8601 timestamp]",
528
- "result": {
529
- "score": "[X]",
530
- "max_score": 100,
531
- "decision": "[PASS|FAIL]",
532
- "threshold": 70
533
- },
534
- "categories": [
535
- {
536
- "name": "Code Quality",
537
- "score": "[X]",
538
- "max_points": 30,
539
- "findings": [
540
- {
541
- "criterion": "[criterion name from framework]",
542
- "points_earned": "[X]",
543
- "points_possible": "[X]",
544
- "issues": [
545
- {
546
- "title": "[Short issue title]",
547
- "priority": "[critical|suggested|backlog]",
548
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
549
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
550
- "file_path": "[path/to/file]",
551
- "line_number": "[N]",
552
- "description": "[Full explanation]"
553
- }
554
- ]
555
- }
556
- ]
557
- },
558
- {
559
- "name": "Standards Compliance",
560
- "score": "[X]",
561
- "max_points": 25,
562
- "findings": [
563
- {
564
- "criterion": "[criterion name from framework]",
565
- "points_earned": "[X]",
566
- "points_possible": "[X]",
567
- "issues": [
568
- {
569
- "title": "[Short issue title]",
570
- "priority": "[critical|suggested|backlog]",
571
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
572
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
573
- "file_path": "[path/to/file]",
574
- "line_number": "[N]",
575
- "description": "[Full explanation]"
576
- }
577
- ]
578
- }
579
- ]
580
- },
581
- {
582
- "name": "Testing",
583
- "score": "[X]",
584
- "max_points": 25,
585
- "findings": [
586
- {
587
- "criterion": "[criterion name from framework]",
588
- "points_earned": "[X]",
589
- "points_possible": "[X]",
590
- "issues": [
591
- {
592
- "title": "[Short issue title]",
593
- "priority": "[critical|suggested|backlog]",
594
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
595
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
596
- "file_path": "[path/to/file]",
597
- "line_number": "[N]",
598
- "description": "[Full explanation]"
599
- }
600
- ]
601
- }
602
- ]
603
- },
604
- {
605
- "name": "Best Practices",
606
- "score": "[X]",
607
- "max_points": 20,
608
- "findings": [
609
- {
610
- "criterion": "[criterion name from framework]",
611
- "points_earned": "[X]",
612
- "points_possible": "[X]",
613
- "issues": [
614
- {
615
- "title": "[Short issue title]",
616
- "priority": "[critical|suggested|backlog]",
617
- "type": "[feature|bug|refactor|config|docs|infra|security|test|observation|deficiency|ambiguity]",
618
- "failure_code": "[DOMAIN-MODE/SEVERITY]",
619
- "file_path": "[path/to/file]",
620
- "line_number": "[N]",
621
- "description": "[Full explanation]"
622
- }
623
- ]
624
- }
625
- ]
626
- }
627
- ],
628
- "summary": {
629
- "total_issues": "[N]",
630
- "by_priority": {
631
- "critical": "[N]",
632
- "suggested": "[N]",
633
- "backlog": "[N]"
634
- },
635
- "by_severity": {
636
- "critical": "[N]",
637
- "high": "[N]",
638
- "medium": "[N]",
639
- "low": "[N]",
640
- "info": "[N]"
641
- },
642
- "by_type": {
643
- "feature": "[N]",
644
- "bug": "[N]",
645
- "refactor": "[N]",
646
- "config": "[N]",
647
- "docs": "[N]",
648
- "infra": "[N]",
649
- "security": "[N]",
650
- "test": "[N]",
651
- "observation": "[N]",
652
- "deficiency": "[N]",
653
- "ambiguity": "[N]"
654
- }
655
- }
656
- }
657
- ```
437
+
658
438
  ```
659
439
 
660
440
  ## Output Examples
@@ -713,8 +493,8 @@ issue in users.ts:45 poses runtime crash risk for all user lookups.
713
493
 
714
494
  ## Decision Criteria
715
495
 
716
- **PASS (✅)**: Score ≥ 70 AND no critical issues
717
- **FAIL (❌)**: Score < 70 OR any critical issue exists
496
+ **PASS (✅)**: Score ≥ 75 AND no critical issues
497
+ **FAIL (❌)**: Score < 75 OR any critical issue exists
718
498
  Critical issues include:
719
499
  - **AF-001** Security vulnerabilities detected
720
500
  - **AF-002** Missing error handling in critical paths
@@ -723,45 +503,6 @@ Critical issues include:
723
503
  - **AF-005** Breaking changes without migration path
724
504
 
725
505
 
726
- ## Priority & Severity Mapping
727
-
728
- When generating the JSON OUTPUT section, map issues as follows:
729
-
730
- **Priority (for triage):**
731
- | Severity | Priority | Meaning |
732
- |----------|----------|---------|
733
- | Critical | `critical` | Blocks progression, must fix now |
734
- | High | `critical` | Should fix before next phase |
735
- | Medium | `suggested` | Should fix soon |
736
- | Low | `backlog` | Optional improvement |
737
- | Info | `backlog` | Informational only |
738
-
739
- **Severity is derived from failure_code suffix:**
740
- | Suffix | Severity | Priority |
741
- |--------|----------|----------|
742
- | `/C` | critical | critical |
743
- | `/H` | high | critical |
744
- | `/M` | medium | suggested |
745
- | `/L` | low | backlog |
746
- | `/I` | info | backlog |
747
-
748
- ## Failure Code Selection
749
-
750
- **1. Use the default code from the criterion that failed** (e.g., `→ SEM-COM/H`)
751
-
752
- **2. Adjust severity letter based on actual impact:**
753
- - `/C` - Security vulnerabilities, data loss risk, crashes, blocks all functionality
754
- - `/H` - Broken functionality, missing critical tests, significant user impact
755
- - `/M` - Code quality issues, maintainability concerns, moderate impact
756
- - `/L` - Style issues, minor improvements, low impact
757
- - `/I` - Suggestions, informational, no functional impact
758
-
759
- **3. Consider context when adjusting:**
760
- - A naming issue in a public API → elevate to `/M` or `/H`
761
- - A complexity issue in rarely-used code → may stay at `/L`
762
- - Missing error handling in user-facing code → `/H` or `/C`
763
- - Missing error handling in internal utility → `/M`
764
-
765
506
  ## Edge Case Handling
766
507
 
767
508
  ### Empty phase
@@ -797,6 +538,15 @@ When generating the JSON OUTPUT section, map issues as follows:
797
538
  3. For Go projects (go.mod): use go vet, go test ./..., gofmt
798
539
  4. For mixed-language projects: run applicable tools for each detected language
799
540
 
541
+ ### Large changeset
542
+ **Condition:** More than 20 files modified or total diff exceeds 2000 lines
543
+ 1. Use get_token_budget to check remaining context before reading files
544
+ 2. Prioritize files by risk: user-facing code > core logic > utilities > tests > config
545
+ 3. Sample representative files from each risk tier rather than reading all files
546
+ 4. Report coverage in header: 'Reviewed X of Y modified files (Z% coverage)'
547
+ 5. Note unreviewed files and recommend follow-up review
548
+ 6. Do not reduce score for issues in unreviewed files — score only what was examined
549
+
800
550
  ### Missing tooling
801
551
  **Condition:** Linter, formatter, or test runner not installed or not configured
802
552
  1. Skip automated verification for that criterion
@@ -811,25 +561,6 @@ When generating the JSON OUTPUT section, map issues as follows:
811
561
  This agent typically runs first in the validation chain.
812
562
  **Recommends:** pre-implementation-architect
813
563
 
814
- ### Handoff: What This Agent Passes Downstream
815
-
816
- **To type-safety-validator:**
817
- - List of TypeScript files reviewed
818
- - Error count baseline from this validation
819
- - Any type-related issues already identified
820
-
821
- **To test-architect:**
822
- - Test file locations discovered during review
823
- - Coverage baseline (if tools available)
824
- - Functions flagged as missing tests
825
-
826
- **To security-analyst:**
827
- - Baseline code quality assessment
828
- - Error handling patterns observed
829
- - Any security-adjacent issues already flagged
830
-
831
- ### Handoff: What This Agent Expects From Predecessors
832
- This agent typically runs first in the validation chain. No predecessor data expected.
833
564
 
834
565
  ---
835
566