Skip to content

feat(dashboard): split OpenClaw Bay publishing lane - #733

Merged
brokemac79 merged 4 commits into
mainfrom
codex/bay-publishing-lane
Jul 25, 2026
Merged

feat(dashboard): split OpenClaw Bay publishing lane#733
brokemac79 merged 4 commits into
mainfrom
codex/bay-publishing-lane

Conversation

@brokemac79

@brokemac79 brokemac79 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Align OpenClaw Bay with the current exact-review journey: Arriving → Setting up → Reviewing → Publishing → Applying & writing → Completed. Repair Cove remains the exception path.
  • Keep an item in Applying & writing while a durable result-publication batch actively owns it, exposing its bounded batch identity rather than letting it disappear between publication and acknowledgement.
  • Continue to show compact review admission, result-publication, handoff, and State-writer telemetry using the dashboard's existing cached state.
  • Keep permanently parked/retry-exhausted recovery work in Repair Cove, rather than presenting it as normal progress.

Problem

The batch publisher is intentionally targetless at the GitHub Actions-job level, while its durable state lease owns individual GitHub items. Bay could identify the publisher as a live worker but could not reliably show which items it was applying and writing. That made an item appear to vanish after Publishing.

Implementation

  • Project only the active, unfinished durable batch membership already held by ExactReviewPublicationBatchStore.
  • Carry that bounded batch_id into the public Bay projection, then render the matching item in Applying & writing with the batch owner in its detail label.
  • Keep legacy five-stage queue snapshots compatible during a rolling deploy by normalising their former applying records into Publishing.
  • Explain the boundary in the lane help: state-commit/follow-up ownership is visible, but a separately routed GitHub follow-up is not presented as a remotely confirmed write.
  • Once the publisher acknowledges the batch, its durable active membership disappears and the item can advance to the existing terminal path.

Data and API boundary

Bay reuses the dashboard's existing /api/status, cached /api/health-history, and durable exact-review queue state. This change adds no direct GitHub API calls, repository scans, polling loop, retained event history, or mutation.

The local browser proof recorded 0 direct GitHub API requests and 0 mutation requests. This remains lighter than the operational Overview: Bay reads the same dashboard status payload and does not independently inspect repositories or GitHub items.

Validation

  • node --test --test-concurrency=1 test/exact-review-publication-batches.test.ts44 passed.
  • node --test --test-concurrency=1 --test-name-pattern="Bay queue projection|OpenClaw Bay is" test/dashboard-worker.test.ts4 passed.
  • pnpm run build:dashboard
  • pnpm run lint:dashboard
  • pnpm run lint:scripts
  • pnpm exec oxfmt --check dashboard/bay-page.ts dashboard/exact-review-publication-batches.ts dashboard/exact-review-queue.ts docs/proof/openclaw-bay/run-proof.mjs test/dashboard-worker.test.ts test/exact-review-publication-batches.test.ts
  • git diff --check
  • Local Docker-backed Crabbox browser proof (cbx_b6556bb75d4f, mcr.microsoft.com/playwright:v1.60.0-noble) against b211a730268e04fa9373886ce7b5984dea86909c48 assertions, 23 evidence frames, no direct GitHub API requests, no mutations. The checked-in proof runner covers the six-stage layout, Publishing/Applying & writing projection, Repair Cove, telemetry cards, range controls, constrained/portrait layouts, and tide behaviour.

The aggregate pnpm run check was also attempted locally. Its only failure was the repository-wide oxfmt --check gate reporting formatting differences across 493 files, including untouched source and workflow files. This Windows-checkout baseline is outside this UI patch; the six touched files pass the scoped formatter check above.

Review closeout

  • Dirty-patch Codex review: codex review --uncommitted — clean; no actionable correctness findings.
  • Branch Codex review: codex review --base origin/main — clean; no actionable defects.
  • Local read-only ClawSweeper range review: pnpm run review -- --local-range --target-repo openclaw/clawsweeper --base origin/mainkeep_open, medium confidence; one active feature branch item reviewed, with no correctness or security finding. No GitHub comment, label, merge, or hosted workflow was triggered.

Risks / rollout

  • This is intentionally a bounded ownership view, not a new per-item GitHub-write tracker. A later, separate workflow/state change would be needed to place a card only after a routed comment writer confirms the remote GitHub mutation itself.
  • The active-batch source is bounded and ephemeral. Expired, failed, or acknowledged ownership is not retained as new dashboard history.
  • Bay continues to expose a scrubbed public queue sample and aggregate counts rather than becoming a broad GitHub inspection surface.

