SuperAPI AI Directory

dag-output-validator

Agents & models

View repository

Updated 10-16 05:04

About this skill

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
Detection: if (validationTime > outputGenerationTime * 0.5)
Root Cause: Complex nested schema validation or too many custom validators
Fix: Optimize schema structure, cache compiled validators, parallelize custom checks

4. False Positive Rejections

Symptoms: Valid outputs rejected due to edge cases in schema
Detection: if (humanReview.valid === true && validation.valid === false)
Root Cause: Schema too rigid or missing valid format variations
Fix: Add format alternatives, implement fuzzy matching for strings, review edge cases

5. Missing Context Validation

Symptoms: Structurally valid but contextually wrong outputs pass
Detection: if (validation.valid === true && businessLogicErrors.length > 0)
Root Cause: Schema validates structure but ignores business rules
Fix: Add custom validators for business logic, implement cross-field validation

WORKED EXAMPLES

Example 1: Code Analysis Output Validation

Input: Code analysis from static analyzer

{
  "file": "user.ts",
  "analysis": {
    "complexity": 85,
    "quality": 0.7
  },
  "suggestions": ["Extract method", "Reduce nesting"]
}

Decision Process:

  1. Check schema → Has required fields (file, analysis, suggestions) ✓
  2. Type validation → All types match schema ✓
  3. Constraint check → complexity (85) in range [0,100] ✓
  4. Content quality → suggestions array has 2 items (min 1) ✓
  5. Calculate score → 0.8 (high complexity but good suggestions)
  6. Decision → ACCEPT (score ≥ 0.8 threshold)

Novice would miss: Not checking if complexity score correlates with quality score Expert catches: Flags inconsistency (high complexity + good quality = suspicious)

Example 2: Documentation Generation with Missing Section

Input: Generated documentation missing security section

{
  "title": "API Documentation",
  "content": "This API provides user management...",
  "sections": [
    {"heading": "Overview", "body": "..."},
    {"heading": "Usage", "body": "..."}
  ]
}

Decision Process:

  1. Schema validation → Structure valid ✓
  2. Required sections check → Missing "Security" section ✗
  3. Severity assessment → Critical error (security required for APIs)
  4. Error collection mode → FAIL FAST
  5. Decision → IMMEDIATE REJECT

Expert decision: Don't continue validation, security section is non-negotiable for API docs

Example 3: Borderline Numeric Values

Input: Performance analysis with edge case values

{
  "performance": {
    "latency": 0.0001,
    "throughput": 999999,
    "errorRate": 0.05
  }
}

Decision Process:

  1. Range validation → All values technically within bounds
  2. Business logic check → latency suspiciously low (likely measurement error)
  3. Threshold analysis → errorRate at boundary (5% = acceptable limit)
  4. Score calculation → Penalize suspicious latency (-0.2)
  5. Final score → 0.6 (boundary case)
  6. Decision → CONDITIONAL ACCEPT with warning

Expert catches: Unrealistic latency suggests measurement/calculation error

Example 4: Nested Structure Edge Case

Input: Complex nested analysis with optional fields

{
  "analysis": {
    "security": {
      "vulnerabilities": [],
      "score": 0.95
    },
    "performance": null,
    "maintainability": {
      "metrics": {"cyclomaticComplexity": 15}
    }
  }
}

Decision Process:

  1. Schema check → performance is optional, null allowed ✓
  2. Nested validation → security.vulnerabilities empty array valid ✓
  3. Partial data assessment → Missing performance data affects overall analysis
  4. Completeness score → 0.7 (missing key performance insights)
  5. Decision → ACCEPT but flag incomplete analysis

Expert decision: Accept partial data but ensure downstream knows about limitations

QUALITY GATES

Validation complete when ALL conditions met:

[ ] Schema Compliance: All required fields present with correct types [ ] Constraint Satisfaction: All numeric ranges, string lengths, enum values within bounds [ ] Business Rule Validation: Custom validators pass for domain-specific requirements [ ] Quality Threshold: Calculated quality score meets or exceeds configured minimum (default 0.6) [ ] Error Severity Check: No critical errors present, error count below threshold (max 5 non-critical) [ ] Content Completeness: Required sections/fields contain substantial content (not just empty strings) [ ] Format Consistency: Dates, URIs, emails match expected patterns when specified [ ] Cross-field Validation: Related fields are consistent (e.g., start_date < end_date) [ ] Downstream Compatibility: Output structure matches expectations of consuming nodes [ ] Performance Bounds: Validation completed within time limit (default 5 seconds)

NOT-FOR BOUNDARIES

Do NOT use this skill for:

  • Confidence scoring → Use dag-confidence-scorer instead
  • Hallucination detection → Use dag-hallucination-detector instead
  • Content generation → This validates existing content only
  • Schema generation → Use dedicated schema tools to create validation schemas
  • Data transformation → Use appropriate transformation skills, validate after transformation
  • Business logic execution → Validation checks logic compliance, doesn't implement logic
  • Performance optimization → Flags performance issues but doesn't optimize
  • Security scanning → Validates security-related fields but doesn't perform security analysis

Delegate to other skills when:

  • Content needs improvement → dag-content-enhancer
  • Output needs aggregation → dag-result-aggregator
  • Feedback required → dag-feedback-synthesizer
  • Multiple outputs need comparison → dag-output-comparator