Status
Changes
- Added pinned local tooling installs for CI parity.
- Hardened Postgres transaction retries with backoff and retryable error scoping.
- Updated load testing to provision its own low-privilege principal and avoid seeded admins.
- Clarified AI verifier policy as advisory-only with audit note guardrails.
Golden Path
make toolsmake db-migration-lintmake ci- Requires Docker running (local Postgres + image build/scan).
Verification (Local)
Commands run:
go fmt ./...go vet ./...go test ./...make test-integrationdocker compose up -d --buildmake smokemake perf-smokecurl -s http://localhost:8080/healthz | jq .curl -s http://localhost:8080/readyz | jq .curl -s http://localhost:8080/metrics | grep -E '^(build_info|qazna_ready)'
Results:
make smoke:smoke okmake perf-smoke:loadtest finished: success=10 failed=0 duration=45.938ms/healthz:json{ "service": "qazna-api", "status": "ok", "version": "dev" }/readyz:json{ "status": "ready" }/metrics:build_info{commit="local",version="dev"} 1 qazna_ready 1
CI Parity Commands
make toolsmake db-migration-lintmake cimake test-integration(uses local Docker Postgres whenQAZNA_PG_DSNis unset)docker compose up -d --buildcurl -s http://localhost:8080/healthz | jq .curl -s http://localhost:8080/readyz | jq .curl -s http://localhost:8080/metrics | grep -E '^(build_info|qazna_ready)'
Optional tracing example:
QAZNA_OTEL_ENABLED=1 QAZNA_OTEL_ENDPOINT=otel-collector:4317 QAZNA_OTEL_INSECURE=1 docker compose up -d --build
Known Gaps / TODO
- Run
make toolsbeforemake cion clean machines to install pinned tooling.