feat(workspaces): show agent status and custom-widget decisions#101826
Conversation
|
On the |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Dependency graph guard clearedThis PR no longer has blocked dependency graph changes. A future dependency graph change requires a fresh
|
|
Codex review: needs real behavior proof before merge. Reviewed July 13, 2026, 8:36 AM ET / 12:36 UTC. Summary PR surface: Source +267, Tests +86. Total +353 across 10 files. Reproducibility: yes. at source level: mount the agent-status built-in, change a session's active-run state without changing the workspace, and the PR adds no session-event subscription or refetch path to update the rendered snapshot. A real browser reproduction has not been supplied. 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:
Next step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Keep both widgets bounded to server-authoritative data, refresh session-backed values from canonical session events, retain server-enforced operator authorization, synchronize generated locales, and prove the complete flow in a real browser before merge. Do we have a high-confidence way to reproduce the issue? Yes at source level: mount the agent-status built-in, change a session's active-run state without changing the workspace, and the PR adds no session-event subscription or refetch path to update the rendered snapshot. A real browser reproduction has not been supplied. Is this the best way to solve the issue? No, not yet: registry-derived approval data and reuse of the existing decision RPC are appropriately narrow, but the best solution also requires canonical session refresh, explicit approval-surface ownership, synchronized locales, and real browser proof. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 5cb47597424e. Label changesLabel justifications:
Evidence reviewedPR surface: Source +267, Tests +86. Total +353 across 10 files. View PR surface stats
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 (14 earlier review cycles; latest 8 shown)
|
|
Fixed the P1 file-binding contract issue flagged here. The @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
680a641 to
9cf60f0
Compare
ee64b82 to
10640e4
Compare
5037a4f to
6cdc4c4
Compare
6cdc4c4 to
6b5c0c1
Compare
6b5c0c1 to
facc593
Compare
facc593 to
eee4264
Compare
b53ead8 to
a6b3931
Compare
Co-authored-by: EVA <[email protected]>
b76dc37 to
eba3fef
Compare
|
Merged via squash.
|
…claw#101826) * feat(workspaces): add operations widgets * fix(workspaces): format agent progress translation * fix(workspaces): keep operations widget helpers private * feat(workspaces): harden operations widgets Co-authored-by: EVA <[email protected]> * chore(i18n): defer generated locale refresh * refactor(workspaces): isolate approval state * fix(release): declare direct checklist execution * fix(release): satisfy checklist declaration lint * fix(release): align checklist declaration order --------- Co-authored-by: Eva <[email protected]> Co-authored-by: Peter Steinberger <[email protected]>
What Problem This Solves
Workspaces lacked a compact way to see current agent activity and decide pending custom-widget code without leaving the workspace tab.
Why This Change Was Made
This adds two narrowly owned built-ins:
builtin:agent-statusrenders bounded Busy/Idle rows fromsessions.list, andbuiltin:custom-widget-approvalsrenders only pending entries from the Workspaces custom-widget registry. This is not a general approval center: it does not expose exec, plugin, system-agent, or other approval classes. Decision controls requireoperator.approvalsand stay disabled until authenticated scope is known.Session events refresh only
sessions.listbindings; unrelated workspace data stays cached. Custom-widget decisions remain locked until the refreshed registry confirms the transition, preventing duplicate or opposite submissions.Exact-head CI also exposed a latest-main declaration drift in the release checklist helper. The included declaration-only repair matches the existing runtime export and restores the repository-wide test-type gate.
User Impact
Operators can monitor bounded agent status and approve or reject pending custom workspace widgets from accessible controls. Connections without approval scope retain read-only visibility. English source strings are included; the repository's isolated locale-refresh workflow owns generated translations after merge.
Evidence
sessions.changedrefresh, approval and rejection RPC parameters, registry broadcasts, and final empty state.git diff --check: clean.