Files
2026-09-14 11:57:22 +10:00

1.1 KiB

CI Pipeline — Quality Gates

Required before merge

The CI pipeline must pass:

  1. 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.
  2. No remote refs / self-contained emit — the generator tests assert the emitted newspaper.html contains no http(s) references (NFR4) and no fabricated photos when none supplied (FR7.4).
  3. 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.html the 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