-
-
Notifications
You must be signed in to change notification settings - Fork 745
Closed
Labels
status: needs-triageAwaiting initial triageAwaiting initial triage
Description
Problem
The gate-evaluator.js module (494 lines) in .aios-core/core/orchestration/ has zero test coverage. This module evaluates quality gates between epics to prevent bad outputs from propagating through the pipeline.
Solution
Add comprehensive unit tests covering:
- GateVerdict enum and DEFAULT_GATE_CONFIG exports
- Config loading — custom config, YAML file loading with merge, fallback to defaults, error handling
- Epic 3 checks — spec_exists (specPath, artifacts), complexity_assessed, requirements_defined
- Epic 4 checks — plan_complete (planPath, flag), implementation_exists (path, codeChanges), no_critical_errors
- Epic 6 checks — qa_report_exists, verdict_generated, tests_pass
- Additional checks — minScore conditional, requireTests with array/object/skipped formats, minTestCoverage threshold
- Verdict determination — strict mode (AC7), critical/high severity handling, blocking vs non-blocking gates, allowMinorIssues
- Score calculation — perfect, partial, zero, empty-checks scenarios
- Results storage (AC6) — getResults, getResult, getSummary, clear
- Logging — evaluation step logging, copy semantics
Test Details
- 57 tests across 14 describe blocks
- Mocks:
fs-extra,js-yaml - All tests passing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
status: needs-triageAwaiting initial triageAwaiting initial triage