Updated pnpm version from 10.19.0 to 10.27.0 to fix HIGH severity vulnerabilities (CVE-2025-69262, CVE-2025-69263, CVE-2025-6926). Changes: - apps/api/Dockerfile: line 8 - apps/web/Dockerfile: lines 8 and 81 Fixes #180
2.8 KiB
2.8 KiB
Issue #149: [COORD-009] Test rejection loop
Objective
Validate quality gates prevent premature completion through simulated rejection scenarios.
Approach
- Create comprehensive integration tests for rejection loop scenarios
- Test each gate failure type triggers proper rejection
- Verify forced continuation prompts are generated correctly
- Ensure agents cannot bypass gates
- Validate loop continues until all gates pass
Test Scenarios
- Agent claims done with failing tests →
test_rejection_on_failing_tests - Agent claims done with linting errors →
test_rejection_on_linting_errors - Agent claims done with low coverage →
test_rejection_on_low_coverage - Agent claims done with build errors →
test_rejection_on_build_errors - All gates passing allows completion →
test_acceptance_on_all_gates_passing - Multiple simultaneous gate failures handled correctly →
test_rejection_on_multiple_gate_failures - Forced continuation prompts are non-negotiable →
test_continuation_prompt_is_non_negotiable - Remediation steps included in prompts →
test_continuation_prompt_includes_remediation_steps - Agents cannot bypass gates →
test_agent_cannot_bypass_gates
Progress
- Read existing QualityOrchestrator and ForcedContinuationService code
- Write comprehensive integration tests (TDD)
- Run tests - all 9 tests pass
- Fix linting issues
- Run type checking - passes
- All quality gates pass
- Commit changes
Testing
Test file: apps/coordinator/tests/test_rejection_loop.py
Notes
The services already exist from Issue 148, so this is primarily testing the rejection loop behavior through integration tests that simulate agent completion scenarios.
Summary
Successfully implemented 9 comprehensive integration tests for rejection loop scenarios:
- test_rejection_on_failing_tests - Validates test failures trigger rejection and continuation prompt
- test_rejection_on_linting_errors - Validates lint errors trigger rejection and continuation prompt
- test_rejection_on_low_coverage - Validates low coverage triggers rejection and continuation prompt
- test_rejection_on_build_errors - Validates build errors trigger rejection and continuation prompt
- test_acceptance_on_all_gates_passing - Validates completion allowed when all gates pass
- test_rejection_on_multiple_gate_failures - Validates multiple failures handled correctly
- test_continuation_prompt_is_non_negotiable - Validates prompts use directive language
- test_continuation_prompt_includes_remediation_steps - Validates actionable remediation steps
- test_agent_cannot_bypass_gates - Validates all gates run without short-circuiting
All tests pass, linting passes, type checking passes.