Extracted cron utilities to utils/schedule.js, all state management
(15+ useState) to useSettingsForm hook, and 5 config sections + 2 dialogs
+ 1 status badge into focused components. SettingsPage reduced from
~700 lines to ~130 line container.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaced ~800 line monolithic WorkbenchPage.jsx with ~80 line container
delegating to useTaskStream (WebSocket events), useTaskRunner (start logic),
TaskControlPanel, TaskProgressBar, StageStatsPanel (config-driven 40+
StatCards), TaskInfoPanel, TaskFileList, and TaskLogStream.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaced 800+ line monolithic ExceptionPage.jsx with a ~180 line
container that delegates to useExceptionSummary, useExceptionList,
useExceptionDetail, useRepairTask, and useWizardState hooks.
Renders ExceptionWizard (wizard mode) or ExceptionListView (advanced
mode), with MissingTagsInlinePanel as escape hatch.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>