PR retargeted from next-release to card-evolution. Restore the
Dockerfile with correct COPY path and CMD from card-evolution base.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Mirror the batter_id is None guard in _build_pitching_groups() so that
a StratPlay row with a null pitcher_id is skipped rather than creating
a None key in the groups dict (which would fail on the NOT NULL FK
constraint during upsert).
- Revert Dockerfile to the next-release base: drop the COPY path change
and CMD addition that were already merged in PR #101 and are unrelated
to the ProcessedGame ledger feature.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The tiangolo/uvicorn-gunicorn-fastapi image moved to Debian Trixie
(testing) which Playwright doesn't support — install-deps fails on
renamed font packages. The tiangolo image only adds uvicorn/gunicorn
which are already in requirements.txt, so switch to the official Python
slim-bookworm image directly. Also removes the old commented-out Chrome
manual install block that hasn't been used since the Playwright migration.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The tiangolo base image recently moved to Debian Trixie (testing), which
Playwright doesn't support yet. `playwright install-deps` fails because
ttf-unifont and ttf-ubuntu-font-family packages were renamed/removed in
Trixie. Pinning to slim-bookworm (Debian 12) restores compatibility.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>