Windows ci debug - #4
Closed
peterboncz wants to merge 0 commit into
Closed
Conversation
peterboncz
force-pushed
the
windows-ci-debug
branch
from
February 19, 2026 21:31
df8c6a5 to
35bec88
Compare
ila
added a commit
that referenced
this pull request
Jul 2, 2026
…ity mode, trace Address code-review findings on the dp_sass_avg_method='ratio' path: - Clamp the released noised_sum/noised_count ratio into the public avg domain [dp_sass_avg_lower_bound, dp_sass_avg_upper_bound] (free DP post-processing), so ratio mode respects the same output domain as lane_average instead of leaving the mean unbounded (#2). - Read + validate the avg bounds in ratio mode too, so an inverted range is rejected rather than silently ignored (#3). - Skip the AVG ratio projection under dp_sass_stability_query_mode, which emits raw per-lane recorded values for diagnostics rather than a released ratio (#4). - Add PRIVACY_DEBUG_PRINT at the ratio decomposition decision (#6). WrapAvgRatioProjection gains an optional output clamp (off by default, so the Laplace modes are unaffected). Tests for the clamp and the inverted-range rejection in dp_sample_median.test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ila
added a commit
that referenced
this pull request
Aug 28, 2026
Checked against actual source (729 blobs from google/differential-privacy, fetched raw) and primary papers, with an independent refutation pass that re-fetched every load-bearing quote. #1 Frozen group set SHIPS. Tumult Analytics get_groups() + KeySet is the exact technique, tutorial spends delta once then runs under PureDPBudget. Privacy on Beam documents the derive-then-reuse case in pbeam/count.go and ENFORCES it (checkPartitionSelectionEpsilon). Codelab states the amortisation rationale verbatim. Residue: nobody costs a PERSISTENT key set across later sessions - a systems framing, not a mechanism. #2 Adaptive base is a config flag: SetBase/SetScale/SetNumBins are public in approx-bounds.h. Residue: Wilson et al. hard-code base 2 while the library parameterises it, Java has no setter, nothing auto-derives from a public bound. Contribution is the tuning rule and the 1.68x, never the capability. #3 Gaussian votes are pre-empted comprehensively - GaussianPartitionSelection in Google C++ with sqrt(max_partitions_contributed), Go dispatching on l0Sensitivity > 3, PipelineDP's GAUSSIAN_THRESHOLDING and WEIGHTED_GAUSSIAN_THRESHOLDING, OpenDP make_gaussian_threshold, and Qrlew's gaussian_tau as a line-for-line match. Gopi et al. ICML 2020 call it straight-forward and use it as a benchmark; Desfontaines et al. PoPETs 2022 publish the crossover at kappa=3 with the same eps/delta invariance I measured at k_h=4.3. My result is a rediscovery. AND a false claim to strike: 'no per-user truncation to C_u is needed' is definitively false - DPSU's Weighted Gaussian still pre-truncates to Delta_0. Gaussian buys sqrt(k_u) instead of k_u, it does not remove the cap. #4 Count-conditioned shrinkage is the only survivor, narrowly. Near misses to pre-empt: Private-PGM (a reviewer will say a count and a sum are just two measurements) and Debiasing Functions of Private Statistics (FORC 2025). #5 l1 norm clip: prior art exists (Harrison & Manurangsi, Lr norm constraints, r=1 as a drop-in Laplace replacement) but the report's PipelineDP citations were misattributed - max_contributions caps the NUMBER of contributions, not a rescaled norm. Least settled; needs a manual check. Net: the measurement work survives (tau floor proof, k_u scope condition, resonance, metric critique, two privacy bugs). The mechanism claims do not. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
moving the windows CI to a branch and PR, not to pollute the main branch with endless commits/pushes
because they are incoming -- debugging windows through CI (sigh)