Skip to main content

sdac-validate-full-report

Purpose

Executes all SDAC validation categories in one call and returns a consolidated report.

Tool type

Deterministic (rule-based)

Tool ID

sdac-validate-full-report

Inputs

  • report_id (string)
  • complexity ("SIMPLE" | "MODERATE" | "COMPLEX" | "VERY_COMPLEX", optional)
  • categories (string[], optional)
  • include_statistical_analysis (boolean, optional, default: true)

Outputs

  • validation_status, total_errors, total_warnings
  • errors_by_category, warnings_by_category
  • errors, warnings, category_summaries

Example output

{
"validation_status": "INVALID",
"total_errors": 2,
"total_warnings": 3,
"errors_by_category": {
"SOURCE_CODE": 1,
"REPLACEMENT": 1
},
"warnings_by_category": {
"FRINGE": 1,
"COMMENT_QUALITY": 2
},
"errors": [
{
"category": "SOURCE_CODE",
"row_number": 19,
"message": "Federal costs are claimed without a backout."
}
],
"warnings": [
{
"category": "COMMENT_QUALITY",
"row_number": 48,
"message": "Comment does not explain unusual fringe."
}
],
"category_summaries": [
{
"category": "REPLACEMENT",
"passed": false,
"error_count": 1,
"warning_count": 1
}
]
}

Functional details

  • Runs category tools in sequence and aggregates results.
  • Supports optional category filtering and complexity presets.
  • Returns consolidated error and warning breakdowns.

Implementation details

  • Orchestrates category tools via CATEGORY_TO_TOOL map.
  • SALARY/FRINGE categories pass include_statistical_analysis based on complexity.
  • Aggregates executed_rules, per-category summaries, and overall status.
  • Emits CATEGORY_EXECUTION_FAILED if a category tool returns failure.
  • Builds errors_by_category and warnings_by_category on the fly from each tool result.
  • Uses total_records_checked as the max of per-category counts.

Code Location: packages/domain-sdac/src/tools/validate-full-report.tool.ts