Add AGENTS.md for agents picking up work in new sessions

- AGENTS.md: ground rules (legal access, evidence, fairness), invariants
  that are easy to break, commands, and notes on the owner's dev machine;
  CLAUDE.md imports it
- backend/tests/Dockerfile.debian: test image from Debian packages for
  networks where PyPI is unreachable, documented in testing.md
- roadmap: list what v2 has not been verified against yet

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
simonandClaude Opus 5.5 committed 2026-10-28 20:02:33 +01:00
1 parent 583ccba31c
commit 45514624f4
5 files changed
+121

No files matched your search

+14
View File
@@ -16,6 +16,20 @@ UPDATE_GOLDEN=1 pytest tests/test_golden.py # regenerate expected outputs (rev
Parsers are pure, so none of these needs a database or network.
### Without PyPI access
`tests/Dockerfile.debian` installs the dependencies from Debian packages instead (everything except
`procrastinate` and `mcp`, which the tests don't need):
```bash
docker build -t politrack-test -f backend/tests/Dockerfile.debian backend/tests
docker run --rm -v "$PWD/backend:/app" politrack-test python3 -m pytest -q -p no:cacheprovider
```
The same image can run adapters against the compose database: add `--network politics-tracking_default`
and `-e POLITRACK_DATABASE_URL=postgresql://politrack:<password>@db:5432/politrack`, then
`python3 -m politrack.cli run <adapter> --max-requests 20`.
## Golden fixtures
```
+12
View File
@@ -59,6 +59,18 @@ Next.js frontend (de/en), Docker Compose for Unraid.
- [ ] Partnerships: MeineAbgeordneten, Parteispenden.at, APA (OTS full-text licence)
- [ ] Map view of trips and appearances
## Not yet verified (v2)
Tested so far: unit and golden tests, a live pipeline run of every adapter with `--max-requests`
against a test database, every API endpoint, the frontend type check against the generated types.
Not run yet, because PyPI/npm were unreachable on the development network (October 2026):
- [ ] Building the `backend` and `web` images (`docker compose build`), `npm run build`
- [ ] Procrastinate workers and the periodic schedule; the job-queue schema (`politrack migrate` installs it)
- [ ] The MCP server at runtime
- [ ] Mastodon (no account in the test sample), YouTube, X and Meta Ad Library (no credentials)
- [ ] GDELT (rate-limited during the test), EP declarations for MEPs whose API calls returned HTTP 500
## Known limitations
- Votes in the Nationalrat are faction-level except roll calls (an Austrian parliamentary practice).