Add read-only experiment viewer with Harbor inspection - #30
Add read-only experiment viewer with Harbor inspection#30zimuwang-real wants to merge 17 commits into
Conversation
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (27)
📝 WalkthroughWalkthroughAdded a read-only ChangesExperiment viewer
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant CLI
participant FastAPI
participant SnapshotStore
participant WorkspaceReader
participant HarborBridge
participant Browser
CLI->>FastAPI: run_viewer(workspace, host, port_spec)
Browser->>FastAPI: GET snapshot or generation data
FastAPI->>SnapshotStore: refresh workspace state
SnapshotStore->>WorkspaceReader: read workspace sources
SnapshotStore->>HarborBridge: refresh Harbor job federation
SnapshotStore-->>FastAPI: return viewer snapshot
FastAPI-->>Browser: return JSON snapshot and artifact metadata
Browser->>FastAPI: poll snapshot every three seconds
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
Summary
evolve viewcommand for generated experiment workspacesWhy
Experiment progress and evidence currently live across archive rows, stage artifacts, evaluation records, and Harbor job folders. This viewer provides one simple local surface for inspecting that evidence without changing experiment state.
Notable fixes
Validation
uv run pytest -q: 557 passednode --test tests/frontend/viewer-ui.test.mjs: 5 passednode --check src/evolve/viewer/static/app.jsuv run ruff check .Safety
The viewer binds to loopback by default, exposes registered/bounded artifact reads, and permits only GET/HEAD/OPTIONS. It is an inspection surface, not an authorization boundary.
Summary by CodeRabbit
New Features
evolve viewcommand.Documentation
Tests