User-facing note

OpenClaw Bay now makes the post-publication holding stage honest and visible: a crustacean stays in Applying & writing while its durable publisher batch owns it, instead of appearing to disappear between Publishing and the terminal pool.

@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper review

@clawsweeper

clawsweeper Bot commented Jul 21, 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 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. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. labels Jul 22, 2026
@clawsweeper

clawsweeper Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed July 25, 2026, 3:52 AM ET / 07:52 UTC.

ClawSweeper review

What this changes

This PR splits OpenClaw Bay’s result-publication display from deterministic applying work, adds State writer telemetry and recovery-state rendering, and updates the responsive dashboard and its focused tests.

Merge readiness

Blocked until real behavior proof is added - 4 items remain

Keep this PR open. The dashboard direction is coherent and the supplied checks/tests show no discrete correctness or security defect, but the reported local Crabbox run is not accompanied by inspectable after-fix browser evidence, so real behavior proof remains required before merge.

Priority: P3
Reviewed head: 0d24884fe8bc6b7fb46f114530d3acc7074f50f4

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The patch has focused implementation and test evidence, but it is not merge-ready until the claimed real browser behavior is independently inspectable.
Proof confidence 🧂 unranked krab (1/6) Needs real behavior proof before merge: The PR describes a local Docker-backed Crabbox browser run, but the supplied review material does not provide an inspectable redacted screenshot, recording, terminal output, live output, log, or linked artifact that directly shows the after-fix dashboard. Add that evidence and redact private endpoints, IP addresses, tokens, and other sensitive details; updating the PR body should trigger a fresh review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs real behavior proof before merge: The PR describes a local Docker-backed Crabbox browser run, but the supplied review material does not provide an inspectable redacted screenshot, recording, terminal output, live output, log, or linked artifact that directly shows the after-fix dashboard. Add that evidence and redact private endpoints, IP addresses, tokens, and other sensitive details; updating the PR body should trigger a fresh review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed 5 items Queue-stage implementation: The proposed queue projection adds a distinct Publishing stage, sends parked bounded-recovery work to Repair Cove, and accepts durable batch-owned item keys so only actively owned publisher members appear as Applying.
Worker and capacity implementation: The dashboard worker separates active dashboard workers from Codex-capacity counts, allowing publisher work to remain visible without being counted as Codex review capacity.
Focused regression coverage: The branch adds queue-projection and dashboard assertions for Publishing, batch-owned Applying, parked recovery work, State writer telemetry, and responsive Bay behavior.
Findings None None.
Security None None.

How this fits together

OpenClaw Bay is ClawSweeper’s operator dashboard for the exact-review queue. It combines bounded durable queue state with active GitHub workflow-worker data and presents the resulting review, publication, applying, and recovery status to operators.

flowchart LR
  A[Durable exact-review queue] --> C[Bay projection]
  B[Active workflow workers] --> D[Worker classification]
  C --> E[Publishing and recovery stages]
  D --> F[Applying stage and capacity totals]
  E --> G[OpenClaw Bay dashboard]
  F --> G
  H[Cached health history] --> G
Loading

Before merge

  • Add real behavior proof - Needs real behavior proof before merge: The PR describes a local Docker-backed Crabbox browser run, but the supplied review material does not provide an inspectable redacted screenshot, recording, terminal output, live output, log, or linked artifact that directly shows the after-fix dashboard. Add that evidence and redact private endpoints, IP addresses, tokens, and other sensitive details; updating the PR body should trigger a fresh review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • Resolve merge risk (P1) - The new stage assignment relies on workflow metadata and bounded durable batch membership; inspectable after-fix browser evidence is still needed to confirm that real dashboard data renders the intended Publishing, Applying, and Repair Cove distinctions.
  • Resolve merge risk (P1) - The supplied validation claims local Crabbox coverage, but the review context does not include a viewable redacted screenshot, recording, terminal capture, log, live output, or linked artifact for independent verification.
  • Complete next step (P2) - Await contributor-supplied real browser proof; this is not a mechanical code repair that ClawSweeper can safely perform on the contributor’s behalf.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Dashboard surface 7 files affected; 693 added, 67 removed The change spans queue projection, worker aggregation, visual rendering, proof fixtures, and focused dashboard tests.
Focused coverage 295 test lines added, 18 changed Most behavioral validation is concentrated in the existing dashboard-worker test surface.

Merge-risk options

