Extract workbench bootstrap hook
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user