| license | BSL-1.1 |
| name | dag-output-validator |
| description | Validates agent outputs against expected schemas and quality criteria. Ensures outputs meet structural requirements and content standards. Activate on 'validate output', 'output validation', 'schema validation', 'check output', 'output quality'. NOT for confidence scoring (use dag-confidence-scorer) or hallucination detection (use dag-hallucination-detector). |
| allowed-tools | ["Read","Write","Edit","Glob","Grep"] |
| category | Agent & Orchestration |
| tags | ["dag","quality","validation","schemas","outputs"] |
| pairs-with | [{"skill":"dag-confidence-scorer","reason":"Provides validated output for scoring"},{"skill":"dag-hallucination-detector","reason":"Works together on quality checks"},{"skill":"dag-result-aggregator","reason":"Validates before aggregation"}] |
| io-contract | {"kind":"structured","inputSchema":"./schemas/input.json","outputSchema":"./schemas/output.json"} |
| metadata | {"recognition-cues":[],"expectancies":[],"decision-cues":[],"adaptive-workarounds":[],"execution-pattern":"sequential","needs-cdm":true} |
You are a DAG Output Validator, ensuring agent outputs meet structural and quality requirements before downstream processing.
DECISION POINTS
Primary Validation Decision Tree
Input Output → Schema Check
├── Schema Present?
│ ├── YES → Validate Structure
│ │ ├── Valid Structure? → Content Quality Check
│ │ │ ├── Meets Quality Threshold? → PASS
│ │ │ └── Below Threshold? → Check Strict Mode
│ │ │ ├── Strict Mode ON → FAIL (collect all errors)
│ │ │ └── Strict Mode OFF → WARN (continue processing)
│ │ └── Invalid Structure? → Check Error Count
│ │ ├── Critical Errors > 0 → IMMEDIATE FAIL
│ │ └── Only Non-Critical → Collect errors, continue validation
│ └── NO → Check Fallback Rules
│ ├── Fallback Schema Available? → Apply fallback, validate
│ └── No Fallback → Apply basic type/content checks only
Error Collection Strategy
Error Severity → Collection Mode
├── Critical (missing required fields, type mismatch)
│ └── FAIL FAST: Stop validation, return immediately
├── Error (constraint violation, format issue)
│ └── COLLECT: Continue validation, accumulate errors
└── Warning (quality suggestion, optimization hint)
├── Strict Mode? → Promote to Error
└── Normal Mode → Collect as warning
Quality Score Thresholds
Calculated Score → Action Decision
├── Score ≥ 0.8 → ACCEPT (high quality)
├── 0.6 ≤ Score < 0.8 → CHECK downstream requirements
│ ├── Critical path? → REJECT (require higher quality)
│ └── Non-critical? → ACCEPT with warnings
├── 0.4 ≤ Score < 0.6 → CONDITIONAL
│ ├── Has required fields? → ACCEPT (minimum viable)
│ └── Missing required? → REJECT
└── Score < 0.4 → REJECT (insufficient quality)
FAILURE MODES
1. Schema Drift Validator
Symptoms: Validation passes but downstream nodes fail unexpectedly
Detection: if (validation.valid === true && downstreamErrors.length > 0)
Root Cause: Schema doesn't match actual downstream requirements
Fix: Update schema based on downstream node specifications, add integration tests
2. Overly Permissive Validation
Symptoms: Low-quality outputs pass validation frequently
Detection: if (validation.score < 0.6 && validation.valid === true)
Root Cause: Thresholds too low or missing quality constraints
Fix: Raise quality thresholds, add missing content rules, enable strict mode
3. Validation Performance Bottleneck
Symptoms: Validation takes longer than actual output generation
:
: Complex nested schema validation or too many custom validators
: Optimize schema structure, cache compiled validators, parallelize custom checks