Commit graph

6 commits

Author SHA1 Message Date
John Lightner
ad6b6ffb49 MAESTRO: Build useExperimentWS hook with typed events, exponential backoff reconnect, and refactor LivePage to use it
Extract WebSocket connection management from LivePage into a reusable
custom hook. Supports connect/disconnect/reconnect/send, experiment
event filtering, configurable backoff, and enabled flag. 20 tests added.
2026-04-07 03:43:49 -05:00
John Lightner
59f18a11c3 MAESTRO: Extract SteeringControls into standalone component with Fork, Export, and ETA
Extracted inline SteeringControls from LivePage into standalone component.
Added Fork button (modal to clone experiment config), Export Best dropdown
(JSON/YAML/.env download), and estimated time remaining stat. LivePage
updated to import the new component. 33 tests added, all 284 tests pass.
2026-04-07 03:17:47 -05:00
John Lightner
1253994c9e MAESTRO: Extract Activity Timeline into standalone component with filter, auto-scroll, and color-coded events 2026-04-07 03:13:31 -05:00
John Lightner
cf49e9c888 MAESTRO: Extract Leaderboard into standalone component with expand, sort, and animation
Extract the inline LeaderboardTable from LivePage into a standalone
Leaderboard component with click-to-expand detail rows, sortable
columns, smooth slide-in animation for new entries, and a subtle
glow effect on the best run. 29 tests added.
2026-04-07 03:10:08 -05:00
John Lightner
16c56b13f2 MAESTRO: Implement Live Observability page with real-time WebSocket dashboard
Full LivePage implementation with 60/40 split layout:
- Left column: Activity Timeline with color-coded event cards (run.started, run.completed, new_best_found, cache_hit, run.failed), event type filtering, and auto-scroll toggle
- Right column: Leaderboard table with sortable columns, best-run highlighting, and status badges; Steering Controls with pause/resume/stop (with confirmation dialogs), progress bar, token counter, cost estimate, and cache hit rate
- WebSocket integration with exponential backoff reconnect, connection status indicator, and experiment subscription
- 35 tests covering loading/error states, WebSocket events, timeline filtering, leaderboard updates, progress tracking, and steering control interactions
2026-04-07 03:06:16 -05:00
John Lightner
4cd0b8a1c8 MAESTRO: Initialize frontend routing with 8 placeholder page components and vitest test suite
Add SetupPage, LoginPage, DashboardPage, ProjectsPage, ExperimentPage, LivePage,
ComparePage, and AdminPage as placeholder components. Wire up react-router-dom routing
in App.tsx with BrowserRouter in main.tsx. Unknown routes redirect to dashboard.
Install vitest + @testing-library/react and add 9 routing tests. Build passes cleanly.
2026-04-07 02:03:48 -05:00