Repository navigation
fix(build): compile evals with separate Ajv installations - #2009
Conversation
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. |
alandelong-oai
left a comment
There was a problem hiding this comment.
Thanks for fixing the separate-install Ajv build. Owner-level merge-safety pass: no blocking findings. I reproduced the base's three TS2345 errors, verified the head's eval build, and confirmed byte-identical emitted validator JavaScript. SDK/MCP type checks, formatting, CI/plugin builds, and diff checks passed. Local runtime tests were blocked by filesystem ownership checks; the hosted deterministic eval job passed on a merge tree identical to this head. Full CI is still running.
Summary
The eval TypeScript build loads the SDK and MCP app with separate installations of Ajv 8.20.0. A type assertion on the SDK’s custom
oneOfkeyword mixes the two installations’ compiler contexts. TypeScript rejects the handler before deterministic evals start. Failing CI jobChanges
Derive the code keyword type from the validator’s own
getKeywordmethod. The existingoneOfcallback continues to delegate to that validator’s keyword implementation.Testing
TS2345diagnostics with the frozen SDK, MCP and eval dependencies.pnpm --dir sdk/typescript run build:evalsand the complete eval setup, including the native host build, passed with the change.custom-validation.jswas byte-for-byte identical.build:ci, andgit diff --checkpassed.Risk and rollout
The change affects TypeScript type checking. The SDK emits the same validator implementation and uses the existing Ajv version.
Public disclosure review