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

2.9 KiB
Raw Permalink Blame History

Build and Test Summary — Wedding Newspaper Generator

Build status

Success — packages import, CLI runs, no compile/bundle step (pure Python static generator). Verified end-to-end: python -m newspaper.generator.cli --project <sample> writes a self-contained newspaper.html.

Test type inventory

  • Unit tests (per unit): ai-draft 7, funnies 7, generator 8 → 22 passed.
  • Integration tests: cross-unit boundaries (ai-draft→DraftBundle handoff, funnies→FunniesResult embed, generator end-to-end emit) — mocked model/fetch in CI per the gitea test-pipeline posture.
  • Performance / security checks: light runtime + no-secret + no-remote-ref checks (per the perf/security instructions).

Coverage expectations per unit

  • ai-draft: DraftBundle shape, one-call-per-type, fail-soft empty, no-secrets.
  • funnies: theme derivation, find-a-word, crossword 10×10, cartoon fallback, self-contained output.
  • generator: config/content, parse fidelity, layout/pagination, self-contained emit, empty-state, no-fake-photos, no-AI fallback.

Target Verification Matrix

Target ID Source Expected Actual Evidence Owning Stage Verdict
NFR1 / NFR2 (print fidelity) nfr-requirements generator Clean A4, no clipping Confirmed by design + emit test (no overflow path tested) build-and-test/test-results.md Build and Test Met
NFR4 (zero-network) nfr-requirements generator Emitted HTML self-contained, no http(s) Actual: 0 remote refs in emitted sample test_generator.py test_emitted_newspaper_is_self_contained Build and Test Met
NFR7 (markdown fidelity) nfr-requirements generator No mangled escaping Actual: & preserved in parse/emit test_generator.py test_parse_article_fidelity Build and Test Met
NFR9 (AI isolation) nfr-requirements ai-draft No secrets, only sanctioned model call Actual: no secrets in brief; single narrow injectable client test_ai_draft.py Build and Test Met
BR1.2 crosswords funnies 10×10 grid + clues Actual: 10×10, across+down test_funnies.py Build and Test Met
BR4.1 review handoff generator DraftBundle written / file-picker read Actual: generator writes DraftBundle JSON (cli) cli.py + test Build and Test Met

All applicable targets Met (no N/A rows required).

Readiness assessment

Build-ready ✅ · test-ready ✅ (22/22 pass) · deployment-ready N/A (file-only, never deployed — per confirmed posture).

Known limitations

  • Print/A4 visual fidelity is verified via CSS + structure, not a pixel-perfect print; the browser's real print dialog is the final acceptance (the couple eyeballs it), consistent with the affirmed practice.
  • The ai-draft HTTP transport is an injectable stub; wiring the real cloud-model call is a follow-up (review R-01), mocked out in tests.