Skip to content

fix(findings): honor saved decisions during fallback matching - #928

Open
mldangelo-oai wants to merge 529 commits into
mdangelo/codex/pr832-basefrom
mdangelo/codex/pr832-match-precedence
Open

mldangelo-oai wants to merge 529 commits into
mdangelo/codex/pr832-basefrom
mdangelo/codex/pr832-match-precedence

Conversation

@mldangelo-oai

@mldangelo-oai mldangelo-oai commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Keep saved confirmed and related decisions authoritative when findings from identical content are matched by location.

Changes

  • Apply deterministic matching only to unambiguous findings with matching vulnerability class, location, and instance.
  • Preserve direct and historical comparison decisions through alias chains.
  • Cover reversed comparisons, changed content, and ambiguous locations.

Testing

Validation on da8c2459b227 passed all 57 Python scan-history tests, portable checks, SDK/MCP types, and formatting. Four historical forward/reverse and chained cases failed before the fix and now pass alongside the three direct-decision controls. Three fresh native reviews and independent source verification found no blocking issues. Earlier full-suite results were not rerun. The existing stacked base is preserved; hosted CI remains required.

Risk and rollout

This targets an existing stacked base whose diff includes inherited main changes. The fallback applies only to unambiguous findings from identical content. Refresh the base relationship and complete hosted platform checks before treating the PR as ready.

Public disclosure review

The available public material was reviewed for disclosure. Twenty-six historical uploads could not be retrieved (25 expired and one missing); their contents are not claimed as reviewed. Original execution, advisory-query and historical failure evidence remains attributed to its actual inputs and time.

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure. (Historical uploads listed above remain unavailable.)

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T03:28:59.940681Z da8c245 Manual request
🔒 Security Review ✅ Completed 2026-10-12T03:28:55.863113Z da8c245 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@zcrab-oai zcrab-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The configured PR base produces a 747-file comparison spanning 246 commits. I reviewed the three-file residual against the newer main merge parent and found no obvious issue there, but that does not clear the configured comparison. Please refresh the stacked base with the landed main history, or retarget to the intended landed parent after confirming it, then review the focused diff. I have no confirmed code finding to report from the residual.

mldangelo-oai and others added 28 commits October 7, 2026 02:22
…ns (#1358)

refactor(build): infer script interfaces from typed sources

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
#1050)

fix(mcp): preserve full elicitation decision context

Co-authored-by: Codex <codex@users.noreply.github.com>
* fix(workbench): preserve sealed CSV artifacts during export

* fix(workbench): distinguish sealed export refusals from directory errors

* fix(ci): preserve the existing Markdown formatting scope

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
* fix(sdk): expose runtime worker spawn outcomes

Add a bounded onWorkerEvent observer with shared scan-local worker numbers and dispatch deduplication. Keep marker-derived phase status compatible and document its best-effort delivery. Requires the corresponding Codex runtime event release before shipping.

* fix(sdk): include worker events in package checks

* fix(sdk): observe worker outcomes after scan failures

* fix(sdk): observe persisted workers without runtime changes

* fix(sdk): end worker observations before post-scan cleanup

* test(sdk): create worker metadata before it can be polled

* Format the merged worker observation guide
test(workbench): share workspace command fixtures

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
refactor(sdk): simplify scan cost bookkeeping

Co-authored-by: Codex <codex@users.noreply.github.com>
refactor(sdk): reuse finding group bookkeeping

Co-authored-by: Codex <codex@users.noreply.github.com>
refactor(ci): reuse equivalent workflow steps

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
)

