# Healthcheck Contracts ## Doel Elke runtime-component moet een eenvoudige en machineleesbare healthcheck hebben. ## Backend ### Endpoint `GET /health` ### Response 200 ```json { "status": "ok", "service": "geointel-backend", "version": "0.1.0", "database": "ok", "redis": "ok", "storage": "ok" } ``` ### Response 503 ```json { "status": "degraded", "service": "geointel-backend", "database": "unavailable", "redis": "ok", "storage": "ok", "errors": ["database connection failed"] } ``` ## Worker ### Endpoint of command Codex mag kiezen tussen een internal endpoint of CLI-command, maar het contract moet dit opleveren: ```json { "status": "ok", "queue": "default", "pending_jobs": 0, "failed_jobs": 0, "last_heartbeat": "ISO-8601" } ``` ## Frontend Frontend moet een `/status` of settings/statuspanel hebben dat toont: backend bereikbaar, API version, auth status, feature flags en laatste healthchecktijd. ## Storage Storage healthcheck controleert of upload, originals, derived en exports writable zijn. ## Database Database healthcheck controleert connectie, PostGIS extension en migrationstatus.