# Phase 9: CI Pipeline Hardening - Context

**Gathered:** 2026-02-03
**Status:** Ready for planning

<domain>
## 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.

</domain>

<decisions>
## 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)

</decisions>

<specifics>
## Specific Ideas

No specific requirements — open to standard approaches following Svelte/Vitest/Playwright best practices.

</specifics>

<deferred>
## Deferred Ideas

None — discussion stayed within phase scope

</deferred>

---

*Phase: 09-ci-pipeline*
*Context gathered: 2026-02-03*