Co-authored-by: Codex <codex@users.noreply.github.com>
…1390)

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
…te checks (#1381)

refactor(release): simplify history and redundant workflow checks

Co-authored-by: Codex <codex@users.noreply.github.com>
* refactor(sdk): simplify publication evidence bookkeeping

* test(sdk): simplify publication fixture overrides

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
* fix: preserve per-scan runtime and authentication settings

* fix: ship the shared TOML loader and retain command authentication

* fix(runtime): protect per-scan provider credential storage

* test: provide credentials for provider routing fixtures

* fix: keep provider configuration private to each scan

* fix: preserve inherited worker providers and check plugin support

* test: distinguish provider storage fixture identities

* fix: isolate worker credentials and inherit effective runtime settings

* fix: preserve provider settings in matching and resumed workers

* test: follow worker configuration override field

* fix: retain worker service tiers and Windows cache settings

* fix: preserve parent paths and resolved matching settings

* fix: retain scan provider settings during automatic matching

* fix: share matcher config encoding and omit macOS Git metadata

* fix: keep worker provider credentials in private native profiles

* fix: preserve private provider startup and worker permissions

* test: follow forwarded worker instruction root

* fix: check helper permissions and client state before launching Codex

* fix(runtime): preserve nonblank Codex home paths

* fix: retain snapshot permissions across runtime reuse

* fix: align runtime package and preflight contracts

* test(plugin): scope safe-path helper checks to Python 3.11+

* fix(runtime): preserve literal MCP names in private profile overrides

* test(runtime): align native profile and Python helper coverage

* fix: keep private profile types out of declarations

* fix: preserve provider environment in deep scan workers

* fix(sdk): emit valid scan matching declarations

* fix: align worker permissions with native sandbox support

* test: keep native profile fixtures alive until cancellation

* fix: reject Deep Scan plugins without worker root forwarding

* fix: simplify provider cleanup and pin completion helpers

* fix: preserve custom worker credentials and per-scan helpers

* fix: preserve legacy plugin launch roots

* fix: preserve completed turns without usage

* fix: inherit effective parent credentials in workers

* fix: isolate provider snapshots and matcher settings

* test: require the captured credential home in provider assertions

* fix: preserve custom validation restrictions with profiles

* fix: preserve optional provider runtime behavior

* test: preserve native Windows launcher and policy behavior

* test: preserve native MCP responses during assertions

* test: cover resolved provider snapshots without duplicate fixtures

* fix: keep native provider selection during worker preflight

* fix: preserve provider selection for legacy Deep Scan workers

* Keep generated action documentation compatible with formatting checks

* Preserve per-client roots for legacy Node plugin launchers

* Preserve linked Git metadata exclusion and legacy Node options

* Reuse Git metadata detection and SDK completion cleanup

* fix: preserve provider selection during native bootstrap

* style: format runtime integration conflict resolutions

* test: reconcile runtime fixtures with current plugin staging

* Preserve worker tool settings and native abort diagnostics

* Preserve runtime settings through automatic finding matching

* fix(sdk): preserve legacy Unix launcher defaults

* fix: preserve worker search settings and legacy startup

* fix: pin coordinator startup to each scan plugin

Restore the eval contract for inherited provider settings and cover concurrent modern coordinator launches.

* fix: route declared MCP roots through existing launch shims

* fix(runtime): preserve per-scan plugin entrypoints

* fix(runtime): resolve selected-profile command authentication

* Preserve legacy Node plugin entry paths

* refactor: share runtime setup and provider test fixtures

* refactor: pass native worker settings through once

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
* Unify structured scan failure output across rerun and resume

* Describe the shared failure test as diagnostic preservation

* Preserve filtered scan failure diagnostics

* Emit saved-scan diagnostics after empty field filtering

* Simplify checkpoint fixtures while preserving concurrent resume coverage

---------

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
* feat: support custom scan names

* test: align scan history fixtures with named scans

* fix: match Unicode scan names consistently

* test: type the scan rename smoke test callback

---------

Co-authored-by: Michael D'Angelo <mdangelo@openai.com>
Co-authored-by: Ian Webster <269041055+ianw-oai@users.noreply.github.com>
…1356)

refactor(mcp): simplify artifact contracts and tool registration

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
…1355)

* refactor(reports): share artifact projections and finalization checks

* test(reports): share fresh SARIF finding fixtures

---------

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
refactor(sdk): simplify observer notification calls

Co-authored-by: Codex <codex@users.noreply.github.com>
…#1369)

refactor(ranking): reuse native lookup and comparison representations

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
* refactor(release): reuse history and verification fixtures

* test(sdk): serialize native probes in concurrent provider checks

---------

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
test(sdk): reuse client setup for scan orchestration

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
test(sdk): reuse client setup for budget and cleanup scenarios

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
test(sdk): reuse client setup for authentication scenarios

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
dependabot Bot and others added 18 commits October 11, 2026 09:24
Update the pinned workflow installer after its seven-day cooldown. Upstream artifact review, local workflow checks, and current-head CI passed.
Update PDF.js and its optional native canvas packages after publication cooldown and artifact verification. SDK builds, type checks, formatting, focused PDF tests, Node runtime probes, full SDK tests, and current-head CI passed.
Update Ink and related dependencies after cooldown and upstream artifact review. Preserve patch UI terminal dimensions with Ink generic stream types. Focused UI tests, Node runtime probes, SDK builds/types/formatting, the full SDK suite, and current-head CI passed.
* test(ci): record reproducible Windows shard seeds

