Operations
Run ./scripts/setup_developer.sh from the repository or extracted kit.
It verifies the classifier, creates local credentials, starts Docker and rehearses the demo.
Everyday commands
docker compose ps
docker compose logs --since=15m api worker
curl http://localhost:8000/ready
uv run python scripts/rehearse_demo.py
/health checks the API process. /ready checks the database, queue, replay files and model.
The API and database bind to localhost. Keep DEMO_MODE=replay for the demo.
Configuration
Set local values in .env; the template is .env.example.
Replay uses stored model responses. Live mode enables public collectors and configured model providers.
SAGA_API_KEY protects the web-to-API connection; it is not user login.
The team selector filters records and does not provide access control.
Before sharing a deployment, arrange user authentication, TLS, source permissions, monitoring and an operational owner. Keep secrets out of logs and Git. Never bypass a failed evidence check.
Backup and restore
scripts/backup_database.sh /absolute/private/path/saga.dump
scripts/verify_restore.sh
Restore only when replacing the database is intended:
scripts/restore_database.sh --confirm-replace-saga /absolute/private/path/saga.dump
docker compose restart api worker
Review records
Export a discard sample with uv run python scripts/discard_review.py export /path/review.csv.
After a reviewer completes it, import it with the same command using import.
Simulated reviews remain separate; a measured false-discard rate needs at least 30 real reviews.
For tests and release checks, see Development.