feat(dashboard): expose apply lane health telemetry#732
Conversation
|
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
Codex review: needs real behavior proof before merge. Reviewed July 20, 2026, 11:17 PM ET / July 21, 2026, 03:17 UTC. Summary Reproducibility: yes. from source: provide Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Correct the producer so each failure kind is emitted only when its corresponding observed step failed, add focused regression coverage for successful outcomes, then attach a redacted real apply run and resulting dashboard/API output. Do we have a high-confidence way to reproduce the issue? Yes, from source: provide Is this the best way to solve the issue? No. The proposed telemetry architecture may be viable, but the producer must classify only failed observed steps as failures and show the deployed publish/render path before this is merge-ready. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 8c3f96952284. Label changesLabel justifications:
Evidence reviewedAcceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
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
Review history (1 earlier review cycle)
|
Summary
Adds a third, disjoint Apply / close health surface to the ClawSweeper Overview. Review admission and result publication remain unchanged.
Problem
The apply/close lane had no independently observable Overview health surface during the incident. PR #730 added its 900-second state-lease acquisition override, while #731 restored the normal review/result fallback to 480 seconds; neither owns durable apply-lane dashboard telemetry.
Implementation
apply-observabilityv1 events in the dashboard StatusStore and exposesGET /api/apply-observability?range=6h|24h|7d.APPLY_TARGET_REPOScontract; all-target aggregates exclude non-apply targets and remain unknown until every configured apply target reports.unknown; no null/fallback value is presented as healthy zero.Accounting boundaries and data sources
Apply telemetry is a separate signed per-run record keyed by target repo, workflow run ID, and attempt. It reads the final durable apply-health report (or durable idle report), workflow terminal outcomes, and action-ledger/state-publication outcomes. It does not reuse review-admission or result-publication counters.
Validation
node --test test/apply-observability.test.ts test/dashboard-worker.test.ts— 161 passing on final rerun.pnpm run build:allpnpm run lint:dashboardpnpm run lint:scriptspnpm exec oxfmt --check .github/workflows/sweep.yml dashboard/worker.ts dashboard/wrangler.toml dashboard/apply-observability.ts scripts/publish-apply-observability.mjs test/apply-observability.test.ts test/dashboard-worker.test.tsgit diff --checknode --test test/sweep-workflow.test.ts— structural assertions passed; five existing helper cases remain blocked on this host because its WSL relay has no/bin/bash.Rendered/UI proof
Dashboard worker/render tests exercise populated, empty/unknown, degraded, signed-storage, API, range, and card rendering paths. Docker Desktop was healthy (
29.5.2) and local Crabbox sync completed, but browser-container proof was concretely blocked by the Windows PowerShell--script-stdinBOM behavior plus the Playwright image's pnpm layout. No external Testbox was used.Risks and rollout
The card starts as
Awaiting produceruntil the first apply event. Unknown legacy fields intentionally remain unknown, so rollout may reveal telemetry gaps rather than a false healthy state. No queue capacity, retry, dispatch, workflow rerun, gate, or incident-control behavior changes.Review closeout
codex review --uncommitted— clean; no actionable correctness issues.git fetch origin main && codex review --base origin/main— clean; telemetry pipeline, durable storage API, aggregation, rendering, and workflow integration consistent.