Repository navigation
Rules-engine adoption panel: expected-penalty accounting bounds for all 53 states - #45
Merged
Merged
Conversation
…ates
Per case, zero the error dollars whose recorded QC cause codes sit in the
committed computing-apparatus classes (strict {17,19,20}; broad
{10,17,19,20,21,22}), re-anchor at official x (1 - class share), and re-run
the Monte Carlo through the FY 2026 election and delay machinery. FY 2025
stays locked history, so adoption flows only through the simulated FY 2026
measurement. Presented as labeled accounting bounds, never causal; the
delay-state branch prices deferral honestly (deferral keys the first bill
to a later, unsimulated year). National takeaway gains the summed
FY 2028 range; artifact is SHA-256-pinned in app.js and locked by test.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A bound above the baseline is the delay clause, not a higher tier: the election keys FY 2028 to min(draw, FY 2025), so a lower measured rate can only reduce the billed tier — the one channel that raises the expected bill is fewer draws crossing 13.33% and deferring to unsimulated years. New York (13.18%, 42% baseline deferral odds) rises $630M -> $1.02B under the broad bound; the copy now states the mechanism instead of calling it a saving. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New @sec-adoption composes the @sec-decompose cause classes with the election and delay machinery: national FY2028 sums 7.67B -> 7.52B (strict) / 6.23B (broad); the delay-lottery nonmonotonicity (NY 630M -> 1.02B under the broad bound at an unchanged tier); GA's deferral mechanics; the in-kind distinction from the retired accounting levers. Abstract clause, decompose forward reference, roadmap consistency fix, FACTS section M, wrapper -> revision 6 (iframe v=r6-20260812). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The source QC CSV is a local research artifact; CI locks the committed artifacts (Gate A vs cause_shares.json, Gate B vs data.json, the SHA-256 pin), while the regeneration and ordering gates run locally before the export is committed — the repo's existing convention for raw-file gates. Co-Authored-By: Claude Fable 5 <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.
Answers "how does adopting the rules engine affect expected penalty" as a labeled accounting bound, per state, for all 53 jurisdictions.
Data layer
analysis/build_engine_scenario.py+app/public/engine_scenario_data.json(186 KB): per-caseany_strict/any_broadflags in the exactdata.jsoncase order, plus full-precision state shares of official error dollars, for the committed cause classes (strict {17,19,20}: programming, mass change, arithmetic; broad {10,17,19,20,21,22}: + policy misapplied, computer-user, incorrect budgeting).tests/test_engine_scenario.py): exact 1e-9 reconciliation of shares againstanalysis/cause_shares.json; 2e-6 bound on shares recomputed from the roundeddata.jsonarrays (observed max 5.7e-7, serialization scale); ordering invariant (data.json arrays reproduce exactly from the source CSV underload_casesfilters); byte-deterministic double-build; SHA-256 pin inapp.jsmatches the committed artifact.App layer
Suite: 185 passed.
🤖 Generated with Claude Code