Skip to content

Fix unsupported subevents in PLD Poisson accounting - #558

Merged
copybara-service[bot] merged 2 commits into
mainfrom
test_1008357506
Oct 28, 2026
Merged

copybara-service[bot] merged 2 commits into
mainfrom
test_1008357506

Conversation

@copybara-service

Copy link
Copy Markdown
Contributor

Fix unsupported subevents in PLD Poisson accounting

Propagate the inner CompositionErrorDetails from the generic Poisson branch. Previously, PLDAccountant.supports() and compose() could accept unsupported nested events, including the example in #492 that reports epsilon zero. Returning the original error lets composition preflight reject the event before changing the parent ledger or accounting state, while preserving the offending subevent and diagnostic.

Fixes #492.

Validation:

24 parameterized regressions cover unsupported events and neighboring-relation mismatches, nested sampling/composition, and empty or prepopulated accountants. They fail on the unchanged source and pass with the repair; rejection preserves ledger, epsilon and delta.

377 tests pass across the PLD accountant, RDP accountant, event, event-builder and mechanism-calibration modules, including those 24 regressions. Supported Gaussian, Laplace and generic sampled-event controls retain their results.

Separate local public-API and pinned consumer-source comparisons preserve supported baseline/fixed results. These are bounded integration checks, not full training or application tests.

The reported regression is on unpublished main; released dp-accounting==0.6.0 already rejects the original example.

Closes #545

FUTURE_COPYBARA_INTEGRATE_REVIEW=#545 from autoCAT6:fix-pld-poisson-unsupported-subevents 38f7412

@copybara-service
copybara-service Bot merged commit f40a015 into main Oct 28, 2026
19 checks passed
@copybara-service
copybara-service Bot deleted the test_1008357506 branch October 28, 2026 19:29
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.

The PLDAccountant silently accepts unsupported Poisson-subsambled events and charges nothing for them

2 participants