Task Summary
pyamber measures no branch coverage at all. build.yml runs pytest --cov=src/main/python --cov-report=xml without --cov-branch, and there is no coverage configuration anywhere in the repo — no .coveragerc, no setup.cfg section, no [tool.coverage] in amber/pyproject.toml.
The consequence is that a half-taken if in any Python file reads as fully covered. coverage.py records only whether each statement executed, so the emitted coverage.xml carries no condition-coverage data and Codecov has no partial-line information for the pyamber flag — while the amber flag (JaCoCo) reports branches normally. The two halves of the same service are measured to different standards.
Measured on 97e3585a6a: turning branch coverage on surfaces 62 partial lines and 80 untaken branch arms in pyamber that are invisible today.
This also affects contributors directly. Because nothing is configured, a local pytest --cov and the CI run agree today only by accident — and a fix applied in CI alone would split them, which is how a line comes to look green on a laptop and partial on Codecov.
Task Type
Was this issue authored using generative AI tooling?
Generated-by: Claude Code (Opus 5)
Task Summary
pyamber measures no branch coverage at all.
build.ymlrunspytest --cov=src/main/python --cov-report=xmlwithout--cov-branch, and there is no coverage configuration anywhere in the repo — no.coveragerc, nosetup.cfgsection, no[tool.coverage]inamber/pyproject.toml.The consequence is that a half-taken
ifin any Python file reads as fully covered. coverage.py records only whether each statement executed, so the emittedcoverage.xmlcarries nocondition-coveragedata and Codecov has no partial-line information for thepyamberflag — while theamberflag (JaCoCo) reports branches normally. The two halves of the same service are measured to different standards.Measured on
97e3585a6a: turning branch coverage on surfaces 62 partial lines and 80 untaken branch arms in pyamber that are invisible today.This also affects contributors directly. Because nothing is configured, a local
pytest --covand the CI run agree today only by accident — and a fix applied in CI alone would split them, which is how a line comes to look green on a laptop and partial on Codecov.Task Type
Was this issue authored using generative AI tooling?
Generated-by: Claude Code (Opus 5)