Integrate compat monitor into resource observability split#210
Integrate compat monitor into resource observability split#210shuxueshuxue wants to merge 74 commits intodevfrom
Conversation
|
Latest light-theme compat monitor pass is now on branch at . Fresh proof from the active integration worktree:
==================================== ERRORS ====================================
Scope of this pass:
|
|
Latest light-theme compat monitor pass is now on branch issue-205-monitor-transplant at dfb6e80. Fresh proof from the active integration worktree:
Scope of this pass:
|
|
Follow-up trace/detail pass is now on branch issue-205-monitor-transplant at c598cf4. This cut stays inside the compat monitor frontend and does not widen backend/storage scope. Fresh proof:
Touched files:
|
|
Detail-page follow-up is now on branch issue-205-monitor-transplant at ceaac92. This pass stayed frontend-only and targeted the remaining deep monitor pages. Fresh proof:
Touched files:
|
|
One more frontend-only correctness pass is now on branch issue-205-monitor-transplant at cc8a156. This closes a real drill-down bug discovered via Playwright, not just polish. Fresh facts:
What changed:
Verification:
|
|
Latest closeout on top of What changed:
Fresh verification:
No new blocking findings from the final Claude review; remaining notes were non-blocking debt on list pages. |
|
Pushed What changed:
Fresh verification:
This does not yet solve the larger IA questions (dashboard/resources/orphan lease semantics/provisional eval operator surface), but the thread list contract is no longer lying. |
|
D4 phase-1 landed on What changed:
Fresh proof:
Honest boundary:
|
|
Lease semantics follow-up landed on What changed:
Fresh proof:
Why this matters:
Honest boundary:
|
|
Latest cut on closes the first honest pass on D2 provisional eval UX. Backend now exposes from , so the compat route still owns fact retrieval but not the new operator interpretation. On the real provisional run , the detail page now opens with , explicit artifact/log paths, and actionable next steps; the old sparse provisional score grid is folded behind instead of occupying the first screen. Fresh proof on this head: .... [100%]
vite v7.3.1 building client environment for production... |
|
Latest cut on Fresh proof on this head:
That browser pass confirmed the page now surfaces |
|
Latest cut on Claude/CCM suggested a bounded frontend-only regrouping that reused the existing Fresh proof on this head:
That browser pass now reads the live local dataset as |
|
Latest cut on 87ca560 lands D4 phase-2 polish on the monitor resources surface. This does not change the contract split: monitor still reads the global What changed is the UI quality of the monitor provider surface itself:
One deliberate monitor-specific deviation from the product page remains: unavailable providers stay clickable here, because ops needs to inspect bad providers rather than having the card disabled. Fresh proof on this head:
The live browser pass confirmed the global resources page still reads the real local dataset while presenting the provider surface with much higher scan quality than the previous plain metric-card version. |
|
Latest cut on 8e10d90 lands D4 phase-3 on the monitor resources page. The selected-provider pane no longer jumps straight from summary pills to the raw session table; it now adds a lease-card drill-down layer first. Why this matters: on the monitor side, the raw session table is still the truth surface, but it is also the noisiest surface. The new lease card grid gives operators a product-like intermediate layer without importing product components or violating the contract split. Current flow on
Fresh proof on this head:
That browser pass confirmed the selected provider detail now shows |
|
Latest cut on 24d09b6 cleans up the legacy This pass keeps the route alive but changes the first screen to:
That keeps the truth surface intact while removing the old “single alarming dump” first impression. |
|
D2 follow-up is now on branch at 857adb7. This round hardens the eval operator contract instead of adding more UI polish:
Fresh verification on this commit:
This keeps the change backend-first and database-agnostic: the compat monitor route still owns fact retrieval, while operator interpretation stays in backend/web/services/monitor_service.py. |
|
Monitor frontend follow-up is now on branch at b6c1d35. This round stayed deliberately small and frontend-only:
This is the same contract surface as before. No backend API changes in this cut. Fresh verification on this commit:
This is a density/attention cut, not a structural rewrite. The next honest gap remains the deeper sandbox-sheet / drill-down family if we want true parity with the product resources experience. |
|
Monitor resources drill-down follow-up is now on branch at 2014e01. This round adds the smallest local deep-drill layer I could land without touching backend contracts:
Fresh verification on this commit:
This is the next small step toward product-level resources parity without violating the monitor/product contract split. |
|
Monitor resources follow-up is now on branch at b42d9e5. This round keeps the new lease drill-down but makes the truth table below obey it:
Still no backend changes. Existing monitor payload only. Fresh verification on this commit:
This is still a contract-preserving information-ordering cut, not a backend expansion. |
|
UI 现代化 / hierarchy slice pushed in What changed:
Fresh verification:
|
|
Resources console split pushed in What changed:
Fresh verification:
|
|
Lease-detail density slice pushed in What changed:
Fresh verification:
|
|
Landed What landed
Proof
Honest boundary
|
|
Landed another bounded cleanup UX slice on top of
Fresh proof:
This keeps the first bulk affordance honest: explicit visible rows only, re-fetch-backed state change only. |
|
Added the first misoperation guardrail for monitor cleanup on top of
Fresh proof:
This keeps the first bulk cleanup affordance honest and harder to fat-finger without widening the backend or polluting product |
bcce157 to
0d2f997
Compare
|
Brutal integration update after rebasing #210 onto latest dev and landing compatibility fix . Fresh controlled runtime:
What is green on this branch:
What is NOT being counted as #210 regression:
So the current branch verdict is: #210's monitor/resource facade surface is healthy on latest dev; remaining browser failures found in this sweep are either local bringup mistakes or existing latest-dev marketplace/provider dependency debt, not monitor-transplant regressions. |
|
Brutal integration update after rebasing #210 onto latest dev and landing compatibility fix 0e183cf. Fresh controlled runtime:
What is green on this branch:
What is NOT being counted as #210 regression:
So the current branch verdict is: #210's monitor/resource facade surface is healthy on latest dev; remaining browser failures found in this sweep are either local bringup mistakes or existing latest-dev marketplace/provider dependency debt, not monitor-transplant regressions. |
Summary
#182onto the current resource-observability branch instead of continuing from the stripped-down monitor shell#205/#209intact while restoringthreads / traces / leases / evaluationmonitor flows/api/monitor/threadscrashed whenevaluation_jobswas absentWhy This PR Exists
#182has the right monitor product surface, but it is hundreds of commits behind currentdev#209has the right resource split and Supabase-aware seams, but it was built on the wrong monitor baseline#182, resource split + wiring work from#209What Changed In This Cut
#182/api/resources/*product split from#209/api/monitor/resourcesas the global monitor/admin surface/threadsThreads / Traces / Leases / EvalDivergedis folded intoLeasesas a filtered view (/leases?diverged=1)Eventsremains reachable contextually from leasesevaluation_jobsReal Evidence
8013backend /5175monitor)/threadsrendered the light monitor shell and hitGET /api/monitor/threads?offset=0&limit=50 => 200/evaluationrendered the eval shell and hitGET /api/monitor/evaluations?limit=30&offset=0 => 200/leases?diverged=1rendered the filtered lease view with contextual links back to all leases / eventsVerification
env -u ALL_PROXY -u all_proxy -u HTTPS_PROXY -u https_proxy -u HTTP_PROXY -u http_proxy uv run pytest -q tests/Unit/monitor/test_monitor_compat.py tests/Integration/test_monitor_resources_route.pycd frontend/monitor && npm run buildenv -u ALL_PROXY -u all_proxy -u HTTPS_PROXY -u https_proxy -u HTTP_PROXY -u http_proxy uv run ruff format --check backend/web/monitor.py tests/Unit/monitor/test_monitor_compat.pyLinks