feat(cli): resolve pending exec approvals#83440
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 1, 2026, 2:22 AM ET / 06:22 UTC. Summary PR surface: Source +154, Tests +36, Docs +15. Total +205 across 3 files. Reproducibility: yes. at source level. The PR head calls generic CLI RPC for list/resolve while current main gates broad approval visibility and resolution on admin or trusted approval-runtime authority; CI logs also show changed-line lint and test-type failures. 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
Security Review findings
Review detailsBest possible solution: Rebase onto current main, route pending/list and resolve/respond through the established approval-runtime authority path or a maintainer-approved requester-bound contract, fix CI, and add redacted live gateway proof. Do we have a high-confidence way to reproduce the issue? Yes, at source level. The PR head calls generic CLI RPC for list/resolve while current main gates broad approval visibility and resolution on admin or trusted approval-runtime authority; CI logs also show changed-line lint and test-type failures. Is this the best way to solve the issue? No. The CLI feature is useful, but the proposed implementation is the wrong authority layer unless maintainers explicitly choose and document requester-bound semantics. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 0c7bac34ae68. Label changesLabel justifications:
Evidence reviewedPR surface: Source +154, Tests +36, Docs +15. Total +205 across 3 files. View PR surface stats
Security concerns:
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
|
Summary
openclaw approvals pending/openclaw approvals listfor runtime pending exec approval requests.openclaw approvals resolve <id> <decision>/respondto submitallow-once,allow-always,always, ordenythrough the gateway approval RPC./approve <id> allow-oncewhen chat-native buttons are not available.Verification
Real behavior proof
Behavior addressed: local beta smoke produced an exec approval prompt with a
/approve <id> allow-oncefallback, butopenclaw approvalsonly managed policy-file state and did not expose pending runtime approval list/resolve commands.Real environment tested: local Codex worktree with focused CLI unit coverage.
Exact steps or command run after this patch: node scripts/run-vitest.mjs src/cli/exec-approvals-cli.test.ts
Evidence after fix: the focused test proves
approvals pendingcallsexec.approval.listand renders the pending approval, andapprovals resolve approval-1 alwayscallsexec.approval.resolvewithdecision: "allow-always".Observed result after fix: 13 exec approvals CLI tests passed.
What was not tested: a live gateway approval roundtrip after patch; the beta smoke before patch already proved the runtime approval request path exists.
Notes