Harden RC7 API response contracts
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user