Jason Woltje
f45dbac7b4
feat(#147): Implement core quality gates (TDD - GREEN phase)
Implement four quality gates enforcing non-negotiable quality standards:
1. BuildGate: Runs mypy type checking
- Detects compilation/type errors
- Uses strict mode from pyproject.toml
- Returns GateResult with pass/fail status
2. LintGate: Runs ruff linting
- Treats warnings as failures (non-negotiable)
- Checks code style and quality
- Enforces rules from pyproject.toml
3. TestGate: Runs pytest tests
- Requires 100% test pass rate (non-negotiable)
- Runs without coverage (separate gate)
- Detects test failures and missing tests
4. CoverageGate: Measures test coverage
- Enforces 85% minimum coverage (non-negotiable)
- Extracts coverage from JSON and output
- Handles edge cases gracefully
All gates implement QualityGate protocol with check() method.
All gates return GateResult with passed/message/details.
All implementations achieve 100% test coverage.
Files created:
- src/gates/quality_gate.py: Protocol and result model
- src/gates/build_gate.py: Type checking enforcement
- src/gates/lint_gate.py: Linting enforcement
- src/gates/test_gate.py: Test execution enforcement
- src/gates/coverage_gate.py: Coverage enforcement
- src/gates/__init__.py: Module exports
Related to #147
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-01 18:25:16 -06:00
..
2026-02-01 14:50:13 -06:00
2026-02-01 18:25:16 -06:00
2026-02-01 14:50:13 -06:00