Skip to content

[codex] privatize swift query selection#31

Draft
vvv214 wants to merge 1 commit into
google:mainfrom
vvv214:codex/private-swift-selection
Draft

[codex] privatize swift query selection#31
vvv214 wants to merge 1 commit into
google:mainfrom
vvv214:codex/private-swift-selection

Conversation

@vvv214

@vvv214 vvv214 commented Jun 17, 2026

Copy link
Copy Markdown

Summary

This draft PR makes pipeline SWIFT query selection use DP-noised error scores.

  • split SWIFT budget requests into selection-score and measurement budgets
  • add Gaussian noise to the vector of candidate errors before swift.select_queries
  • use the measurement budget only for final selected marginal measurements
  • avoid writing exact errors into diagnostic output
  • add focused tests for score noising and invalid selection-budget fractions

Why

The pipeline path computed exact candidate marginals, converted them into exact error scores, and passed those errors into clique-tree/query selection. The budget request named Swift Select Queries was being used as a source for measurement allocation rather than privatizing the selection scores.

Validation

  • python3 -m py_compile dpsynth/pipeline_transformations/swift.py tests/pipeline_transformations/swift_test.py
  • rg -n "Swift Select Queries|compute_errors\\(|select_queries\\(" dpsynth/pipeline_transformations/swift.py tests/pipeline_transformations/swift_test.py
    • confirms the old budget name is gone
    • confirms exact errors are still computed as an intermediate but swift.select_queries is reached after _add_noise_to_errors

Full pytest was not run locally because this checkout's test dependencies (pipeline_dp, mbi, dp_accounting, Beam/JAX stack) are not installed in the current environment, and the local Python is 3.14 while the project declares <3.14.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant