# cqa-test-app-latest2 — Action List > DEV Ground Rule §Precondition.3 — track development changes in this file. > On every PR, summarize the relevant entries in the PR body's `Action List` > section and commit the updated file in the same PR. ## 2026-05-29 ### Completed #### 1. DEV Ground Rule scaffolding - [x] Unit test suite (pytest) toward the ≥80% line-coverage gate - Added `tests/unit/` (138 tests) + `tests/conftest.py`; coverage 84.92%. - Measured packages: `common`, `config`, `functions`, `lib`, `products` (integration-only modules — DB drivers, Athenz, Jira, cert tooling — are omitted in `pyproject.toml` and exercised via API E2E instead). - [x] Unit runner + config - `qa-unit-test-run.sh`, `.cqa-runner.conf`, `pyproject.toml` (pytest/coverage), `requirements-test.txt`. - [x] OpenAPI spec — `docs/openapi.yaml` (41 endpoints, true HTTP contract) - [x] API E2E suite — `tests/e2e/` + coverage recorder - 48 local tests pass; endpoint 90.24%, status 84.21%. - External-backend triples gated behind `E2E_WITH_BACKENDS=1`. - [x] API E2E runner — `qa-api-e2e-run.sh` (port 8000, health `/monitor/l7check`). - [x] Format/lint config — `[tool.ruff]` in `pyproject.toml`, `requirements-dev.txt`. - [x] pre-commit hook — `.githooks/pre-commit` (`core.hooksPath=.githooks`). - [x] PR template + `/pr` command + CI workflow files (`.github/workflows/ci-*.yml`). ### In progress / next - [ ] Provide external-backend credentials to close the API E2E coverage gap (FOS write/read, Athenz token, egress proxy, explorer, least-conn). - [ ] Investigate `/test_fos_ui/` template render error (returns HTTP 500). ---