Repository navigation
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. |
mldangelo-oai
left a comment
There was a problem hiding this comment.
non blocking comment. Would be great if there were some evals to justify this change. Sometimes features like this seem helpful at first but are harmful to the product. I am especially thinking about all of the feedback we get about classifying severities as too high.
dfd67cb to
97d57b8
Compare
daneschneider-oai
left a comment
There was a problem hiding this comment.
The rubric text lgtm!
@mldangelo-oai |
Summary
Severity classification currently uses one model answer with a custom rubric and otherwise returns the scanner's original severity. Classify uncached findings with a bundled rubric by default and combine three independent reviews. Allow callers to request 1–10 reviews, returning the most common severity and choosing the highest severity among tied top counts.
Changes
--runs Ntoclassify-severity, including--records, with integer bounds 1–10 and default 3. SDK classification options useclassificationRuns. Reject invalid counts before model work. One review returns its assessment directly.classificationRunsin results and saved assessment provenance. Append a database migration and invalidate caches when the count changes or was not recorded. Preserve read-only access to older databases and existing results; changing default/custom policy also invalidates matching checkpoints.Testing
git diff --checkpassed.e0f31a68. The unchanged macOS native pipe-error assertion initially receivedENOTCONNinstead ofEPIPE; its shard passed one retry without code changes. All other checks passed, and the automated security review completed with no findings.Risk and rollout
Default classification now requires model access instead of inheriting scanner severity at no cost. Each uncached finding uses the requested number of sequential model calls (three by default). Existing per-turn Codex usage and host-owned accounting remain in place, including calls before a later failure; no token rollup is added. Old caches without recorded review counts are reclassified on the next classification request. Use
--reprocesswhen changing only model/effort. Result versions and permissions are unchanged;classificationRunsis additive provenance. No merge, release, deployment, or feature-flag change is included.Tests verify execution and voting mechanics. No model accuracy or severity-calibration evaluation has been run; the highest-severity tie-break still warrants an overclassification evaluation.
Public disclosure review