feat(sdk): add finding validation - #610
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.
Reviewed commit 86ed51df6bb5cda81d98058ac70d4691cb91c820 and found no blocking issues.
Verified 187 passing tests across the API, event-reader, and configuration suites. Type checking and git diff --check passed, and the filesystem-sandbox test passed separately.
Nonblocking release follow-up: run a real-model smoke test against known-positive, known-negative, and insufficient-evidence fixtures. The synthetic endpoint check establishes process integration, not validation quality.
Summary
The SDK can scan repositories, but it has no method to validate one existing finding. Applications that import findings must use the CLI or start a repository scan. This change adds
security.validate({ repositoryPath, finding })for that use case.Changes
The new method accepts finding text or a JSON object. It uses the existing validation skill, SDK runtime, authentication, and event reader. It returns a disposition, a Markdown report, the thread ID, and the evidence directory. It does not start a repository scan or change source files.
Validation keeps evidence outside the repository, supports cancellation, and rejects incomplete or invalid results. The change also adds SDK documentation, focused tests, and an installed-package type check.
Testing
12345: 1,560 passed, 30 skipped, 0 failed.4162224813: 1,560 passed, 30 skipped, 0 failed.pnpm run types,pnpm run format, andgit diff --check: passed.Risk and rollout
This adds an SDK method. CLI commands, flags, defaults, and plugin files do not change. Finding strings are literal text, not paths to read. A
reportableresult can rely on static analysis; callers must read the report for evidence and proof gaps.The API requires a package release. This PR does not change the package version.
Public disclosure review