Repository navigation
Preserve comparison and scan identities - #398
Open
John-David Dalton (jdalton) wants to merge 1 commit into
Open
John-David Dalton (jdalton) wants to merge 1 commit into
John-David Dalton (jdalton) wants to merge 1 commit into
Conversation
John-David Dalton (jdalton)
deployed
to
socket-firewall
October 13, 2026 16:08 — with
GitHub Actions
Active
John-David Dalton (jdalton)
added this pull request to stack #400
October 13, 2026 16:27
John-David Dalton (jdalton)
force-pushed
the
fix/python-diff-identity
branch
from
October 13, 2026 16:49
ef00228 to
666d16e
Compare
John-David Dalton (jdalton)
deployed
to
socket-firewall
October 13, 2026 16:49 — with
GitHub Actions
Active
John-David Dalton (jdalton)
removed this pull request from stack #400
October 13, 2026 16:58
John-David Dalton (jdalton)
changed the base branch from
main
to
codex/surf199-python-report-refs
October 13, 2026 16:58
John-David Dalton (jdalton)
added this pull request to stack #401
October 13, 2026 16:58
This was referenced Oct 13, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preserve the server comparison ID and both full-scan IDs so report consumers can distinguish a comparison from its scans.
Root Cause
The CLI discarded the server diff ID after fetching artifacts. Full-scan results also omitted the new scan ID.
Fix
Diff.id, public return values and standard JSON fields.Builds on #396. This change does not publish a release.
Validation
All 22 focused identity and HTTP transport tests pass, including a valid findings stream and final fallback identities. Scoped Ruff passes. The legacy polling suite remains unverified because the available environment lacks its
mockerfixture.Public Changelog
Preserve comparison and full-scan identities in Python CLI results.
Note
Medium Risk
Touches core diff/comparison plumbing and identity semantics used across CI outputs, though public tuple APIs and standard JSON fields stay backward compatible; incorrect ID propagation could mislink dashboards or downstream automation.
Overview
Preserves server comparison and baseline scan IDs through the Python CLI diff pipeline so consumers can tell apart the diff-scan resource, the new full scan, and the baseline scan.
The
Diffmodel gains optionalold_scan_idanddiff_scan_id(withnew_scan_idnullable for no-op runs) and aset_scan_ids()helper that keepsDiff.idaligned with the new scan. Diff polling now returns aDiffScanResult/PackageComparisonResultthat carries the API’sdiff_scan_id; legacyget_diff_scan_artifactsandget_added_and_removed_packageswrappers are unchanged.create_new_diffand full-scan flows populate all three IDs when the diff-scans path succeeds; streaming fallback leavesdiff_scan_idunset so abandoned server IDs are not surfaced.Alert cloning copies the new identity fields. Standard JSON output shape is unchanged (
full_scan_idstill maps todiff.id). Release 2.10.12 plus integration tests against a local HTTP fixture exercise real SDK transport for primary diff-scans, duplicate resolution, and fallback behavior.Reviewed by Cursor Bugbot for commit ef00228. Configure here.