Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/quality-and-security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
# The floor sits ~two points under the measured 89% (QUAL-005) so
# routine PRs don't fight the gate, while a large untested addition
# still fails.
python -m pytest -q --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui --cov-fail-under=89

- name: Compile importable Python files
run: python -m compileall -q app.py backend screeners ui tests
Expand Down
6 changes: 5 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ Reproduce it locally — these are the exact commands; **all must pass**:
python -m pip install -r requirements.txt -r requirements-dev.txt -c constraints.txt

python -m pre_commit validate-config .pre-commit-config.yaml
python -m pytest -q --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m compileall -q app.py backend screeners ui tests
python -m ruff check app.py backend screeners ui Dependencies tests
python -m mypy
Expand All @@ -142,6 +142,10 @@ docker compose down --volumes --remove-orphans

Coverage floor is **89%** (measured ~89.7%). Headroom is deliberately thin, so a
sizeable untested addition fails the gate rather than quietly eroding the suite.
The measured set includes `app.py` (QUAL-009); it sits at ~76%, which is the main
reason the headroom is as tight as it is. `Dependencies/` and `migrations/` remain
unmeasured on purpose - the first is an interactive credential helper, the second
is hand-written migrations that the Alembic drift guard covers instead.
`pre-commit` hooks are **non-rewriting**
(check-only, no `--fix`) so commits stay author-reviewed.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1197,7 +1197,7 @@ pip install -r requirements-dev.txt -c constraints.txt
Run the full local verification set before publishing changes:

```bash
python -m pytest -q --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m compileall -q app.py backend screeners ui tests
python -m ruff check app.py backend screeners ui Dependencies tests
python -m bandit -r app.py backend screeners ui Dependencies -q
Expand Down
2 changes: 1 addition & 1 deletion docs/adding-a-screener.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ python -m pytest -q # alway

```bash
python -m pre_commit validate-config .pre-commit-config.yaml
python -m pytest -q --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m compileall -q app.py backend screeners ui tests
python -m ruff check app.py backend screeners ui Dependencies tests
python -m mypy
Expand Down
2 changes: 1 addition & 1 deletion docs/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -1022,7 +1022,7 @@ The "Quality and security" workflow runs the same gates you can run locally:

```bash
python -m pre_commit validate-config .pre-commit-config.yaml
python -m pytest -q --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui --cov-fail-under=89
python -m compileall -q app.py backend screeners ui tests
python -m ruff check app.py backend screeners ui Dependencies tests
python -m mypy
Expand Down
6 changes: 3 additions & 3 deletions tests/test_supply_chain_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
)
CI_COMMANDS = (
"python -m pre_commit validate-config .pre-commit-config.yaml",
"python -m pytest -q --cov=backend --cov=screeners --cov=ui --cov-fail-under=89",
"python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui --cov-fail-under=89",
"python -m compileall -q app.py backend screeners ui tests",
"python -m ruff check app.py backend screeners ui Dependencies tests",
"python -m mypy",
Expand Down Expand Up @@ -124,7 +124,7 @@ def test_ci_workflow_runs_quality_and_dependency_security_checks():
assert 'python-version: ["3.11", "3.12"]' in text
assert "python -m pre_commit validate-config .pre-commit-config.yaml" in text
assert (
"python -m pytest -q --cov=backend --cov=screeners --cov=ui "
"python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui "
"--cov-fail-under=89"
in text
)
Expand Down Expand Up @@ -253,7 +253,7 @@ def test_readme_documents_local_quality_and_security_commands():
assert "pip install -r requirements.txt -c constraints.txt" in text
assert "pip install -r requirements-dev.txt -c constraints.txt" in text
assert (
"python -m pytest -q --cov=backend --cov=screeners --cov=ui "
"python -m pytest -q --cov=app --cov=backend --cov=screeners --cov=ui "
"--cov-fail-under=89"
in text
)
Expand Down
Loading