Skip to content

feat(dashboard): OpenClaw Bay improvements#597

Merged
brokemac79 merged 6 commits into
mainfrom
codex/restore-bay-pressure
Jul 17, 2026
Merged

feat(dashboard): OpenClaw Bay improvements#597
brokemac79 merged 6 commits into
mainfrom
codex/restore-bay-pressure

Conversation

@brokemac79

@brokemac79 brokemac79 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Related: #555, #567, #569, #586, #621

What Problem This Solves

Restores the compact exact-review queue context that OpenClaw Bay lost in the broad #586 rollback. Operators viewing the experimental Bay route could still see individual crustaceans, but could no longer see whether review admission, result publication, or handoff pressure was building, draining, or stalled.

Why This Change Was Made

The Bay now presents the same bounded, cache-backed exact-review concepts as the overview in a deliberately smaller operational format: Review admission, Result publication, and Queue handoff. It preserves the main beach story - Arriving -> Setting up -> Reviewing -> Applying -> Completed - while keeping Repair as a side/recovery cove rather than a normal stage.

The UI reads the existing dashboard /api/status snapshot and cache-backed /api/health-history?range=6h endpoint. It adds no browser-side GitHub API scan, no direct GitHub API request surface, and no mutations. History retries are throttled to one attempt per browser minute, including after an HTTP failure.

User Impact

Bay viewers can see compact waiting/throughput trends and the current handoff split without leaving the visual page. Point values remain available on the charts, failed history collection is rendered as a visible gap rather than a false zero, and the display remains explicitly read-only.

Evidence

Final-head live browser proof

Tested at 2026-07-17 19:39 BST on final head fcbd951e6af0670ea310d926d7d8179a46a6d718:

pnpm run dashboard:dev -- --port 8787
open http://127.0.0.1:8787/bay-demo

The local page rendered the restored control board against the public dashboard's cache-backed status/history feed. The page surfaced its fallback explicitly because no local GitHub credentials were available:

Local visual preview - active workers and proved recent outcomes are read from the public dashboard.

REVIEW ADMISSION: 25 waiting; 25 backoff, 2 dispatching, 10 leased
RESULT PUBLICATION: 0 waiting; 1 dispatching, 4 leased
QUEUE HANDOFF: 25 pending, 3 dispatching, 14 leased; HEALTHY

The rendered page showed both compact six-hour waiting and net-rate charts with point values available to hover, plus the queue-handoff card. Those values are live cache observations and can change between refreshes; the point of this proof is that the final-head Bay UI renders the restored real panel and history, rather than a fixture-only panel.

Focused validation

pnpm run lint:dashboard
pnpm run build:dashboard
node --test test/dashboard-worker.test.ts
node --check docs/proof/openclaw-bay/run-proof.mjs
git diff --check

Result: lint and dashboard type-check passed; 137/137 dashboard-worker tests passed.

Deterministic browser proof used the real local /bay-demo page in a Docker-backed Playwright container with synthetic, redacted dashboard endpoint responses:

crabbox run --provider local-container \
  --local-container-image mcr.microsoft.com/playwright:v1.60.0-noble \
  --no-hydrate --timing-json \
  --script docs/proof/openclaw-bay/run-proof.sh

Result: 36 assertions, 19 evidence frames, 0 direct GitHub API requests, and 0 mutating requests. The deterministic proof covers compact cards, hoverable point values, bounded sampling, responsive layout, queue-count reconciliation, failed-fetch throttling, failed-collection chart gaps, and pending-only history compatibility.

Review closeout

  • codex review --uncommitted: clean after fixing two accepted telemetry-history findings (gap boundaries and pending-only compatibility).
  • codex review --base origin/main: clean; no actionable correctness issues.
  • pnpm run review -- --local-range --target-repo openclaw/clawsweeper --base origin/main: local-only ClawSweeper review completed with no blocking correctness or security finding. It correctly labels the browser fixture as synthetic; no GitHub comment, label, workflow dispatch, or other mutation was made.

