1.1 KiB
1.1 KiB
CI Pipeline — Quality Gates
Required before merge
The CI pipeline must pass:
- Full test suite green —
uv run --project newspaper pytest newspaper/tests/ -q(22 unit tests: ai-draft 7, funnies 7, generator 8). This is the primary, non-negotiable gate. - No remote refs / self-contained emit — the generator tests assert the
emitted
newspaper.htmlcontains nohttp(s)references (NFR4) and no fabricated photos when none supplied (FR7.4). - AI isolation — ai-draft tests assert briefs carry no secrets and the model call is behind a narrow client (NFR9).
Gate policy
- Blocking: any test failure blocks the pipeline (fail closed).
- No deploy gate — there is no deployment/artifact step. The "pipeline"
concludes after tests pass; the artifact is the local
newspaper.htmlthe couple generates and prints.
Traceability to Build and Test
Every quality gate above maps directly to a target recorded as Met in
build-and-test/build-and-test-summary.md:
- test suite → the 22 passing tests
- zero-network → NFR4 Met
- AI isolation → NFR9 Met