This commit is contained in:
+25
@@ -0,0 +1,25 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user