Risks and Rollout

  • This is experimental, read-only dashboard context. It must not become an input to queue-control decisions.
  • The 24-ID worker sample is intentionally incomplete; aggregate totals remain the source for queue-level counts and the UI labels omitted samples.
  • A failed historical collection is shown as an unavailable interval, not interpreted as zero backlog or zero throughput.
  • The live browser proof above establishes final-head rendering against dashboard cache data; it does not claim the volatile queue values are a production SLO.

Maintainer Direction

The current OpenClaw maintainer task owner explicitly requested this narrow restoration after #586 and requested final-head live proof before it is considered for merge. The intended product direction is therefore limited to this experimental, read-only Bay observability surface; it does not reinstate queue control, scheduling, workflow, or mutation behaviour.

Attribution

This restores bounded observability from #555 and #569 after #586. #569 carried the Bay pressure work from #567; original provenance is retained through the cherry-picks. The current queue semantics from #621 remain authoritative.

No changelog change is included.

@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper review

@clawsweeper

clawsweeper Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper review

@brokemac79
brokemac79 force-pushed the codex/restore-bay-pressure branch from 51febf9 to 6ff6d10 Compare July 15, 2026 19:57
@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper review

@clawsweeper

clawsweeper Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@brokemac79
brokemac79 force-pushed the codex/restore-bay-pressure branch 2 times, most recently from a6f9e16 to e07f5c3 Compare July 16, 2026 06:38
@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal priority bug or improvement with limited blast radius. labels Jul 16, 2026
@clawsweeper

clawsweeper Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 17, 2026, 2:45 PM ET / 18:45 UTC.

Summary
This PR restores compact, read-only exact-review admission, publication, handoff, and six-hour history telemetry to the OpenClaw Bay dashboard using existing cache-backed dashboard endpoints.

Reproducibility: not applicable. This PR adds an experimental observability capability rather than repairing a reported broken contract. The supplied final-head live output provides a concrete verification path for the new dashboard behavior.

Review metrics: 2 noteworthy metrics.

  • Patch surface: 10 files affected; 1,110 added, 52 removed. The feature spans dashboard projection, UI rendering, proof artifacts, documentation, and focused regression coverage, so maintainer review should assess the end-to-end observability boundary.
  • Focused dashboard validation: 137/137 reported dashboard-worker tests; 36 browser assertions. The supplied checks cover the queue telemetry and its visual projection, including history-gap and retry behavior.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🐚 platinum hermit
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • Confirm the experimental Bay panel remains an observation-only display and review the end-to-end 10-file patch as one dashboard feature.

Risk before merge

  • [P1] The experimental Bay panel must remain an observation-only consumer of cache-backed dashboard data; queue admission, scheduling, and mutation decisions should not begin depending on its derived pressure or history display.

Maintainer options:

  1. Decide the mitigation before merge
    Merge only the bounded, read-only Bay restoration after a maintainer confirms the experimental dashboard scope, preserving aggregate queue totals as authoritative and treating the worker sample as explicitly incomplete context.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • No discrete mechanical repair was identified; the remaining action is normal maintainer review of an already-scoped feature PR.

Security
Cleared: The reviewed patch surface is dashboard telemetry, UI, tests, docs, and proof fixtures; the supplied diff introduces no new dependency source, secret access, workflow permission change, or code-execution path.

Review details

Best possible solution:

Merge only the bounded, read-only Bay restoration after a maintainer confirms the experimental dashboard scope, preserving aggregate queue totals as authoritative and treating the worker sample as explicitly incomplete context.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this PR adds an experimental observability capability rather than repairing a reported broken contract. The supplied final-head live output provides a concrete verification path for the new dashboard behavior.

Is this the best way to solve the issue?

