policy: repair denied gateway http endpoints#99731
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 7, 2026, 2:17 PM ET / 18:17 UTC. Summary PR surface: Source +10, Tests +58, Docs +4. Total +72 across 6 files. Reproducibility: not applicable. as a feature-style repair expansion rather than a reported bug. The PR body provides a high-confidence source-entry proof path for the new behavior using real Policy doctor registration and an isolated workspace config. Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the narrow automatic repair after exact-head gates, with URL-fetch allowlist findings staying manual. Do we have a high-confidence way to reproduce the issue? Not applicable as a feature-style repair expansion rather than a reported bug. The PR body provides a high-confidence source-entry proof path for the new behavior using real Policy doctor registration and an isolated workspace config. Is this the best way to solve the issue? Yes, this is the best narrow implementation if maintainers want the behavior: it reuses the existing automatic narrower helper and exact finding AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against a6768d9de567. Label changesLabel justifications:
Evidence reviewedPR surface: Source +10, Tests +58, Docs +4. Total +72 across 6 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 (20 earlier review cycles; latest 8 shown)
|
|
@clawsweeper re-review I restacked the policy series onto current Fresh proof from the top of the stack (
|
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Codex review of the Gateway HTTP PR. No blocking findings in the incremental diff against the Channel Ingress PR. Best-fix verdict: best for this narrow repair. The finding producer already emits the precise Evidence checked: Proof gap: this was a source-harness Codex pass only; I did not run a packaged CLI smoke for |
|
No blocking findings from Omar on this PR. I propagated the lower-stack review fixes through this branch in |
|
@clawsweeper re-review Reviewer-requested fixes are pushed on this updated head. Fresh local proof before push: focused policy/core/CLI/tooling Vitest passed, |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Updated this PR body with current stack heads and final-stack proof after the #99686 proof refresh. The foundation proof now shows policy-owned policy.fixRecommendation in public policy JSON and recommendation-free attestation hashing, and this PR includes that fix via the forward-merged stack. @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
c644a16 to
aa72dec
Compare
|
@clawsweeper re-review Restacked and updated current head Validation on this head:
The proof shows both denied endpoint |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Maintainer decision for this slice: accept Rationale: the repair only narrows the exact reported |
|
@clawsweeper re-review Please reschedule/re-run review for current exact head The prior exact-head re-review was acknowledged but the durable review comment still shows the old blocked verdict for |
aa72dec to
5b0a96c
Compare
|
@clawsweeper re-review Restacked and refreshed current head Validation on this head:
The source-entry proof again shows both denied endpoint |
|
🦞🧹 I asked ClawSweeper to review this item again. |
5b0a96c to
c216e74
Compare
|
@clawsweeper re-review Current head: c216e74 Validation rerun after restack:
|
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Maintainer acceptance for current head Rationale: the repair only narrows the exact reported |
|
Merged via squash.
|
* policy: repair denied gateway http endpoints * docs(policy): describe gateway http repairs --------- Co-authored-by: Gio Della-Libera <[email protected]>
* policy: repair denied gateway http endpoints * docs(policy): describe gateway http repairs --------- Co-authored-by: Gio Della-Libera <[email protected]>
Summary
mainafter policy: repair channel ingress findings #99720 merged.policy/gateway-http-endpoint-enabledas an automatic narrowing repair.doctor --fixto set the exact reported denied Gateway HTTP endpointenabledpaths tofalse.workspaceRepairs=true.Real behavior proof
Behavior or issue addressed:
doctor --fixcan now repair denied Gateway HTTP endpoint findings by disabling the reported endpoint paths while preserving nested endpoint options such as URL-fetch settings.Real environment tested:
WSL Ubuntu source checkout at PR head
c216e7485c5e12df315a70543f092a6cce801b58, rebased on currentmain. The proof used the real Policy doctor registration plusrunDoctorHealthRepairsagainst an isolated temp workspace withplugins.entries.policy.config.workspaceRepairs=true; no live Gateway server, provider, or network call was started.Exact steps or command run after this patch:
openclaw.jsoncwithgateway.http.endpoints.chatCompletions.enabled=true,gateway.http.endpoints.responses.enabled=true, nested URL-fetch options, andworkspaceRepairs=true.policy.jsoncwithgateway.http.denyEndpoints=["chatCompletions","responses"]andgateway.http.requireUrlAllowlists=true.node --import tsx .local/proof-99731.mts, which callsregisterPolicyDoctorChecksandrunDoctorHealthRepairsforpolicy/gateway-http-endpoint-enabled.node scripts/run-vitest.mjs extensions/policy/src/doctor/register.test.ts extensions/policy/src/doctor/metadata.test.ts --reporter=dot.pnpm docs:map:check;pnpm exec oxfmt --checkfor touched docs/policy files;git diff --check origin/main...HEAD;git diff --check.Evidence after fix:
Supporting validation:
Observed result after fix:
The repair flow detected both denied Gateway HTTP endpoint findings, repaired both reported
enabledleaves tofalse, validated with zero remaining endpoint findings, and preserved the nested URL-fetch options (images.allowUrl,files.allowUrl, andimages.urlAllowlist) on the disabled endpoints.What was not tested:
No live Gateway HTTP server, live provider, network URL-fetch call, or LLM call was run. URL-fetch allowlist findings intentionally remain manual and are not auto-repaired by this PR.
Stack
mainafter policy: repair channel ingress findings #99720 merged.