Business Hub: pipeline next-action + executive rollup on Command Center, Decision Log, context-pressure/goal-loop attention#218
Conversation
run.pipelineRollup carries schema_version, pipeline status, retries, context_pressure, checkpoints, goal_loop (with the BLE-4 recommendation as the last verdict) and a classified next_action whose sentence comes from recommendPipelineAction — the same brain as the pipeline status CLI, never a client-side re-implementation. Persisted pipeline-state.json preferred; fully-parsed runs summarize in memory (read-only); index-served lite runs without a persisted rollup stay null. Lite runs also get their manifest schema_version restored (#82 stamps it, #156 renders it). Part of #156, #215; supports #94. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…p and July attention signals - Pipeline Next Action card (#156): the deterministic recommendation from the run's pipeline-state rollup — the exact sentence the pipeline status CLI prints — for the scoped run, with a chip that jumps to the tab holding the action (Approvals for approvals, Alerts & Guardrails for blocked or retrying stages). Honest empty states when no runs or no rollup exist. - Executive rollup strip (#94): runs by status, spend so far, tokens, task pass-rate, open decisions — computed from the scoped snapshot — plus the schema-version badge (rollup + manifest) when a single run is selected (#156). - Needs Attention (#215 slice): context-pressure warning count with the long-loop quality-risk wording, and active goal loops with iteration, last verdict and criteria progress. The page module injects its own panels (the shared skeleton in ui/pages/index.js stays untouched for the parallel page wave). Part of #156, #215; part of #94. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Chronological record of resolved and waived decisions across the runs in scope (#94): who decided, when, the recorded resolution (or an honest 'waived without a recorded resolution'), impact, the stage the decision gated, and a keyboard-reachable run link into the run drawer. Newest first; the pending queue stays as-is above it. Closes the Decision Log half of #94. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixture-shaped run (goal loop iteration 1 with a RETRY recommendation, one context_pressure_warning, a BLOCKED testing task with guardrail_triggered, checkpoints, schema_version 2 manifest) drives the state assertions: - next-action text is byte-identical to recommendPipelineAction (no second brain) - approval blockers outrank everything in the classification - July signals (context pressure, goal loop verdict) roll up per run - index-served lite runs keep the persisted rollup + manifest schema_version - corrupt persisted state never breaks the snapshot or fabricates data - both page modules carry their injected panels, chip routing, empty states - the assembled bundle still compiles and stays inline-script safe Covers #94, #156 (command slice), #215 (context-pressure/goal-loop slice). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Warning Review limit reached
Next review available in: 45 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
✨ 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 |
…stale-as-live (#218 review) The Command Center hero rendered recommendPipelineAction(state) from the persisted pipeline-state.json and always captioned it "Same recommendation the CLI computes." On an active run whose pipeline-state.json lags the live event stream, that pinned a stale recommendation while the page chrome read "live" — the exact "never let stale data look live" failure. - compactPipelineRollup: compare state.generated_at to the newest event ts (data already in the snapshot — no extra read) and expose { generated_at, stale, events_behind }. A freshly built rollup stamps generated_at = now, so it is never falsely stale. - Command Center: the hero's source line now reflects ITS OWN freshness — fresh keeps the CLI-parity line; stale shows an honest "N newer events since; run pipeline status --regenerate" hint with an amber marker. - Deferred to #221: persist the compact rollup in the run index so completed/index-served runs cost zero file reads per poll (the proper fix touches rollup-index.js), plus reading the real goal_evaluated fields. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts: # src/observability/dashboard/ui/styles.js
Summary
Command-pages slice of the 2026-07-06 UI wave (after the #216 page-module split).
State layer (
state/index.js, append-only[wave:command]block)run.pipelineRollup— a compact summary of itspipeline-state.json: schema_version, pipeline status, retries,context_pressure, checkpoints,goal_loop(BLE-4recommendationused as the last verdict), and a classifiednext_actionwhose sentence comes fromrecommendPipelineAction— the same brain as thepipeline statusCLI, never re-implemented client-side.pipeline-state.jsonpreferred; fully-parsed runs summarize in memory; index-served lite runs without a persisted rollup staynull(honest empty state, no guess). Any per-run failure yieldsnull, never a broken snapshot.schema_versionrestored with one tiny read (the rollup index drops it; P0: schema_version on run manifests + corruption surfacing in Diagnostics #82 stamps it, this PR renders it).Command Center (
pages/command-center.js)rollup v1 · manifest v2(mono) when a single run is selected;v?for unstamped files, never fabricated.Context pressure: N warnings — long-loop quality risk(detect-only wording — nothing claimed pruned) andGoal loop running — iteration Nwith last verdict + criteria progress.ui/pages/index.js) is untouched so the parallel page wave stays file-disjoint.Decisions page (
pages/decisions.js)Tests
tests/dashboard-command-pages.test.js(7 tests): next-action text byte-identical torecommendPipelineAction; approval blockers outrank everything; July signals rolled up; lite runs keep persisted rollup + manifest schema_version; corrupt persisted state never breaks the snapshot; page modules carry panels/chips/empty states; bundle still compiles and stays inline-script safe.Verification
npm test662 pass ·npm run lint·npm run validate(196 agents) ·node scripts/security-audit.mjs·git diff --check— all green.context_pressure_warning, BLOCKED005-testingwithguardrail_triggered, schema_version 2 manifest): next-action card shows the CLI's retry sentence for stage 08-testing with task 005-testing; exec strip shows $4.87 / 1.7M tokens / 100% pass rate / 1 open decision; schema badge readsrollup v1 · manifest v2when the run is scoped; Needs Attention lists the context-pressure and goal-loop rows; Decision Log renders DEC-001 resolved / DEC-002 waived newest-first; chip navigation verified; zero console errors.Closes #94
Part of #156 (Command Center next-action + schema-version visibility; the retry-trace/feed remainder ships separately)
Part of #215 (context-pressure + goal-loop Needs-Attention slice)
🤖 Generated with Claude Code