Repository navigation
feat(runtime): apply Gateway tool policy to dedicated OCE deployments - #2633
stevenlee-oai wants to merge 66 commits into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs real behavior proof before merge. What this changesThis PR applies an OCE-owned Gateway tool ceiling to dedicated deployments and restores it before Gateway startup and peer respawn. Example: A dedicated Codex Agent receives tools.alsoAllow containing plugins and diffs.
Review scores
ProductKind: Feature · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 4 items remain Keep this PR open: it delivers a useful, owner-supported runtime boundary absent from main, and inspection found no concrete introduced defect. Priority: P2 Before merge
Findings
Tests
Agent review detailsHow this fits togetherCompute takes an admitted AgentRevision, composes plugin configuration, and launches the Gateway; the pinned OpenClaw runtime enforces the resulting tool and automation restrictions. flowchart LR
Revision[Admitted AgentRevision] --> Compute[Compute Driver]
Compute --> Plugins[Plugin composition]
Plugins --> Policy[Gateway policy ceiling]
Policy --> Gateway[Native Gateway]
Gateway --> Dispatch[Tool and automation authorization]
Dispatch --> Effect[Permitted task effects]
Technical reviewBest possible solution: Land the scoped policy through the existing Compute and upstream enforcement owners after qualifying final-effect authorization and existing-state upgrades. Do we have a high-confidence way to reproduce the issue? Current main source establishes the missing shared ceiling: it has dedicated-Codex exclusions but no OCE-admitted Gateway policy applied across the selected launchers; no runtime reproduction was executed during this review. Is this the best way to solve the issue? The implementation uses the existing Compute lifecycle and upstream dispatch owners, preserves narrower restrictions, and keeps native Codex capabilities separate; this is a coherent solution for the stated Gateway scope. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 40aff8f1d1ac. Merge-risk optionsMaintainer options:
Provenance checked
TestingProof path: in-process harness. SecurityNeeds attention: No concrete authorization bypass was found, but final-effect qualification of the new policy boundary remains outstanding. EvidenceSecurity concerns:
What I checked:
Likely related people:
LabelsLabel changes:
Label justifications:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 16, 2026, 4:31 PM ET / 20:31 UTC. |
freeqaz-openai
left a comment
There was a problem hiding this comment.
One concrete test-oracle issue to fix before an expensive live run: the human command positive control can pass even when the Gateway says it did not run. Reproduction and a bounded fix are inline. This was a focused review of the OpenShell qualification test and pinned Gateway response contract, not a whole-PR security verdict; the existing final-effect and upgrade requirements remain open. No cluster, model call, credential, command job or CI rerun was used for the reproduction.
Withdrawing only my stale change request: the author corrected the positive-control attribution in 39e8f8e and I verified it in discussion_r4299217046. This is not whole-PR approval; live authority, upgrade, and independent review requirements remain.
OCE automatically applies a required Gateway tool/action policy to dedicated OC and Codex deployments after ordinary Agent and plugin grants are composed. The policy comes from the saved deployment revision, is reapplied on Gateway peer restart, and cannot be widened by plugin grants. Unsupported runtimes remain unready.
The baseline keeps scoped tasks, sessions and ordinary scheduling for model turns while withholding administrative Gateway tools and command-job authority. Model choices remain session-scoped and cron scripting stays disabled. Direct human Gateway administration and native Codex tools remain available. Policy changes activate through restart or deployment replacement after affected old work ends; Harness-local configuration, credential and process protection remains separate work.
Pins OC
cee236c9, including the merged Gateway policy and child setup changes plus capture repairs #181458 and #181494. Keeps Node24.22.1, stock Codex0.163.0-alpha.2and client-store persistence. Configures Codex’s known workspace path before node pairing so binding does not also change the Codex plugin configuration. Implements RFC 21 items 6–7 and OCE activation in item 8; item 9 tracks qualification.Shared OpenClaw upgrade. This PR remains draft until an embedded Gateway recovers unattended after OCE verifies the previous Gateway stopped. The replacement must reuse the same volume, wait for the Agent database to be ready, and answer its first chat with HTTP 200 and
READY. If OCE cannot verify termination, an operator must confirm it before recovery. The existing test kills the old container and waits for it to exit. At4d79fbca, the replacement failed that first chat. Restart test · CI result.Verification
40666176passes workspace-binding, TLS and Pod-IP startup checks, plus first-Agent smoke. Full typechecking, focused lint/formatting and 54 plugin-runtime cases passed for the unchanged production code. Production code is unchanged since3de5b569; later commits change test polling or RFC status only.d308b55cpassed the original unchanged workspace hot-load test and both TLS controls (no skips or model requests). Existing polling bounds, production readiness guards and original hot-load assertions are preserved.40666176. Native runtime checks pass 153/154 on each architecture; the embedded unclean-restart case is the only failure. The CPU-contention probe passed on retry. Both original local API-key/OpenShell qualification cases pass on thed308b55cimages: 1 pass, 0 failures/skips each (OC eight model turns; Codex seven). They cover Harness work, scheduling, refused administrative effects with human controls, restricted children and narrower-policy replacement. Frozen source/image identity and scoped cleanup were independently verified. Codex preserves OC history while reconstructing its native thread; command-conversion model coverage is schema-only. Permissions, assertions and budgets are unchanged.The recovery drafts cover dedicated Gateways. They bind the native owner to its container and require proof that the container stopped. The Docker Engine checks passed for storage isolation, authenticated status and termination. Automatic recovery still needs a supporting runtime, trusted deployment wiring and a replacement test on each provider. OC #181813 · OCE #3355.