Add pytest suite and CI (roadmap A1)
37 headless tests covering the logic that is cheap to break:
- split planner: plan_disc_split, chapter helpers (whole-fit, multi-disc
partition, single-movie chapter/even-cut split, contiguous coverage)
- High-profile fill-disc bitrate math (disc count + bounds + capacity)
- ffmpeg command generation: profiles, text/image hardsub, 2-pass, nice,
progress-to-file, even pad/crop + positive offsets, -ss seek, and the
AC3 448k audio-clamp regression
- ffprobe subtitle detection: text/image classification, tags/disposition
tests/conftest.py makes the in-tree package importable and installs the
gettext _ builtin so modules run headless. Forgejo Actions workflow runs
the suite on push/PR. Update CLAUDE.md's testing section accordingly.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>