[codex] add operator console ops summary - #126
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR introduces an operator console feature comprising a new ChangesOperator Console Feature
Sequence DiagramsequenceDiagram
participant Dashboard as Dashboard (app.js)
participant API as Server (/v1/ops)
participant Ledgers as SDLC Ledgers
participant Events as Control Events
Dashboard->>API: GET /v1/ops
API->>Ledgers: Load active runs & steps
Ledgers-->>API: Run intent data
API->>Events: Fetch recent control events
Events-->>API: Event list (capped)
API->>API: Compute state, stage, blockers,<br/>artifacts, next_action
API-->>Dashboard: ops.summary JSON
Dashboard->>Dashboard: renderOperatorConsole()
Dashboard->>Dashboard: Render run cards, events, summary
Note over Dashboard: Refresh every 15s
Estimated Code Review Effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly Related PRs
Suggested Reviewers
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@dashboard/app.js`:
- Around line 546-555: The catch branch of fetchOps leaves appState.ops
unchanged on error, causing stale operator UI; update the catch in fetchOps to
clear the snapshot by setting appState.ops = null and then call
renderOperatorConsole() (and keep the console.warn) so the UI reflects the
failure instead of showing old blockers/review/gate state; ensure these changes
are made in the fetchOps function referencing appState.ops and
renderOperatorConsole.
In `@src/cli/serve.rs`:
- Around line 1286-1293: The /v1/ops payload is sending large unused fields;
update the serialization to only emit fields the dashboard reads by removing the
heavy fields: stop including recent_events[].data when building recent_events
(see the recent_events.push block) and remove runs[].steps from the runs
serialization (the code that constructs runs for the response). Ensure the
response still contains workspace, event, agent, timestamp, correlation_id, and
any minimal run metadata the dashboard needs, but omit the full data and steps
blobs to cut I/O, serialization, and network overhead.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 04e831f7-8af6-4f94-b707-56633ac334d1
📒 Files selected for processing (7)
README.mddashboard/app.jsdashboard/index.htmldashboard/style.cssdocs/OPERATOR_DEBUGGING.mdsrc/cli/serve.rssrc/health/mod.rs
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Summary
Validation
Notes
Summary by CodeRabbit
New Features
/v1/opsAPI endpoint providing operator console summary dataDocumentation
/v1/opsendpoint