| name | ln-632-test-e2e-priority-auditor |
| description | E2E Critical Coverage audit worker (L3). Validates E2E coverage for critical paths (Money 20+, Security 20+, Data 15+). Pure risk-based - no pyramid percentages. |
| allowed-tools | Read, Grep, Glob, Bash |
E2E Critical Coverage Auditor (L3 Worker)
Specialized worker auditing E2E test coverage for critical paths (risk-based).
Purpose & Scope
- Worker in ln-630 coordinator pipeline
- Audit E2E Critical Coverage (Category 2: High Priority)
- Validate E2E coverage for critical paths (Money/Security/Data Priority ≥20)
- Validate E2E coverage for core user journeys (Priority 15-19)
- Identify wasteful E2E tests (Usefulness Score <15)
- Calculate compliance score (X/10)
Inputs (from Coordinator)
Receives contextStore with risk-based testing philosophy, tech stack, codebase structure, test file list.
Workflow
- Parse context (critical paths, user journeys)
- Identify critical paths in codebase (Money, Security, Data)
- Identify core user journeys (multi-step flows)
- Check E2E coverage for critical paths (Priority ≥20)
- Check E2E coverage for user journeys (Priority 15-19)
- Validate existing E2E tests (Usefulness Score ≥15)
- Collect findings
- Calculate score
- Return JSON
Audit Rules
1. Critical Path E2E Coverage
Rule: Every critical path MUST have E2E test
Critical Paths (Priority ≥20):
- Money (Priority 25): Payment processing, refunds, discounts, tax calculation
- Security (Priority 25): Login, auth, password reset, token refresh, permissions
- Data Export (Priority 20): Reports, CSV generation, data migration
Detection:
- Scan codebase for critical keywords:
payment,refund,login,auth,export - Extract critical functions/endpoints
- Check if E2E test exists for each critical path
- Missing E2E for Priority ≥20 → CRITICAL severity
Severity:
- CRITICAL: No E2E for Priority 25 (Money, Security)
- HIGH: No E2E for Priority 20 (Data Export)
Recommendation: Add E2E tests for critical paths immediately
Effort: M
2. Core User Journey E2E Coverage
Rule: Multi-step critical flows MUST have E2E test
Core Journeys (Priority 15-19):
- Registration → Email verification → First login (Priority 16)
- Product search → Add to cart → Checkout (Priority 18)
- File upload → Processing → Download result (Priority 15)
Detection:
- Identify multi-step flows in routes/controllers
- Check if end-to-end journey test exists
- Missing E2E for Priority ≥15 → HIGH severity
Severity:
- HIGH: Missing E2E for core user journey (Priority ≥15)
- MEDIUM: Incomplete journey coverage (only partial steps tested)
Recommendation: Add end-to-end journey tests
Effort: M-L
3. E2E Test Usefulness Validation
Rule: Every E2E test MUST justify Priority ≥15
Check: For each E2E test, calculate Usefulness Score = Impact × Probability
- If Score <15 → Flag as "Potentially wasteful E2E"
- Recommendation: Convert to Integration or Unit test (cheaper)
Example:
- E2E test for "API returns 200 OK" → Impact 2, Probability 1 → Score 2 → WASTEFUL
- E2E test for "Payment with discount calculates correctly" → Impact 5, Probability 5 → Score 25 → VALUABLE
Severity:
- MEDIUM: E2E test with Usefulness Score <15
- LOW: E2E test with Score 10-14 (review needed)
Recommendation: Convert low-value E2E to Integration/Unit or remove
Effort: S
Scoring Algorithm
critical_coverage = (critical_paths_covered / critical_paths_total) * 100
journey_coverage = (core_journeys_covered / core_journeys_total) * 100
wasteful_penalty = wasteful_e2e_tests * 0.5
score = (critical_coverage * 0.6 + journey_coverage * 0.4) / 10 - wasteful_penalty
score = max(0, min(10, score))
Rationale:
- Focus on critical path coverage (60% weight), not total E2E count
- Core journeys contribute 40% weight
- Penalize wasteful E2E tests (low Usefulness Score)
- No pyramid percentages - pure risk-based prioritization
Output Format
{
"category": "E2E Critical Coverage",
"score": 6,
"total_issues": 8,
"critical": 2,
"high": 3,
"medium": 3,
"metrics": {
"critical_paths_total": 12,
"critical_paths_covered": 7,
"critical_coverage_percentage": 58,
"core_journeys_total": 5,
"core_journeys_covered": 3,
"journey_coverage_percentage": 60,
"wasteful_e2e_tests": 4
},
"findings": [
{
"severity": "CRITICAL",
"critical_path": "POST /payment",
"priority": 25,
"location": "routes/payment.ts:45",
"issue": "No E2E test for payment processing",
"recommendation": "Add E2E: successful payment + failed payment scenarios",
"effort": "M"
},
{
"severity": "HIGH",
"user_journey": "Registration → Email verification → First login",
"priority": 16,
"location": "routes/auth.ts + routes/users.ts",
"issue": "Missing end-to-end journey test",
"recommendation": "Add E2E test covering full registration flow",
"effort": "L"
},
{
"severity": "MEDIUM",
"e2e_test": "GET /users returns 200",
"usefulness_score": 4,
"location": "users.test.ts:23",
"issue": "Low-value E2E test (Score <15)",
"recommendation": "Convert to Integration test or remove",
"effort": "S"
}
]
}
Version: 3.0.0 Last Updated: 2025-12-23