ADR-401 item 5 · Audit: docs/security/security-consistency-audit-2026-06-09.md (F7)
~2,000 lines of auth/permission tests exist — tests/api/test_endpoint_security.py, test_job_permissions.py, test_auth_dependencies.py, test_oauth_utils.py, plus eight test_*_auth.py files — but no workflow executes them. They only run when a developer remembers make test against a local kg-api-dev container. This is the single largest exists-but-unwired enforcement gap.
Acceptance criteria
ADR-401 item 5 · Audit:
docs/security/security-consistency-audit-2026-06-09.md(F7)~2,000 lines of auth/permission tests exist —
tests/api/test_endpoint_security.py,test_job_permissions.py,test_auth_dependencies.py,test_oauth_utils.py, plus eighttest_*_auth.pyfiles — but no workflow executes them. They only run when a developer remembersmake testagainst a localkg-api-devcontainer. This is the single largest exists-but-unwired enforcement gap.Acceptance criteria
docker compose upin the runner) and running at least thesecurity-marked / auth-focused subset oftests/api/on PRs to main