Adds a canonical, discoverable full-validation entry point so sessions stop
guessing between pytest invocations.
- run-tests.sh: executable root runner; runs `venv/bin/python -m pytest "$@"`;
forwards args; fails closed with a clear setup message when the venv Python
is missing (no silent wrong-interpreter fallback); set -euo pipefail; no
network, no Gitea, no lock files.
- docs/developer-testing-guidelines.md: name ./run-tests.sh as the canonical
full/focused validation command.
- tests/test_run_tests_script.py: contract checks (exists, executable, strict
bash flags, venv pytest + arg forwarding, fail-closed guard, repo-local, and
the guide naming the runner).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Add docs/developer-testing-guidelines.md covering test commands, targeted
runs, syntax/diff checks, adding MCP tool tests, safe API/auth mocking,
profile/allowed-operation gate tests, self-review/self-merge gate tests,
no-secret regression expectations, unit vs future Docker integration tests,
and read-only vs mutating tool expectations. Link it from the README Tests
section and note the suite table is non-exhaustive.
Documentation only; no code behavior changed.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>