Harden RC7 API response contracts
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-18 05:07:35 +02:00
parent 8e49b857dd
commit 0fae53a7de
36 changed files with 886 additions and 153 deletions
+30
View File
@@ -10516,3 +10516,33 @@ Decision:
- RC-6 is complete. RC-7 critical API response typing and OpenAPI validation
is active.
## 2026-07-18 - Belgium/North Sea RC-7 API contract hardening
Implemented:
- Replaced every remaining free-form successful JSON response model with a
concrete Pydantic schema while retaining the canonical `{"data": ...}`
payload shape.
- Added reusable generic envelope, list, pagination and GeoJSON schemas plus
concrete project, area, assistant, YOLO preflight and QA evidence models.
- Corrected Area serialization so persisted PostGIS geometries are converted
to GeoJSON before response validation.
- Added an executable OpenAPI contract audit and focused regression tests that
reject missing, free-dictionary or undocumented non-envelope responses.
- Tracked exactly eight deliberate exceptions: three health probes, four
persisted PNG endpoints and the streamed export download.
Validation:
- The API audit passed 124 implemented routes and 228 OpenAPI component
schemas.
- Repository readiness passed backend compilation, 1,008 backend tests,
Alembic head `202607160001`, frontend typecheck and production build.
- Offline `alembic upgrade head --sql` completed and generated 31,548 bytes of
migration evidence.
Decision:
- RC-7 is complete. RC-8 automated frontend and browser release journeys are
active.