Build Completion Verification Engine #136

Closed
opened 2026-01-30 23:42:41 +00:00 by jason.woltje · 0 comments
Owner

Implement gate execution engine that runs quality checks programmatically.

Objective: Execute quality gates and return pass/fail results without AI decision-making.

Gate Executors:

  • BuildGate: Run build command, check exit code
  • LintGate: Run linter, count errors/warnings vs thresholds
  • TestGate: Run test suite, check pass rate
  • CoverageGate: Parse coverage report, check thresholds
  • CustomGate: Run arbitrary script, check exit code

Engine API:

  • runGates(workspace, context) -> GateResults
  • GateResults.allPassed() -> boolean
  • GateResults.failures -> Gate[]
  • Each failure includes: gate name, expected, actual, message

Implementation:

  • Pure TypeScript service (no AI)
  • Executes commands via child_process
  • Parses output for metrics
  • Returns deterministic pass/fail

Related: L-015, #134 (orchestrator), #135 (gate config)

Acceptance Criteria:

  • All gate types implemented
  • Gates execute in isolated environment
  • Results are deterministic and parseable
  • Timeout handling for long-running gates
  • Clear failure messages for agent prompts
  • Tests for all gate executors
Implement gate execution engine that runs quality checks programmatically. Objective: Execute quality gates and return pass/fail results without AI decision-making. Gate Executors: - BuildGate: Run build command, check exit code - LintGate: Run linter, count errors/warnings vs thresholds - TestGate: Run test suite, check pass rate - CoverageGate: Parse coverage report, check thresholds - CustomGate: Run arbitrary script, check exit code Engine API: - runGates(workspace, context) -> GateResults - GateResults.allPassed() -> boolean - GateResults.failures -> Gate[] - Each failure includes: gate name, expected, actual, message Implementation: - Pure TypeScript service (no AI) - Executes commands via child_process - Parses output for metrics - Returns deterministic pass/fail Related: L-015, #134 (orchestrator), #135 (gate config) Acceptance Criteria: - All gate types implemented - Gates execute in isolated environment - Results are deterministic and parseable - Timeout handling for long-running gates - Clear failure messages for agent prompts - Tests for all gate executors
jason.woltje added the p0apiapi labels 2026-01-30 23:42:41 +00:00
jason.woltje added this to the M4-LLM (0.0.4) milestone 2026-01-30 23:45:33 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/stack#136