diff --git a/CLAUDE.md b/CLAUDE.md index f90eb83..061b0ab 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -183,6 +183,7 @@ bats tests/unit/test_cli_modern.bats bats tests/unit/test_enable_core.bats bats tests/unit/test_task_sources.bats bats tests/unit/test_ralph_enable.bats +bats tests/unit/test_circuit_breaker_recovery.bats ``` ## Ralph Loop Configuration @@ -449,18 +450,18 @@ Ralph uses advanced error detection with two-stage filtering to eliminate false | File | Tests | Description | |------|-------|-------------| | `test_circuit_breaker_recovery.bats` | 19 | Cooldown timer, auto-reset, parse_iso_to_epoch, CLI flag (Issue #160) | -| `test_cli_parsing.bats` | 27 | CLI argument parsing for all 12 flags | -| `test_cli_modern.bats` | 29 | Modern CLI commands (Phase 1.1) + build_claude_command fix | -| `test_json_parsing.bats` | 45 | JSON output format parsing + Claude CLI format + session management + array format | -| `test_session_continuity.bats` | 28 | Session lifecycle management + circuit breaker integration + issue #91 fix | +| `test_cli_parsing.bats` | 35 | CLI argument parsing for all flags + monitor parameter forwarding | +| `test_cli_modern.bats` | 33 | Modern CLI commands (Phase 1.1) + build_claude_command fix | +| `test_json_parsing.bats` | 52 | JSON output format parsing + Claude CLI format + session management + array format | +| `test_session_continuity.bats` | 44 | Session lifecycle management + expiration + circuit breaker integration + issue #91 fix | | `test_exit_detection.bats` | 53 | Exit signal detection + EXIT_SIGNAL-based completion indicators + progress detection | | `test_rate_limiting.bats` | 15 | Rate limiting behavior | | `test_loop_execution.bats` | 20 | Integration tests | -| `test_edge_cases.bats` | 20 | Edge case handling | +| `test_edge_cases.bats` | 25 | Edge case handling | | `test_installation.bats` | 14 | Global installation/uninstall workflows | -| `test_project_setup.bats` | 36 | Project setup (setup.sh) validation | +| `test_project_setup.bats` | 44 | Project setup (setup.sh) validation + .ralphrc permissions | | `test_prd_import.bats` | 33 | PRD import (ralph_import.sh) workflows + modern CLI tests | -| `test_enable_core.bats` | 30 | Enable core library (idempotency, project detection, template generation) | +| `test_enable_core.bats` | 32 | Enable core library (idempotency, project detection, template generation) | | `test_task_sources.bats` | 23 | Task sources (beads, GitHub, PRD extraction, normalization) | | `test_ralph_enable.bats` | 22 | Ralph enable integration tests (wizard, CI version, JSON output) | | `test_wizard_utils.bats` | 20 | Wizard utility functions (stdout/stderr separation, prompt functions) | @@ -493,6 +494,17 @@ bats tests/unit/test_cli_parsing.bats > **Note on Coverage**: The 85% coverage threshold is aspirational for bash scripts. Due to kcov subprocess limitations, test pass rate is the enforced quality gate. +### E2E Testing Philosophy (v2 UI) + +When Ralph introduces a web-based UI (v2), end-to-end testing is the primary quality gate for all frontend work: + +- **Framework**: Playwright for all browser automation and E2E tests +- **Real services only**: E2E tests run against real backends — no mocked APIs or stubbed services +- **User journey coverage**: Every user-facing workflow must have at least one E2E test covering the happy path +- **Visual regression**: Use Playwright screenshot comparisons for layout-critical components +- **Accessibility**: Include automated a11y checks (e.g., `@axe-core/playwright`) in E2E runs +- **CI integration**: E2E tests must pass in the GitHub Actions pipeline before merge + ### Git Workflow Requirements Before moving to the next feature, ALL changes must be: