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. |
|
Reviewed Assessment validation works through the bundled helper without Python. I found no correctness regression in the covered contracts and left two nonblocking simplification comments: remove the redundant JSON string escape scan, and validate string items before Set-based uniqueness. Disposable versions remove 34 lines; malformed-input diagnostics change intentionally. Verification beyond the complete-stack comparison with main:
Local execution was Linux. Exact-head CI supplies separate Windows/macOS/native coverage; it does not cover the synthetic combined stack. Shared numeric, ordering and raw-path behavior has real consumers, so those parts need a separate proof before deletion. |
# Conflicts: # plugins/codex-security/mcp-app/src/helpers/normalize-candidates.ts
|
Addressed both simplification comments: the duplicate string-escape scan and recursive aggregate equality are removed, and validated string items use Set uniqueness. The shared numeric representation, duplicate-key handling, and property order remain for their actual consumers. The updated PR description records the diagnostic changes. Updated head: |
Summary
Replace the Python patch-risk assessment validator with the bundled TypeScript helper.
Changes
Testing
ba12023: both full SDK runs passed 2,656 tests with 50 skips and zero failures (seeds 12345 and 4201856736).Risk and rollout
Stacked on candidate normalization. Invocation becomes
launch_codex_security_mcp[.cmd] --helper validate-patch-risk-assessment <assessment.json>;-still reads stdin. Schema acceptance and decision rules are unchanged. Invalid-item errors now precede uniqueness errors, and malformed-string diagnostic wording comes from JSON.parse.Public disclosure review