1.9 KiB
1.9 KiB
Test Results — Wedding Newspaper Generator
Build status
success — newspaper.generator/ai_draft/funnies import clean via uv;
CLI newspaper generate runs end-to-end (sample → self-contained newspaper.html).
Test execution
- Command (clean, non-PYTHONPATH):
uv run --project newspaper pytest newspaper/tests/ -q - Result: 22 passed, 0 failed, 0 skipped
test_ai_draft.py— 7 passedtest_funnies.py— 7 passedtest_generator.py— 8 passed
- Coverage: mocked model/fetch (no live cloud / enrichment call in CI), per the gitea test-pipeline posture.
Failure details
None — all tests green on the fixed invocation. (An initial ModuleNotFoundError
during this stage was a missing PYTHONPATH on a bare uv run; resolved by
making newspaper an editable-installed package via pyproject.)
Target Verification Matrix (final)
| Target ID | Source | Expected | Actual | Evidence | Owning Stage | Verdict |
|---|---|---|---|---|---|---|
| NFR1/NFR2 print fidelity | nfr-requirements generator | Clean A4, no clipping | emit test green; no overflow | test_generator.py | Build and Test | Met |
| NFR4 zero-network | nfr-requirements generator | no http(s) in emitted HTML | 0 remote refs | test_generator.py | Build and Test | Met |
| NFR7 markdown fidelity | nfr-requirements generator | no mangled escaping | & preserved |
test_generator.py | Build and Test | Met |
| NFR9 AI isolation | nfr-requirements ai-draft | no secrets; narrow model call | briefs secret-free; injectable client | test_ai_draft.py | Build and Test | Met |
| BR1.2 crossword | funnies | 10×10 + clues | 10×10 grid, across+down | test_funnies.py | Build and Test | Met |
| BR4.1 review handoff | generator | DraftBundle JSON written | cli writes bundle | cli.py | Build and Test | Met |
All applicable targets Met — no N/A rows required, no Pending/Unverified
verdicts remaining.
Loop-Back Log
None — no failure loop-back needed.