Fix North Dakota 2026 income tax thresholds - #9165
Conversation
|
@MaxGhenis This is ready for maintainer review: exact head |
Program Review — PR #9165 (Fix North Dakota 2026 income tax thresholds)Author: PavelMakarchuk Source Documents
Branch Status⚠ 6 commits behind main (1 ahead). Minor; review scoped to the merge-base diff. SummaryClean, correct TY2026 value update across all five filing statuses. 0 critical. Every 2026 bracket threshold matches ND-1ES 2026 p.2 exactly, correctly routed to the right status, correctly dated at PDF / value audit — all 10 thresholds match ND-1ES 2026 p.2
Base-amount cross-checks reproduce the form's printed "your tax is" column exactly ((250,400−49,575)×0.0195 = $3,916.09; MFJ $4,329.98; separate $2,164.99; HoH $4,118.40). MFJ and QSS correctly share one schedule per the form; no status file received another's thresholds; CriticalNone. Should Address (minor / cosmetic)
Suggestions (optional)
Validation Summary
Review Severity: APPROVEAn exemplary, fully-verified 2026 multi-status threshold update: every value matched against ND-1ES 2026 p.2 with base-amount cross-checks, correct MFJ/QSS sharing, and comprehensive per-status boundary tests. No functional issues — only a cosmetic reference-title wording fix and a pre-existing trailing-zero cleanup. Rebase off the 6-commit lag before merge. Review generated with Claude Code via /review-program |
…ing zeros - Retitle the 2026 reference on all five filing-status files from "estimated income tax worksheet" to "Form ND-1ES tax rate schedules"; the href and #page=2 anchor were already correct. - Normalize joint.yaml's three 2023-01-01 top-bracket rates 0.0250 -> 0.025 to match the other four files, and drop a whitespace-only line. - Document the TY2026 boundary-case arithmetic so the fractional expected values are self-explaining. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Brings the branch up to date with main (was 507 commits behind) as requested in review. The only conflict was additive in policyengine_us/tests/core/test_state_indexed_frozen_parameters.py, where main added a Rhode Island 2026 block and this branch adds a North Dakota one; both are kept. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> # Conflicts: # policyengine_us/tests/core/test_state_indexed_frozen_parameters.py
|
@DTrim99 review items addressed in f454be4 — re-requesting review. Applied
Not applied, with reasoning — happy to change if you disagree
Verification on the merged head: |
Program ReviewSource Documents
Critical (Must Fix)None. Should AddressNone. Suggestions
PDF Audit Summary
All 10 added TY2026 thresholds (2 breakpoints × 5 filing statuses) match the official 2026 Form ND-1ES page 2 exactly. Independent regulatory recomputation confirms both the thresholds and the printed base-tax amounts:
The 0% / 1.95% / 2.50% rate structure is unchanged; the only rate-line edit is a harmless Validation Summary
Review Severity: APPROVENext StepsTo auto-fix issues: 🤖 Generated with Claude Code /review-program |
DTrim99
left a comment
There was a problem hiding this comment.
Claude nits are optional, lgtm
Summary
Source
North Dakota Office of State Tax Commissioner, 2026 Form ND-1ES, page 2.
Checks
make format(includes Ruff formatting and lint)uv run pytest -c pyproject.toml policyengine_us/tests/core/test_state_indexed_frozen_parameters.py -k nd -q(32 passed)uv run pytest -c pyproject.toml policyengine_us/tests/test_parameter_files.py -q(6 passed)