Document the critical requirement to set COMPOSE_PROJECT_NAME for
worktree isolation:
- Problem: Without COMPOSE_PROJECT_NAME, all worktrees share image
names (e.g., test-price-db:latest) causing build conflicts
- Solution: export COMPOSE_PROJECT_NAME="test-${TEST_INSTANCE_ID}"
- Cleanup scoping: Only remove containers for current branch
Also updated:
- Common Mistakes table with new isolation pitfalls
- Service Test Script Template with COMPOSE_PROJECT_NAME export
- Simplified directory structure (no services/ layer)
- 2-stage testing (unit + integration, skip service stage)
- Simplified CI/CD without matrix builds
- When to use multi-service structure anyway
- Remove time estimates from test stages
- Add Test Performance Optimization section with:
- Requirement to time tests and investigate outliers
- Common issue: tests awaiting timeouts instead of conditions
- Code example showing bad vs good async waiting patterns
- Guidance on fixture caching and parallelization