# Phase 9: CI Pipeline Hardening - Context
**Gathered:** 2026-02-03
**Status:** Ready for planning
## Phase Boundary
Tests run before build — type errors and test failures block deployment. This includes unit tests via Vitest, type checking via svelte-check, and E2E tests via Playwright. The pipeline must fail fast before Docker build when tests fail.
## Implementation Decisions
### Test scope
- Full coverage: components, utilities, API routes — everything testable
- 80% coverage threshold required to pass the build
- Full backfill: write tests for all existing code until 80% coverage reached
- Use Playwright component tests for DOM interactions (real browser, not jsdom)
### Failure behavior
- Full test output including stack traces shown in pipeline
- Slack webhook notification on pipeline failure
- Pipeline runs on PRs and main branch (catch issues before merge)
### E2E strategy
- Full user journey coverage: create, edit, search, organize, delete workflows
- Test both desktop and mobile viewports
- Capture screenshots on test failure (no video)
- Seeded fixtures: pre-populate database with known test data before each run
### Claude's Discretion
- Exact Vitest configuration and test file organization
- Specific Playwright configuration settings
- Test fixture data structure
- Local development workflow (pre-commit hooks, watch mode)
## Specific Ideas
No specific requirements — open to standard approaches following Svelte/Vitest/Playwright best practices.
## Deferred Ideas
None — discussion stayed within phase scope
---
*Phase: 09-ci-pipeline*
*Context gathered: 2026-02-03*