Extract frontend orchestration hooks
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-17 07:10:39 +02:00
parent ced2a0affa
commit 87d0d84bd8
9 changed files with 351 additions and 130 deletions
+24
View File
@@ -1,3 +1,27 @@
## Sprint 39 Frontend orchestration decomposition (2026-06-17)
Changed:
- Moved provider capability loading state and `externalApi.listProviders` calls into `frontend/src/hooks/useProviderCapabilities.ts`.
- Moved change-detection state, validation and `analysisApi.runChangeDetection` calls into `frontend/src/hooks/useChangeDetectionWorkflow.ts`.
- Moved map-layer derived state, area GeoJSON feature construction and selected-feature reset behavior into `frontend/src/hooks/useMapWorkspaceState.ts`.
- Kept `App.tsx` as the cross-module composition layer without changing panel props, API contracts, migrations or product behavior.
- Added static regression tests for the extracted orchestration hooks.
- Updated frontend README, changelog and TODO status.
Validation:
- `cd backend && python -m pytest tests/test_sprint39_frontend_orchestration_hooks.py -q` passed: 4 tests.
- `cd frontend && npm run typecheck` passed.
- `cd frontend && npm run build` passed.
Open:
- Full readiness and Tower deploy smoke should run before considering this pass deployed.
Limitations:
- Project/area/dataset cross-load orchestration still lives in `App.tsx`; it is a good next low-risk decomposition target.
Next recommended pass:
- Run full readiness and Tower deploy verification, then extract project/area loading into a dedicated hook if behavior remains stable.
## Sprint 38 Export Center preview hardening (2026-06-17)
Changed: