fix(codex): quarantine unreadable dynamic tool schemas#91289
fix(codex): quarantine unreadable dynamic tool schemas#91289vincentkoc wants to merge 2 commits into
Conversation
|
Codex review: found issues before merge. Reviewed June 30, 2026, 4:19 PM ET / 20:19 UTC. Summary PR surface: Source +145, Tests +162, Generated 0. Total +307 across 10 files. Reproducibility: yes. from source. Current main can lose plugin ownership for schema diagnostics that use fallback names such as 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 findings
Review detailsBest possible solution: Land the owner-attribution repair after refreshing over current main, and keep the projection helper internal unless maintainers explicitly approve it as documented Plugin SDK API. Do we have a high-confidence way to reproduce the issue? Yes, from source. Current main can lose plugin ownership for schema diagnostics that use fallback names such as Is this the best way to solve the issue? No as submitted. The owner-attribution repair is useful, but the public SDK re-exports are only the best fix if maintainers intentionally approve and document that contract, and the branch needs a current-main refresh. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 640258d7b31d. Label changesLabel justifications:
Evidence reviewedPR surface: Source +145, Tests +162, Generated 0. Total +307 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
|
|
Closing this Codex/trajectory fuzz-hardening branch. Direct Codex contract review at OpenClaw main already projects and quarantines dynamic tools once through 3ffb3609a14 and d7d037b46f3. The remaining throwing-getter/proxy fixtures target downstream typed or projected data without a linked production report. If a real serialized payload fails, please file that payload and stack against the canonical projection boundary. Thanks for the investigation. |
Summary
openclaw doctorcan point at the owning source instead of losing context.6d7a1b8d0ec7and27ef8763e733.Codex contract checked
openai-codexPython protocol types expose dynamic toolinputSchemaas unconstrained schema data (sdk/python/src/openai_codex/generated/v2_all.py:807).codex-rs/protocol/src/dynamic_tools.rs:8).codex-rs/app-server/src/request_processors/thread_processor.rs:316).codex-rs/app-server/src/request_processors/thread_processor_tests.rs:91).Verification
node scripts/run-vitest.mjs run extensions/codex/src/app-server/dynamic-tools.test.ts src/agents/tool-schema-projection.test.ts src/agents/tools-effective-inventory.test.ts src/commands/doctor/shared/active-tool-schema-warnings.test.ts --reporter=dotnode --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check./node_modules/.bin/oxfmt --check docs/.generated/plugin-sdk-api-baseline.sha256 extensions/codex/src/app-server/dynamic-tools.test.ts extensions/codex/src/app-server/dynamic-tools.ts src/agents/tool-schema-projection.test.ts src/agents/tool-schema-projection.ts src/agents/tools-effective-inventory-build.ts src/agents/tools-effective-inventory.test.ts src/commands/doctor/shared/active-tool-schema-warnings.test.ts src/commands/doctor/shared/active-tool-schema-warnings.ts src/plugin-sdk/agent-harness-runtime.tsOPENCLAW_OXLINT_SKIP_PREPARE=1 node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.core.json src/agents/tool-schema-projection.test.ts src/agents/tool-schema-projection.ts src/agents/tools-effective-inventory-build.ts src/agents/tools-effective-inventory.test.ts src/commands/doctor/shared/active-tool-schema-warnings.test.ts src/commands/doctor/shared/active-tool-schema-warnings.ts src/plugin-sdk/agent-harness-runtime.tsOPENCLAW_OXLINT_SKIP_PREPARE=1 node scripts/run-bundled-extension-oxlint.mjs extensions/codex/src/app-server/dynamic-tools.test.ts extensions/codex/src/app-server/dynamic-tools.ts.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/mainBehavior addressed
Real environment tested
Exact steps or command run after this patch
Evidence after fix
Observed result after fix
What was not tested
pnpm check:changedwas not run locally because this is a linked/sparse worktree; PR CI should cover the wider gate.