* test(ci): align the Windows seed contract

---------

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
* refactor(scan): run CLI Deep Scan through the shared coordinator

* fix(package): include the direct Deep Scan driver

* fix(scan): refresh permissions through native Deep Scan resume

* fix(scan): retain isolated Python workbench startup

* fix(scan): preserve complete worker usage in direct scans

* fix(scan): preserve standalone Python dependency lookup

* fix(scan): preserve Bun scan compatibility

* fix(scan): preserve Deep Scan inputs across execution adapters

* test(scan): allow Windows helper paths in Bun routing checks

* fix(scan): preserve access advisories and completed responses

* fix(scan): preserve explicitly selected MCP Node runtimes

* ci: allow Windows SDK shards to finish

* fix(scan): enforce Deep Scan finding scope on resume

* fix(scan): keep worker scope lists off command lines

* test(scan): await bundled worker artifact setup

* Stabilize inherited-pipe fixture readiness
* test: load modules from checkout paths containing spaces

* test: remove redundant loader narration

* test: exercise coordinator fixture from a checkout with spaces

* test: reuse selected Python in mock scan workflows

* Format portable candidate-ledger test import

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
…1037)

* docs: explain Daybreak Blue API-key model selection

* docs: clarify API defaults and model-selection scope

* Document supported API-key program selection

* Prefer explicit Cyber program selection over deprecated alias

* Quote the model placeholder in shell examples

* docs: clarify the SDK Deep Scan mode option

---------

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
* fix(evals): remove obsolete connector auth-only expectation

* Preserve explicit Connector selection in the intake eval

* Bind eval approval to the REST fallback statement

* fix(evals): grade explicit GitHub transport decisions

* docs: keep eval guidance concise

* fix(evals): close connector transport grading gaps

* Parse transport decisions independently of prose braces

* Reject arrays and extra JSON objects in transport decisions

* Reject embedded triage output in transport decisions

* fix(evals): distinguish Markdown citations from JSON payloads

* Handle complete numeric Markdown references in decision grading

* Recognize defined Markdown shortcuts outside JSON fences

* Distinguish fenced arrays from Markdown references

* fix(evals): distinguish fenced arrays from prose citations

* fix(evals): preserve single decision parsing after main integration

* test(evals): cover REST defaults with whole-response decisions

* Keep the transport evaluation case label neutral

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
* fix(cli): find saved findings through repository links

* fix(cli): retain exact-path history before resolving directory links

* fix: resolve path aliases consistently across scan workflows

* fix: preserve target binding and accessible policy paths

* fix: handle native policy access errors across platforms

* style(mcp): format artifact ancestry regression test

* fix: preserve policy directory entries across runtimes

* fix: preserve byte paths for unknown directory entry types

* fix: retain selected target spelling in snapshot paths

* test: exercise native target aliases through the SDK runner

* Simplify SECURITY.md path resolution

* fix(paths): preserve submodule aliases and tolerate vanished entries

* test: reuse platform-aware artifact filename fixture

* fix(export): retain requested output path binding

* Compare submodule roots by filesystem identity

* Retain nested Git filtering for selected directory aliases

* Format nested checkout identity comparison

* fix(cli): match stored repository paths through filesystem aliases

* fix: prefer exact saved repository identities

* fix(cli): match finding repositories by filesystem identity

* fix: retain submodule exclusions across target aliases

* fix(cli): bind canonical findings lookup to directory identity

* Prefer a verified canonical saved target for repository aliases

* Remove duplicate publication check coverage

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
…1276)

* fix(cli): keep dashboards responsive and show observed usage

* fix(cli): retain singleton counts and escaped dashboard text

* fix(cli): wrap large ASCII results in bulk

* fix(cli): batch ASCII spans in mixed dashboard output

* fix(cli): reuse wrapped chunks for oversized activity words

* fix(cli): reuse Unicode layout measurements within each activity

* fix(dashboard): preserve component usage and display columns

* fix(cli): render component usage once per update

* test: emit usage in component presentation fixtures

* fix(dashboard): preserve usage warnings and narrow text

* Align cost summary assertion with current output

* fix(cli): avoid repeated terminal escape rescans

* fix(cli): show live usage in headless scans

* test(cli): exercise independent headless progress modes