Maintainer options:

  1. Decide the mitigation before merge
    Attach redacted, inspectable after-fix browser proof that shows representative Publishing, Applying, Repair Cove, and State writer states from the local Bay demo, then retain the focused queue-projection regression coverage.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Technical review

Best possible solution:

Attach redacted, inspectable after-fix browser proof that shows representative Publishing, Applying, Repair Cove, and State writer states from the local Bay demo, then retain the focused queue-projection regression coverage.

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

Not applicable: this PR adds an operator-facing dashboard projection rather than repairing a reported failing behavior. The source diff and focused tests define the proposed states, but they do not constitute real browser proof.

Is this the best way to solve the issue?

Unclear: separating durable publication from active deterministic applying work is a coherent use of the existing queue and worker data, but the best presentation cannot be confirmed until inspectable after-fix browser evidence shows the projected states together.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 01e6976cbe6f.

Labels

Label justifications:

  • P3: This is an operator-dashboard observability enhancement rather than a current user-facing reliability regression or release blocker.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR describes a local Docker-backed Crabbox browser run, but the supplied review material does not provide an inspectable redacted screenshot, recording, terminal output, live output, log, or linked artifact that directly shows the after-fix dashboard. Add that evidence and redact private endpoints, IP addresses, tokens, and other sensitive details; updating the PR body should trigger a fresh review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Evidence

What I checked:

  • Queue-stage implementation: The proposed queue projection adds a distinct Publishing stage, sends parked bounded-recovery work to Repair Cove, and accepts durable batch-owned item keys so only actively owned publisher members appear as Applying. (dashboard/exact-review-queue.ts:6932, 0d24884fe8bc)
  • Worker and capacity implementation: The dashboard worker separates active dashboard workers from Codex-capacity counts, allowing publisher work to remain visible without being counted as Codex review capacity. (dashboard/worker.ts:3255, 0d24884fe8bc)
  • Focused regression coverage: The branch adds queue-projection and dashboard assertions for Publishing, batch-owned Applying, parked recovery work, State writer telemetry, and responsive Bay behavior. (test/dashboard-worker.test.ts:1999, 0d24884fe8bc)
  • Relevant merged queue history: Merged publication and dispatch-recovery work establishes the queue states this dashboard change visualizes; the PR explicitly rebased its design on that architecture rather than introducing a second queue path. (dashboard/exact-review-queue.ts:6932, 3cb93c6a16bf)
  • Proof gate remains unmet: The latest completed ClawSweeper review at the same head SHA recorded that the claimed local browser run had no inspectable screenshot, recording, terminal output, live output, or linked artifact showing the after-fix dashboard. The supplied current context still contains validation claims but no inspectable proof artifact. (0d24884fe8bc)

Likely related people:

  • snowzlmbot: Merged fresh-authority publication work established the durable publication semantics that this dashboard projection labels as Publishing. (role: publication-path contributor; confidence: medium; commits: 3cb93c6a16bf; files: dashboard/exact-review-queue.ts)
  • Takhoffman: Merged dispatch-failure classification work introduced parked recovery states that this PR renders in Repair Cove. (role: recent queue-recovery contributor; confidence: medium; commits: cf01fe706bb7; files: dashboard/exact-review-queue.ts)
  • brokemac79: The author also contributed merged exact-review admission and tuple-failure recovery work that is directly adjacent to the publisher and recovery states represented here. (role: recent adjacent contributor; confidence: medium; commits: 8006cf0bcf7f; files: dashboard/exact-review-queue.ts, test/dashboard-worker.test.ts)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Attach a redacted screenshot, recording, or terminal/live-output artifact that shows the local after-fix Bay states and responsive layout.
  • Keep the evidence tied to head 0d24884fe8bc6b7fb46f114530d3acc7074f50f4 so reviewers can verify it matches the submitted patch.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
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.

Workflow

  • 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.

History

Review history (3 earlier review cycles)
  • reviewed 2026-07-21T03:12:22.593Z sha 1719660 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-21T03:54:28.186Z sha 1719660 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-25T06:09:02.473Z sha 0d24884 :: needs real behavior proof before merge. :: none

@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 25, 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: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@brokemac79

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@brokemac79
brokemac79 force-pushed the codex/bay-publishing-lane branch from 0d24884 to b211a73 Compare July 25, 2026 13:45
@clawsweeper

clawsweeper Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: feat(dashboard): split OpenClaw Bay publishing lane This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@brokemac79
brokemac79 merged commit b7ef3b0 into main Jul 25, 2026
9 checks passed
@brokemac79
brokemac79 deleted the codex/bay-publishing-lane branch July 25, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant