@uluops/setup 0.4.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.
- package/LICENSE +21 -0
- package/README.md +67 -50
- package/assets/auto-tracker-save.mjs +142 -0
- package/assets/{agents → claude-code/agents}/api-contract-validator-agent.md +9 -228
- package/assets/{agents → claude-code/agents}/aristotle-analyst-agent.md +51 -4
- package/assets/{agents → claude-code/agents}/aristotle-explorer-agent.md +6 -2
- package/assets/{agents → claude-code/agents}/aristotle-forecaster-agent.md +15 -230
- package/assets/{agents → claude-code/agents}/aristotle-validator-agent.md +12 -252
- package/assets/{agents → claude-code/agents}/assumption-excavator-agent.md +21 -247
- package/assets/{agents → claude-code/agents}/code-auditor-agent.md +12 -255
- package/assets/{agents → claude-code/agents}/code-optimizer-agent.md +15 -236
- package/assets/{agents → claude-code/agents}/code-validator-agent.md +31 -300
- package/assets/claude-code/agents/docs-validator-agent.md +472 -0
- package/assets/{agents → claude-code/agents}/frontend-validator-agent.md +15 -258
- package/assets/{agents → claude-code/agents}/mcp-validator-agent.md +8 -252
- package/assets/{agents → claude-code/agents}/pre-implementation-architect-agent.md +8 -224
- package/assets/{agents → claude-code/agents}/prompt-engineer-agent.md +57 -290
- package/assets/{agents → claude-code/agents}/prompt-pattern-analyzer-agent.md +10 -225
- package/assets/{agents → claude-code/agents}/prompt-quality-validator-agent.md +11 -249
- package/assets/{agents → claude-code/agents}/public-interface-validator-agent.md +15 -268
- package/assets/claude-code/agents/release-readiness-agent.md +495 -0
- package/assets/{agents → claude-code/agents}/security-analyst-agent.md +236 -480
- package/assets/{agents → claude-code/agents}/test-architect-agent.md +16 -259
- package/assets/{agents → claude-code/agents}/type-safety-validator-agent.md +23 -266
- package/assets/{agents → claude-code/agents}/workflow-synthesis-agent.md +23 -226
- package/assets/{commands → claude-code/commands}/agents/anxiety-reader.md +12 -15
- package/assets/{commands → claude-code/commands}/agents/api-contract.md +156 -136
- package/assets/{commands → claude-code/commands}/agents/architect.md +156 -136
- package/assets/claude-code/commands/agents/aristotle-analyst.md +157 -0
- package/assets/claude-code/commands/agents/aristotle-explorer.md +157 -0
- package/assets/claude-code/commands/agents/aristotle-forecaster.md +157 -0
- package/assets/claude-code/commands/agents/aristotle-validator.md +157 -0
- package/assets/{commands → claude-code/commands}/agents/assumption-excavator.md +49 -7
- package/assets/{commands → claude-code/commands}/agents/audit.md +156 -137
- package/assets/{commands → claude-code/commands}/agents/docs-validate.md +156 -134
- package/assets/{commands → claude-code/commands}/agents/frontend.md +156 -136
- package/assets/{commands → claude-code/commands}/agents/mcp-validate.md +156 -137
- package/assets/{commands → claude-code/commands}/agents/optimize.md +156 -134
- package/assets/{commands → claude-code/commands}/agents/pattern-analyzer.md +150 -127
- package/assets/{commands → claude-code/commands}/agents/prompt-quality.md +155 -135
- package/assets/claude-code/commands/agents/prompt-validate.md +155 -0
- package/assets/{commands → claude-code/commands}/agents/public-interface.md +156 -135
- package/assets/{commands → claude-code/commands}/agents/release.md +156 -136
- package/assets/{commands → claude-code/commands}/agents/security.md +156 -138
- package/assets/{commands → claude-code/commands}/agents/test-review.md +156 -137
- package/assets/{commands → claude-code/commands}/agents/type-safety.md +156 -136
- package/assets/{commands/agents/code-validate.md → claude-code/commands/agents/validate.md} +156 -135
- package/assets/claude-code/commands/agents/workflow-synthesis.md +157 -0
- package/assets/{commands → claude-code/commands}/pipelines/aristotle.md +8 -8
- package/assets/{commands → claude-code/commands}/pipelines/ship.md +8 -8
- package/assets/claude-code/commands/workflows/post-implementation.md +60 -0
- package/assets/claude-code/commands/workflows/pre-implementation.md +46 -0
- package/assets/{commands → claude-code/commands}/workflows/prompt-audit.md +2 -2
- package/assets/codex/agents/anxiety-reader-agent.toml +462 -0
- package/assets/codex/agents/api-contract-validator-agent.toml +738 -0
- package/assets/codex/agents/aristotle-analyst-agent.toml +750 -0
- package/assets/codex/agents/aristotle-explorer-agent.toml +155 -0
- package/assets/codex/agents/aristotle-forecaster-agent.toml +449 -0
- package/assets/codex/agents/aristotle-validator-agent.toml +424 -0
- package/assets/codex/agents/assumption-excavator-agent.toml +1126 -0
- package/assets/codex/agents/code-auditor-agent.toml +815 -0
- package/assets/codex/agents/code-optimizer-agent.toml +652 -0
- package/assets/codex/agents/code-validator-agent.toml +573 -0
- package/assets/codex/agents/docs-validator-agent.toml +468 -0
- package/assets/codex/agents/frontend-validator-agent.toml +598 -0
- package/assets/codex/agents/mcp-validator-agent.toml +580 -0
- package/assets/codex/agents/pre-implementation-architect-agent.toml +817 -0
- package/assets/codex/agents/prompt-engineer-agent.toml +922 -0
- package/assets/codex/agents/prompt-pattern-analyzer-agent.toml +689 -0
- package/assets/codex/agents/prompt-quality-validator-agent.toml +777 -0
- package/assets/codex/agents/public-interface-validator-agent.toml +695 -0
- package/assets/codex/agents/release-readiness-agent.toml +491 -0
- package/assets/codex/agents/security-analyst-agent.toml +847 -0
- package/assets/codex/agents/test-architect-agent.toml +615 -0
- package/assets/codex/agents/type-safety-validator-agent.toml +686 -0
- package/assets/codex/agents/workflow-synthesis-agent.toml +631 -0
- package/assets/gemini-cli/agents/anxiety-reader-agent.md +470 -0
- package/assets/gemini-cli/agents/api-contract-validator-agent.md +747 -0
- package/assets/gemini-cli/agents/aristotle-analyst-agent.md +758 -0
- package/assets/gemini-cli/agents/aristotle-explorer-agent.md +163 -0
- package/assets/gemini-cli/agents/aristotle-forecaster-agent.md +457 -0
- package/assets/gemini-cli/agents/aristotle-validator-agent.md +432 -0
- package/assets/gemini-cli/agents/assumption-excavator-agent.md +1134 -0
- package/assets/gemini-cli/agents/code-auditor-agent.md +827 -0
- package/assets/gemini-cli/agents/code-optimizer-agent.md +661 -0
- package/assets/gemini-cli/agents/code-validator-agent.md +582 -0
- package/assets/gemini-cli/agents/docs-validator-agent.md +477 -0
- package/assets/gemini-cli/agents/frontend-validator-agent.md +610 -0
- package/assets/gemini-cli/agents/mcp-validator-agent.md +589 -0
- package/assets/gemini-cli/agents/pre-implementation-architect-agent.md +826 -0
- package/assets/gemini-cli/agents/prompt-engineer-agent.md +931 -0
- package/assets/gemini-cli/agents/prompt-pattern-analyzer-agent.md +698 -0
- package/assets/gemini-cli/agents/prompt-quality-validator-agent.md +786 -0
- package/assets/gemini-cli/agents/public-interface-validator-agent.md +707 -0
- package/assets/gemini-cli/agents/release-readiness-agent.md +500 -0
- package/assets/gemini-cli/agents/security-analyst-agent.md +859 -0
- package/assets/gemini-cli/agents/test-architect-agent.md +624 -0
- package/assets/gemini-cli/agents/type-safety-validator-agent.md +695 -0
- package/assets/gemini-cli/agents/workflow-synthesis-agent.md +639 -0
- package/assets/gemini-cli/commands/agents/anxiety-reader.toml +155 -0
- package/assets/gemini-cli/commands/agents/api-contract.toml +154 -0
- package/assets/gemini-cli/commands/agents/architect.toml +154 -0
- package/assets/gemini-cli/commands/agents/aristotle-analyst.toml +155 -0
- package/assets/gemini-cli/commands/agents/aristotle-explorer.toml +155 -0
- package/assets/gemini-cli/commands/agents/aristotle-forecaster.toml +155 -0
- package/assets/gemini-cli/commands/agents/aristotle-validator.toml +155 -0
- package/assets/gemini-cli/commands/agents/assumption-excavator.toml +155 -0
- package/assets/gemini-cli/commands/agents/audit.toml +154 -0
- package/assets/gemini-cli/commands/agents/docs-validate.toml +154 -0
- package/assets/gemini-cli/commands/agents/frontend.toml +154 -0
- package/assets/gemini-cli/commands/agents/mcp-validate.toml +154 -0
- package/assets/gemini-cli/commands/agents/optimize.toml +154 -0
- package/assets/gemini-cli/commands/agents/pattern-analyzer.toml +148 -0
- package/assets/gemini-cli/commands/agents/prompt-quality.toml +153 -0
- package/assets/gemini-cli/commands/agents/prompt-validate.toml +153 -0
- package/assets/gemini-cli/commands/agents/public-interface.toml +154 -0
- package/assets/gemini-cli/commands/agents/release.toml +154 -0
- package/assets/gemini-cli/commands/agents/security.toml +154 -0
- package/assets/gemini-cli/commands/agents/test-review.toml +154 -0
- package/assets/gemini-cli/commands/agents/type-safety.toml +154 -0
- package/assets/gemini-cli/commands/agents/validate.toml +154 -0
- package/assets/gemini-cli/commands/agents/workflow-synthesis.toml +155 -0
- package/assets/gemini-cli/commands/pipelines/aristotle.toml +139 -0
- package/assets/gemini-cli/commands/pipelines/ship.toml +184 -0
- package/assets/gemini-cli/commands/workflows/post-implementation.toml +56 -0
- package/assets/gemini-cli/commands/workflows/pre-implementation.toml +42 -0
- package/assets/gemini-cli/commands/workflows/prompt-audit.toml +40 -0
- package/assets/opencode/agents/anxiety-reader-agent.md +472 -0
- package/assets/opencode/agents/api-contract-validator-agent.md +749 -0
- package/assets/opencode/agents/aristotle-analyst-agent.md +760 -0
- package/assets/opencode/agents/aristotle-explorer-agent.md +164 -0
- package/assets/opencode/agents/aristotle-forecaster-agent.md +459 -0
- package/assets/opencode/agents/aristotle-validator-agent.md +434 -0
- package/assets/opencode/agents/assumption-excavator-agent.md +1136 -0
- package/assets/opencode/agents/code-auditor-agent.md +826 -0
- package/assets/opencode/agents/code-optimizer-agent.md +663 -0
- package/assets/opencode/agents/code-validator-agent.md +584 -0
- package/assets/opencode/agents/docs-validator-agent.md +479 -0
- package/assets/opencode/agents/frontend-validator-agent.md +609 -0
- package/assets/opencode/agents/mcp-validator-agent.md +591 -0
- package/assets/opencode/agents/pre-implementation-architect-agent.md +828 -0
- package/assets/opencode/agents/prompt-engineer-agent.md +933 -0
- package/assets/opencode/agents/prompt-pattern-analyzer-agent.md +700 -0
- package/assets/opencode/agents/prompt-quality-validator-agent.md +788 -0
- package/assets/opencode/agents/public-interface-validator-agent.md +706 -0
- package/assets/opencode/agents/release-readiness-agent.md +502 -0
- package/assets/opencode/agents/security-analyst-agent.md +858 -0
- package/assets/opencode/agents/test-architect-agent.md +626 -0
- package/assets/opencode/agents/type-safety-validator-agent.md +697 -0
- package/assets/opencode/agents/workflow-synthesis-agent.md +641 -0
- package/dist/cli.js +12 -414
- package/dist/commands/helpers.d.ts +73 -0
- package/dist/commands/helpers.js +274 -0
- package/dist/commands/setup.d.ts +13 -0
- package/dist/commands/setup.js +93 -0
- package/dist/commands/uninstall.d.ts +3 -0
- package/dist/commands/uninstall.js +126 -0
- package/dist/commands/verify.d.ts +1 -0
- package/dist/commands/verify.js +28 -0
- package/dist/harnesses/claude-code.d.ts +1 -1
- package/dist/harnesses/claude-code.js +3 -1
- package/dist/harnesses/codex.js +6 -5
- package/dist/harnesses/gemini-cli.d.ts +4 -8
- package/dist/harnesses/gemini-cli.js +47 -21
- package/dist/harnesses/index.d.ts +10 -1
- package/dist/harnesses/index.js +11 -2
- package/dist/harnesses/opencode.d.ts +1 -1
- package/dist/harnesses/opencode.js +15 -6
- package/dist/harnesses/types.d.ts +19 -0
- package/dist/harnesses/types.js +2 -0
- package/dist/lib/asset-catalog.js +2 -2
- package/dist/lib/config-merger.d.ts +2 -1
- package/dist/lib/config-merger.js +12 -4
- package/dist/lib/file-ops.d.ts +5 -0
- package/dist/lib/file-ops.js +18 -3
- package/dist/lib/hash.d.ts +1 -1
- package/dist/lib/hash.js +2 -2
- package/dist/lib/manifest.d.ts +30 -1
- package/dist/lib/manifest.js +5 -7
- package/dist/lib/paths.d.ts +16 -1
- package/dist/lib/paths.js +31 -3
- package/dist/lib/settings-merger.d.ts +24 -9
- package/dist/lib/settings-merger.js +57 -22
- package/dist/lib/version.d.ts +2 -0
- package/dist/lib/version.js +10 -0
- package/dist/steps/agents.d.ts +1 -2
- package/dist/steps/agents.js +7 -18
- package/dist/steps/cli.d.ts +53 -0
- package/dist/steps/cli.js +90 -0
- package/dist/steps/commands.d.ts +1 -1
- package/dist/steps/commands.js +20 -71
- package/dist/steps/detect.js +4 -0
- package/dist/steps/mcp.js +7 -15
- package/dist/steps/metrics.d.ts +12 -0
- package/dist/steps/metrics.js +52 -22
- package/dist/steps/shell.js +11 -1
- package/dist/steps/signup.d.ts +2 -2
- package/dist/steps/signup.js +9 -12
- package/dist/steps/verify.js +47 -8
- package/package.json +12 -11
- package/assets/agents/docs-validator-agent.md +0 -490
- package/assets/agents/release-readiness-agent.md +0 -482
- package/assets/commands/agents/aristotle-analyst.md +0 -116
- package/assets/commands/agents/aristotle-explorer.md +0 -93
- package/assets/commands/agents/aristotle-forecaster.md +0 -115
- package/assets/commands/agents/aristotle-validator.md +0 -115
- package/assets/commands/agents/prompt-validate.md +0 -136
- package/assets/commands/agents/workflow-synthesis.md +0 -102
- package/assets/commands/workflows/post-implementation.md +0 -577
- package/assets/commands/workflows/pre-implementation.md +0 -670
- /package/assets/{agents → claude-code/agents}/anxiety-reader-agent.md +0 -0
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-validator
|
|
3
|
-
version: "2.
|
|
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
|
-
|
|
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: ≥
|
|
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) `→
|
|
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-
|
|
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
|
-
|
|
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 ≥
|
|
737
|
-
**ACCEPTABLE (⚠️)**: Score
|
|
738
|
-
**NEEDS_WORK (❌)**: Score <
|
|
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.
|
|
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
|
|