* test(cli): give dashboard boolean cases distinct report names

* Keep boolean Deep progress test names distinct

* test: exercise log retries after cached EOF

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
…920)

* refactor: share Codex construction and stream reduction

* test: preserve the Node runtime location in worker fixtures

* test: match Windows managed child executable paths

* test: resolve shared SDK imports in MCP source fixtures

* fix: resolve shared Codex imports in standalone MCP builds

* Share semantic audit admission across managed scans

* test: prepare audit draft before finalization

* Preserve helper CLI behavior through linked plugin paths

* fix: resolve SDK dependencies in native policy proof

* Use the Codex client directly at execution boundaries

* Classify accepted audit drafts once

* Format Codex SDK import

* Format shared audit imports and types

* Test worker shutdown at the real child-process boundary

* Preserve resolved provider settings in scan workers

* Preserve canonical admission with selected older plugins

* Pin worker provider and authentication selections per session

* Resolve shared config dependency in standalone MCP builds

* Use canonical field rules for persisted audit admission

* Include the shared contract path helper in package checks

* Keep unsealed question inputs compatible with finalization

* Check question normalization without requiring deduplication

* Preserve pre-finalization coverage metadata inputs

* Keep only the selected provider in worker configuration

* Preserve Python discovery in installed Deep Scan fixtures

* Compare selected fixture Python by executable identity

* Protect per-session worker configuration from model tools

* Preserve literal worker denials and use runtime executor settings

* Preserve literal and glob worker denials with identical paths

* Wait for reconstructed worker fixtures to close before cleanup

* fix(ci): include shared execution source in standalone checkout

* fix: align worker fixtures with native launch inputs

* fix(scans): reconcile managed output before audit admission

* Preserve BOM-prefixed scan artifacts during admission

* test(package): follow direct Deep Scan execution

* Exercise direct preflight through the Windows package fixture

* fix(artifacts): preserve canonical parent checkpoints

* test(package): exercise selected plugin admission compatibility

* fix(artifacts): preserve legacy evidence coordinates

* test(package): join concurrent Deep Scan fixture checks

---------

Co-authored-by: Codex Security Maintenance <codex-security-maintenance@example.invalid>
Co-authored-by: Codex <codex@users.noreply.github.com>
refactor(native): preserve subprocess paths and stream ownership