Yes. Reusing the existing cache-backed /api/status and /api/health-history dashboard surfaces, with bounded samples and no browser-side GitHub calls or mutations, is the narrowest maintainable restoration path supported by the supplied diff and related history.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 556107bfd1a9.

Label changes

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body supplies final-head after-fix live output from the local Bay page against the public cache-backed dashboard feed, supplemented by deterministic browser evidence; it demonstrates the restored panel rather than only unit-test behavior.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body supplies final-head after-fix live output from the local Bay page against the public cache-backed dashboard feed, supplemented by deterministic browser evidence; it demonstrates the restored panel rather than only unit-test behavior.
  • remove status: 📣 needs proof: Current PR status label is status: 👀 ready for maintainer look.
  • remove rating: 🦪 silver shellfish: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.

Label justifications:

  • P2: This is a bounded experimental dashboard improvement with operational usefulness but no demonstrated urgent user-facing regression.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body supplies final-head after-fix live output from the local Bay page against the public cache-backed dashboard feed, supplemented by deterministic browser evidence; it demonstrates the restored panel rather than only unit-test behavior.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body supplies final-head after-fix live output from the local Bay page against the public cache-backed dashboard feed, supplemented by deterministic browser evidence; it demonstrates the restored panel rather than only unit-test behavior.
Evidence reviewed

What I checked:

Likely related people:

  • vincentkoc: Authored the merged pressure-telemetry commit carried by this branch and the related restoration history. (role: introduced merged telemetry foundation; confidence: high; commits: 5029f5332d7f, 41ea43be6d25; files: dashboard/exact-review-health.ts, dashboard/exact-review-queue.ts, dashboard/worker.ts)
  • hxy91819: Authored the merged capacity-accounting change that maintains the same dashboard status and independent review/publication lane surface. (role: recent adjacent dashboard contributor; confidence: medium; commits: 0a17516dd286, a28e007d7b28; files: dashboard/worker.ts, dashboard/exact-review-queue.ts, test/dashboard-worker.test.ts)
  • steipete: Authored the merged exact-review debounce and backpressure work whose ready/admissible queue semantics are displayed by this PR. (role: recent queue-semantics contributor; confidence: medium; commits: 9fa43413a280, cdd815c1eb99; files: dashboard/exact-review-queue.ts, test/dashboard-worker.test.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (4 earlier review cycles)
  • reviewed 2026-07-16T06:45:20.305Z sha e07f5c3 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-16T07:25:53.343Z sha e07f5c3 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-17T18:18:12.701Z sha fcbd951 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-17T18:29:37.054Z sha fcbd951 :: needs real behavior proof before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. and removed proof: sufficient Contributor real behavior proof is sufficient. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jul 16, 2026
vincentkoc and others added 6 commits July 17, 2026 14:45
* feat(dashboard): expose exact-review pressure telemetry

Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com>

* docs(dashboard): describe exact-review pressure telemetry

Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com>

* feat(dashboard): render exact-review pressure

Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com>

* chore: remove unreleased changelog entry

---------

Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com>
Co-authored-by: brokemac79 <martin_cleary@yahoo.co.uk>
(cherry picked from commit 41ea43b)
@brokemac79
brokemac79 force-pushed the codex/restore-bay-pressure branch from e07f5c3 to fcbd951 Compare July 17, 2026 18:15
@brokemac79 brokemac79 changed the title fix(dashboard): restore Bay review handoff pressure feat(dashboard): align OpenClaw Bay queue telemetry Jul 17, 2026
@brokemac79 brokemac79 changed the title feat(dashboard): align OpenClaw Bay queue telemetry feat(dashboard): OpenClaw Bay improvements Jul 17, 2026
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Jul 17, 2026
@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 17, 2026
@brokemac79
brokemac79 merged commit f5196b1 into main Jul 17, 2026
18 checks passed
@brokemac79
brokemac79 deleted the codex/restore-bay-pressure branch July 17, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants