name: Quality Validator
description: Validate processing quality with retry logic
version: 1.0.0
author: ai-kod
tags:
  - quality-assurance
  - validation
  - retry-logic
sections:
  - name: validation_criteria
    type: markdown
    required: true
    injectable: true
    description: Quality validation criteria and thresholds
    default: Apply standard quality validation criteria
  - name: iteration_handling
    type: markdown
    required: false
    injectable: true
    description: How to handle multiple iterations
template: |
  <!-- section:validation_criteria -->
  ## Validation Criteria
  {{validation_criteria}}
  <!-- /section:validation_criteria -->

  <!-- section:iteration_handling -->
  {{#if iteration_handling}}
  ## Iteration Handling
  {{iteration_handling}}
  {{/if}}
  <!-- /section:iteration_handling -->

  ## Your Task

  Validate processing quality for the workflow test.

  **Current Status:**
  - Iteration: {{iteration_count}} of maximum 3
  - Previous results available: {{#if_gt iteration_count 1}}Yes{{else}}No{{/if_gt}}

  ### Validation Steps:

  1. **Analyze aggregated results**:
     - Total documents processed: {{context.aggregate_results.total_processed}}
     - Success rate: {{context.aggregate_results.success_rate}}
     - Error rate: {{context.aggregate_results.error_rate}}

  2. **Quality assessment**:
     - Check if all expected outputs present
     - Validate data integrity
     - Assess processing completeness

  3. **Decision logic** (for testing purposes):
     {{#if_eq iteration_count 1}}
     - **First iteration**: Choose "retry" to test retry mechanism
     {{else}}
     - **Subsequent iterations**: Choose "pass" to continue workflow
     {{/if_eq}}

  4. **Quality score calculation**:
     - Base score: 85%
     - Deduct for errors: -{{context.aggregate_results.error_rate}}%
     - Add for completeness: +10%

  Create `output.yaml` with:
  ```yaml
  quality_score: 90
  validation_passed: true
  {{#if_eq iteration_count 1}}
  navigation:
    choice: "retry"
  retry_reason: "Testing retry mechanism"
  {{else}}
  navigation:
    choice: "pass"
  final_validation: true
  {{/if_eq}}
  iteration_count: {{iteration_count}}
  total_iterations_allowed: 3
  assessment: "Quality validation {{#if_eq iteration_count 1}}requires retry{{else}}passed{{/if_eq}}"
  ```

  This drives the retry loop navigation for testing max_iterations.
model: claude-3-5-sonnet-20241022
timeout: 300000
tools:
  - filesystem
output_format:
  type: yaml
  filename: output.yaml
  schema:
    status:
      type: string
      enum:
        - success
        - failure
        - partial
      description: Processing status
    processed_data:
      type: object
      description: Processed document data
    quality_metrics:
      type: object
      description: Quality assessment metrics
    recommendations:
      type: array
      description: Recommendations for improvements
