Feature: Coverage threshold configuration enforcement The project enforces a minimum 97% code coverage threshold. This is configured in pyproject.toml and enforced by the nox coverage_report session. Scenario: Coverage configuration exists in pyproject.toml Given the pyproject toml file is loaded for coverage check Then the coverage run section should exist And the coverage source should include "src" And the coverage branch tracking should be enabled Scenario: Coverage threshold is at least 97 percent in noxfile Given the noxfile py is loaded for coverage check Then the noxfile should contain a fail-under threshold of at least 97 Scenario: Coverage report session exists in noxfile Given the noxfile py is loaded for coverage check Then the noxfile should define a coverage_report session Scenario: Coverage HTML output directory is configured Given the pyproject toml file is loaded for coverage check Then the coverage html directory should be "build/htmlcov" Scenario: Coverage XML output path is configured Given the pyproject toml file is loaded for coverage check Then the coverage xml output should be "build/coverage.xml" Scenario: Coverage data file path is configured Given the pyproject toml file is loaded for coverage check Then the coverage data file should be "build/.coverage" Scenario: Coverage omits test directories Given the pyproject toml file is loaded for coverage check Then the coverage omit patterns should include "features/*" And the coverage omit patterns should include "*/tests/*" Scenario: CI workflow enforces coverage via nox session Given the ci workflow file is loaded for coverage check Then the ci workflow should reference nox coverage_report session Scenario: Nightly workflow uses at least 85 percent threshold Given the nightly quality workflow file is loaded for coverage check Then the nightly workflow should use a fail-under of at least 85