Extract workbench bootstrap hook
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 17:58:16 +02:00
parent 701a70a343
commit 8cf2dca44f
7 changed files with 176 additions and 33 deletions
+30
View File
@@ -1,3 +1,33 @@
## Sprint 43 Workbench bootstrap hook decomposition (2026-06-17)
Changed:
- Moved frontend bootstrap, project-change reload/reset and detection/segmentation result reload effects from `frontend/src/App.tsx` into `frontend/src/hooks/useWorkbenchBootstrap.ts`.
- Kept `App.tsx` as a composition root that wires hook outputs into panels; it no longer imports `useEffect`.
- Extended orchestration tests so lifecycle side effects stay in the bootstrap hook.
- Updated frontend README, changelog and TODO status.
Validation:
- `cd backend && python -m pytest tests/test_sprint39_frontend_orchestration_hooks.py -q` passed: 9 tests.
- `python -m compileall backend/app` passed.
- `cd backend && python -m pytest -W error::DeprecationWarning` passed: 193 tests.
- `bash scripts/run_readiness_check.sh` passed.
- `cd frontend && npm run typecheck` passed.
- `cd frontend && npm run build` passed.
- `cd backend && python -m alembic heads` passed: `202606120900 (head)`.
- `cd backend && python -m alembic upgrade head --sql` passed.
- `bash -n scripts/live_migration_smoke.sh` passed.
- `App.tsx` size audit after extraction: 621 lines; `useWorkbenchBootstrap.ts`: 81 lines.
Open:
- Tower deployment and runtime smoke should run before considering this pass deployed.
Limitations:
- No UX behavior, API contracts, migrations, provider fetching or AI behavior changed.
- `App.tsx` line count remains high because it explicitly wires many panel props; the remaining size is primarily composition.
Next recommended pass:
- Pick the next V1 stabilization focus: UI browser regression coverage, backend service contract audit, or golden dataset expansion.
## Sprint 42 App entrypoint cleanup (2026-06-17)
Changed: