Context
The repo has ~29 real unit tests but no CI workflow runs them on PRs. Current workflows only do black (format), docker build, publish, and the Claude review bots. A "smoke test CI" exists only as open PR #278. Without automated test runs, regressions can merge silently — and this backlog cleanup (#394) is riskier without it.
Task
Definition of Done
Related: #394 (PR backlog triage). Source: repo review 2026-07.
Context
The repo has ~29 real unit tests but no CI workflow runs them on PRs. Current workflows only do black (format), docker build, publish, and the Claude review bots. A "smoke test CI" exists only as open PR #278. Without automated test runs, regressions can merge silently — and this backlog cleanup (#394) is riskier without it.
Task
pytest.ymlworkflow.pytest(+ruff check) on every PR againstmain, Python 3.11–3.13.Definition of Done
mainmainRelated: #394 (PR backlog triage). Source: repo review 2026-07.