feat: add comprehensive Playwright E2E test suite
- Create e2e/ directory with 7 test modules covering:
- Home page: title, nav links, theme toggle, newsletter form
- Cookie consent: accept all, reject all, granular prefs, persistence
- Article index: loads, tag filter, click-through navigation
- Article detail: title/read-time, share section, comments, newsletter aside, related
- Comments: valid submit → redirect, empty body → error display, disabled check
- Newsletter: JS confirmation message, invalid email error, aside form, duplicate
- Feeds: RSS/sitemap/robots.txt validity, tag feed, seeded content present
- Extend seed_e2e_content management command with tagged article, about page,
no-comments article, and legal pages for richer test coverage
- Add seed command tests (create + idempotency) to keep coverage ≥ 90%
- Add pr-e2e CI job (runs on pull_request): builds image, starts postgres + app,
installs playwright, runs pytest e2e/
- Update nightly-e2e to run full e2e/ suite alongside legacy journey test
- Add --ignore=e2e to unit-test pytest step (coverage must not include browser tests)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>