Co-authored-by: Codex <codex@users.noreply.github.com>
…aths (#1288)

* fix: preserve Git inventories and source previews

* test: reject bulk Git overrides before checkout

* fix: retain Git exclusions and preview classification

* fix: share Git mode filtering and preserve preview diagnostics

* fix: filter merged local changes by their final file type

* fix: distinguish member calls in JavaScript previews

* fix: preserve division after private JavaScript calls

* fix(multiscan): match checkout format to pinned revision

* fix(multiscan): select checkout hashes without newer Git flags

* fix(inventory): skip unreadable local source files

* fix(remediation): keep junction copies aligned with snapshots

* fix(remediation): bind validation copies to junction identities

* fix(workbench): retain Git inventory in validation copies

* fix(remediation): preserve inventory exclusions for copied junctions

* fix(remediation): share junction leaves across Git snapshots

* fix(remediation): retain junction snapshot modes

* fix(remediation): validate temporary restoration paths

* fix: normalize raw POSIX inventory paths

* test: verify checkout hash settings remain isolated

* Preserve raw POSIX paths in MCP inventory consumers

* fix: retain raw path JSON through native MCP transport

* test: resolve native transport through MCP dependencies

---------

Co-authored-by: Codex <codex@users.noreply.github.com>
* fix(package): scan semantic content for internal references

* fix(package): stream tar archives through stdin

* fix(package): share expected dist file contract

* fix(package): accept npm tar sizes and share archive fixtures

* fix(package): preserve compatible archive contents and share scanner

* fix(package): accept trailing zero padding

* fix(package): restore private directory modes before cleanup

* fix(package): read validated private extraction files

* fix(package): preserve basic V7 archive compatibility

* fix(package): preserve POSIX extended archive metadata

* fix(package): scan discarded sparse metadata with direct PAX lookup

* fix: inspect stored sparse bytes and preserve tar character locale

* fix: preserve existing stored archive content checks

* fix: check stored PNG assets and sparse sizes before extraction

* fix(package): retain native sparse paths and logical sizes

* fix(package): validate archive paths before decoding assets

* fix(package): retain native extraction and terminal path behavior

* fix(package): scan sparse assets after native reconstruction

* fix(package): scope sparse maps to local archive metadata

* fix(package): preserve old GNU sparse framing and metadata order

* fix(package): honor old GNU sparse map terminators

* Keep workflow interruption fixtures focused on three findings

* test: qualify sparse package fixtures with native tar

* Retain distribution modules and reconstruct PAX sparse assets

* fix(package): preserve sparse boundaries and GNU long names

* fix(package): exclude marker boundary delimiters

* fix(package): retain sparse text metadata context

* Validate sparse assets using installed npm contents

* Validate the manifest installed by npm

* Validate final npm-installed asset contents

* Validate installed asset paths and isolate package fixtures

* Use portable archive name fixtures

* Keep migration tests aligned with released history

* test(package): inspect extracted assets and rebalance Windows tests

* test(package): assert incompatible npm destinations

* fix(package): preserve retained sparse metadata boundaries

* test(package): follow direct Deep Scan execution

* test(sdk): isolate direct Deep Scan capability check

---------

Co-authored-by: mldangelo-oai <269034524+mldangelo-oai@users.noreply.github.com>
@mldangelo-oai
mldangelo-oai requested a balanced review from Copilot October 12, 2026 02:05
@mldangelo-oai

Copy link
Copy Markdown
Collaborator Author

@codex review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The configured-base diff spans numerous runtime and platform surfaces, and the description still requires current hosted cross-platform CI before readiness.

0 open findings

What changed in this PR

Preserves saved scan-comparison decisions while adding deterministic matching for identical reviewed content. The configured-base diff also contains extensive inherited platform, SDK, MCP, Action, evaluation, and tooling changes.

Changes:

  • Matches unambiguous findings by rule, primary location, and instance.
  • Preserves confirmed groups and explicit related decisions across aliases.
  • Expands cross-platform infrastructure, tests, schemas, and GitHub Action support.
File group Description
plugins/​codex-security/​scripts/​workbench_scan_history.py Implements deterministic matching and saved-decision precedence.
plugins/​codex-security/​tests/​test_workbench_scan_history.py Covers matching precedence, ambiguity, history, instances, and changed content.
sdk/​typescript/​src/​**, sdk/​typescript/​tests-ts/​** Updates SDK behavior, scan comparison, configuration, diagnostics, and test infrastructure.
plugins/​codex-security/​mcp-app/​** Expands Deep Scan execution, MCP tooling, schemas, and TypeScript tests.
plugins/​codex-security/​{scripts,schemas,references,skills,native}/​** Updates plugin runtime, contracts, documentation, and native support.
github-action/​** Adds the packaged GitHub Action, report validation, artifact handling, and cleanup.
evals/​** Relocates and expands model-evaluation infrastructure and fixtures.
.github/​** Updates CI, release automation, reusable actions, and static-analysis configuration.
docker/​**, compose*.yaml Revises container verification and removes the findings-service deployment.
examples/​**, docs/​**, .ona/​** Adds examples, connector documentation, and development-environment support.
Remaining configuration and generated files Aligns dependencies, compiler settings, lockfiles, ignored outputs, and generated bundles.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

and before["target_revision"] == after["target_revision"]
and before["target_snapshot_digest"] is not None
and before["target_snapshot_digest"] == after["target_snapshot_digest"]

P1 Badge Bind equivalent locations to the same scan root

When two scans target different subdirectories of one Git checkout, _same_repository accepts them through their common Git directory, while clean subdirectory scans share the same HEAD revision and empty worktree digest. Since finding paths are target-relative, src/x.py:10 under two sibling targets then receives the same equivalence key and is incorrectly reported as one persisting finding. Require the same canonical target root, or compare repository-relative locations, before enabling deterministic links.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/codex-security/scripts/workbench_scan_history.py Outdated
@mldangelo-oai mldangelo-oai changed the title fix(findings): preserve saved scan comparison decisions fix(findings): honor saved decisions during fallback matching Oct 12, 2026
@mldangelo-oai
mldangelo-oai requested a balanced review from Copilot October 12, 2026 03:24
@mldangelo-oai

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: da8c2459b2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The stacked diff spans matching logic, runtimes, native bindings, CI, and a new GitHub Action while hosted checks remain outstanding.

0 open findings

🧠 Review effort: Balanced

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working status:needs-triage Needs maintainer review, reproduction, or ownership

Projects

None yet

Development

Successfully merging this pull request may close these issues.