# Definition of Done A feature is done only when all applicable criteria are met. ## Backend feature - Endpoint or service is implemented. - Input schema exists. - Output schema exists. - Error behavior is defined. - Test exists or limitation is documented. - No unhandled tracebacks for expected user errors. - Docs are updated when behavior differs from spec. ## Frontend feature - Page/component is connected to real API or explicit fixture mode. - Loading state exists. - Empty state exists. - Error state exists. - Main action is discoverable. - API failures are visible to the user. - No hardcoded fake success for real workflows. ## Geo-processing feature - CRS handling is explicit. - Units are documented. - Input geometry validity is checked. - Output geometry is valid or repair attempt is documented. - Large-file limitations are surfaced. ## AI feature - Model dependency/configuration is explicit. - If model is unavailable, user sees `not_configured`. - Input preprocessing is documented. - Output georeferencing is documented. - Confidence threshold is configurable. ## Repo pass Every Codex build pass must update: - `docs/CODEX_EXECUTION_LOG.md` - `docs/TODO.md` if tasks are completed or added - relevant API/schema docs if changed