Repository navigation
Upgrade shared Codex to 0.164 and add OpenShell quickstarts - #4160
kevinlin-openai wants to merge 38 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 SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e1f0aaa305
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```bash | ||
| jq -nr --rawfile token "$GITHUB_TOKEN_FILE" '"Authorization: Bearer "+($token|rtrimstr("\n"))' | | ||
| curl --fail --silent --show-error -H @- -X DELETE https://api.github.com/installation/token |
There was a problem hiding this comment.
Guarantee token revocation after failed runs
When any command between set -euo pipefail in step 1 and this cleanup block fails—including deployment, the Git push, or independent verification—the shared shell exits before reaching this DELETE, despite the instruction to revoke the token even after failure. That can leave a repository-scoped Contents-write installation token usable until it expires; register an exit trap immediately after the token becomes available, or wrap the workflow so revocation always runs.
AGENTS.md reference: AGENTS.md:L294-L296
Useful? React with 👍 / 👎.
|
Codex review: blocked before merge. What this changesAdds an operator walkthrough for native Git push from a dedicated OpenShell Agent, with installation, independent verification, credential withdrawal, and read-only reuse. Example: Push an empty commit to codex/oce-git-push-20261030T052139Z-78137ff896.
Review scores
ProductKind: Docs · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 2 items remain Keep this PR open: the guide documents a useful supported composition, but failed runs can bypass write-token cleanup. Priority: P2 Before merge
Findings
Agent review detailsHow this fits togetherOCC authorizes and deploys the Agent; native Git sends a credential placeholder through the OpenShell supervisor, which substitutes the repository-scoped token before contacting GitHub. flowchart LR
Operator --> OCCAPI
OCCAPI --> Worker
Worker --> OpenShellAgent
OpenShellAgent --> Supervisor
Supervisor --> GitHub
Operator --> GitHub
Technical reviewBest possible solution: Keep the walkthrough and register failure-safe token revocation before the first credential-bearing operation, stopping the Agent when its identity is available. Do we have a high-confidence way to reproduce the issue? Source shows that a nonzero deployment, chat, or verification command exits the shared errexit-enabled shell before withdrawal is defined; no target code or tests were run. Is this the best way to solve the issue? The guide appropriately reuses the existing static source and deployment owners; moving cleanup registration ahead of credential use is the smallest complete repair. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 4a27fe5e2ff5. Provenance checked
SecurityNeeds attention: Failure cleanup can leave the repository-scoped write credential usable after the exercise aborts. EvidenceSecurity concerns:
What I checked:
LabelsLabel changes:
Label justifications:
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 30, 2026, 2:17 AM ET / 06:17 UTC. |
|
Free's clanker here. ⭐ CI diagnosis on b1d2b66: static fails because docs/guides/deploy/production-installation.md is 2504 words against the enforced 2500-word cap. Please trim with margin and validate using the repository counter (including code blocks). Smoke passed; no rerun of the unchanged static input needed. Receipt: https://github.com/openclaw/openclaw-enterprise/actions/runs/41088207525/job/124174861804 |
…git-push # Conflicts: # docs/docs.json # docs/reference/repository-credentials/protected-openshell-git.md
|
Free's clanker here (an AI agent working on Free's behalf). CI diagnosis for the Checks and Conformance 1 failure on 21c725c (run 41181996034): This looks caused by the change rather than a main flake: the file passed on every main push and on the other PR runs in the same window, and on this PR's previous head (8048312); the only change from that head is docs. Likely cause: the Possible fixes: put those success-path tests on the fake clock the PR already adds for the rejection cases, or give tests that don't exercise expiry a larger deadline. (Board finding 3034.) |
Verification hold: PR head
052016e3a7086ac0571f28ddc3ffbc689ca22ee3; runtime/controller image sourcecde2de1a5a767e78081ae8c4a09438d382e33794. Matching native images are qualified; the final managed Linear/Git renewal proof remains pending. Do not merge.Upgrade both bundled Codex entrypoints to stock
0.164.0and restore experimental plugin/search. Protected startup admits only explicitly selected, credential-free artifact rules frozen on the Agent revision; both paired compilers verify the complete map and protected live policy apply remains unavailable. Preserve the authorization, custody, deadline and identity boundaries.Codex 0.164 defaults its separate metrics exporter independently of disabled log export. The observed optional metrics request was blocked by default-deny. The current fix passes the supported
otel.metrics_exporter="none"override through native login/status, authentication probing and app-server startup; it adds no egress permission. The upstream configuration contract documents this opt-out.The latest cde live-proof attempt reached full qualified startup, passed Codex login and a genuine model probe, and observed artifact GETs under the exact rule. No AB metrics denial occurred. A managed Linear chat returned transport/status OK, but no verified tool-result/team fact is established, so it is not counted as Linear proof. The conservative observer then stopped on an exact stale-policy-generation tunnel closure at the already configured model origin, outside its reviewed enrollment-only classification. The original blocked decisions remain retained; no egress permission was added. Actual scoped PostgreSQL state confirms stopped/active-pointer-null, known material revoked/sealed-absent/settled and zero Git uses. All 13 historical attempts, including older unknown/sealed custody, remain retained. Existing-session interpretation and a bounded model-origin observer classification remain under review; the final native Linear/Git/renewal proof and separate read-only restoration remain incomplete.
The matching cde images and reviewed Installation are installed in the owned local verification environment with the Agent stopped. Exact node image bytes, mounted configuration and retained custody were verified. Final live-run scope review is pending. The final managed Linear read, two empty native pushes on one unique branch across natural worker renewal, independent verification and separate supported read-only configuration restoration are still required. Stop/revocation alone does not establish read-only restoration. Earlier 0.163 proof does not establish 0.164 success.
The earlier description and Manual Notes below retain their recorded scope and source revisions.
Upgrade both bundled Codex entrypoints to stock
0.164.0and restore experimentalplugin/searchfor protected plugin preparation. Remove the temporary downgrade patch and update executable paths, sandbox provenance, tests and documentation. Preserve identity, deadlines, default-deny, custody and continuity guards. Add OpenShell quickstarts and native install diagnostics that suppress raw warning/RPC content.Normal merges preserve the supplied upgrade commit and newer history. Runtime implementation and qualified images are pinned to
8048312c7a02b06e75d440eac660890d9693002e. Follow-ups throughda01157883a2509b4ce3c47962ff032de45c3a81change the public preflight helper/guide and a test fixture; these files are not copied into the images.RFC 0023 now has a proposed protected Codex artifact amendment, submitted for human review before Driver implementation. It proposes an explicitly declared, Sandbox-qualified artifact subset frozen on the revision, exact paired-map validation and protected live-apply refusal. Feedback is requested on that carrier and its qualification limits. Git/PAT scope, approval, custody and isolation controls stay unchanged.
Verification:
20f6dcf; its plugin-compute file passes 152/152. The earlier failed run remains recorded: one positive fake-WebSocket case exhausted its 25 ms wall-clock fixture budget. The test-only repair counts fixture timer waits, preserving its budget, assertions and expiry cases. Production deadlines are unchanged.scoped-cleanfor the supplied implementation and incremental helper/test deltas. The implementation selected 93 paths, with 88 model-covered and five policy-omitted credential-doc paths assessed separately. Separate independent source assessment covers the updated guide/helper/test hashes; four other omitted-doc hashes are unchanged. Optional unchanged custody/service internals remain outside canonical model coverage. Reviewers did not rerun tests; refused invocations remain recorded as incomplete.8048312. OCI architecture/source labels, manifest/config and every layer digest, stock shared CLI version, experimental plugin/search, local plugin default-deny activation and sandbox/runtime smoke receipts were verified. Publication was not requested. These fixtures do not establish the final authenticated Linear/Git workflow.plugin/installwith RPC-32603and native classremote_bundle_download_request. The changed startup was correctly blocked by the continuity guard. Normal stop cleared the active revision and revoked the new known material, removed sealed bytes and confirmed zero Git uses. No managed Linear read or native Git push occurred. Supervisor logs were automatically removed before the later read, so the failed peer and causal network decision remain unknown. Source review identifies a protected-policy artifact-composition gap; no live cause, host expansion or composition repair is claimed.The Agent is stopped. Final managed Linear read, two native empty Git pushes on one test branch, natural credential renewal and final cleanup remain pending. Earlier 0.163 results and account installed-state readback do not establish 0.164 success. Historical ambiguous retirement remains
unknownwith retained sealed custody after its original hard bound; no revocation success is claimed for it.The 2,497-word plugin flow and 1,708-word enrollment guide each cover one coherent workflow. No length allowance was added; historical flow entries and Manual Notes are preserved. Do not merge.