Repository navigation
Replace dead Mid-Atlantic state reference URLs - #9769
Merged
Merged
Conversation
Repoints dead reference URLs to the same document at a live official URL, an official page with the same content, or a pinned Wayback capture of the dead URL. Only URLs change. Lists the dead prefixes in known_dead_reference_urls/midatlantic.toml for the offline guard. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9769 +/- ##
============================================
- Coverage 100.00% 73.65% -26.35%
============================================
Files 4 58 +54
Lines 76 930 +854
Branches 2 4 +2
============================================
+ Hits 76 685 +609
- Misses 0 245 +245
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Cite the live VDOE Child Care Program Guidance Manual (Appendix F, Level 1 Maximum Reimbursable Rates) for the thirteen Virginia child care rate and ready-region references instead of an archived open-data page. The part-day factor keeps the archived dataset page, which is the only source for it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Hand-off to the US + core hub (session 621e3c96-545d-4048-a211-43cf6d93cfe8).
|
Contributor
Author
|
Merged by the US + core hub on the merge gates:
|
MaxGhenis
added a commit
that referenced
this pull request
Oct 4, 2026
Resolved two Maryland conflicts with #9769 by taking its replacement URLs and re-adding the missing commas. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 tasks done
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.
Summary
Part of the repo-wide audit of dead reference URLs outside tax.ny.gov (follow-up to #9711 and #9730). This PR covers the Mid-Atlantic (Maryland Comptroller and Montgomery County, DC Office of Tax and Revenue, Delaware DHSS, Pennsylvania Revenue, Virginia DSS and open data, West Virginia DHHR and BFA, New Jersey).
#page.ruff formatre-wrapping eleven Python tuples whose longer URL pushed a line past 88 characters. A script checked that every changed line underparameters/,variables/anddocs/differed from the old line only inside URLs before formatting.policyengine_us/tests/code_health/known_dead_reference_urls/midatlantic.tomllists 39 of the dead prefixes, so the offline guard from Replace dead NY tax department reference URLs #9711 fails if they return.How each URL was checked
curl -sL -A "Mozilla/5.0"on 2026-09-30, rechecked with a Chrome user agent. A 403, 429 or bot challenge counted as unknown, not dead, and was rechecked inside a real browser page; URLs still behind a bot wall were left unchanged. A 200 that landed on a home, search, login or not-found page counted as dead.pdftotexton the cited#pagefor PDFs). Disputed items went to an adjudicator under fixed rules: the agency's own site, then another official publisher, then a Wayback capture of the dead URL. Third-party mirrors (taxformfinder.org, NBER and the like) were not accepted for official citations.#pageexists in its PDF. A few replacements behind bot walls were confirmed in a browser instead.Changes
https://bfa.wv.gov/media/2766/download?inlinehttps://bfa.wv.gov/media/40005/download?inlinehttps://data.virginia.gov/dataset/general-child-care-subsidy-program-maximum-reimbursement-rateshttps://web.archive.org/web/20251223225619/https://data.virginia.gov/dataset/general-child-care-subsidy-program-maximum-reimbursement-rateshttps://dhhr.wv.gov/bcf/Services/familyassistance/Documents/726/726%20ch11_1.pdfhttps://web.archive.org/web/20161226193813/https://dhhr.wv.gov/bcf/Services/familyassistance/Documents/726/726%20ch11_1.pdfhttps://dhhr.wv.gov/bcf/Services/familyassistance/Documents/744/ch10_apa.pdfhttps://bfa.wv.gov/media/40005/download?inlinehttps://dhhr.wv.gov/bcf/Services/familyassistance/PolicyManual/Documents/Chapter%2011/ch11_3.pdfhttps://bfa.wv.gov/media/40005/download?inlinehttps://dhss.delaware.gov/dss/childcr/https://web.archive.org/web/20260614012446/https://dhss.delaware.gov/dss/childcr/https://dhss.delaware.gov/wp-content/uploads/sites/11/dss/pdf/OCT2022COLA.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/2/dss/pdf/OCT2022COLA.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/11/dss/pdf/PurchaseofCareProviderHandbook_FINAL1_25_2023.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/2/dss/pdf/PurchaseofCareProviderHandbook_FINAL1_25_2023.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/11/dss/pdf/detanfstateplan2017.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/2/dss/pdf/detanfstateplan2017.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/11/dss/pdf/tanf_ffy2012_stateplan.pdfhttps://dhss.delaware.gov/wp-content/uploads/sites/2/dss/pdf/tanf_ffy2012_stateplan.pdfhttps://marylandtaxes.gov/forms/22_forms/502CR.pdfhttps://web.archive.org/web/20250228155322/https://marylandtaxes.gov/forms/22_forms/502CR.pdfhttps://marylandtaxes.gov/forms/24-forms/502CR.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/forms/2024/502CR.pdfhttps://otr.cfo.dc.gov/page/individual-income-tax-special-circumstances-faqshttps://web.archive.org/web/20220726171620/https://otr.cfo.dc.gov/page/individual-income-tax-special-circumstances-faqshttps://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2023_D40_Book_Final_012324https://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2023_D40_Book_Final_012324.pdfhttps://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2025_D40_Book_Final_wLinks_021226_v1.0.pdfhttps://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2025_D40_Book_082026_v1.pdfhttps://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2025_D40_Book_Final_wLinks_030526_v1.0.pdfhttps://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2025_D40_Book_082026_v1.pdfhttps://www.dss.virginia.gov/files/division/bp/tanf/manual/200_7-20.pdfhttps://www.dss.virginia.gov/media/vdss/benefit-programs/documents/tanfx2fview/tanf/Chapter-200---Categorical-Eligibility-Requirements.pdfhttps://www.dss.virginia.gov/files/division/bp/tanf/manual/300_11-20.pdfhttps://web.archive.org/web/20210719231146/https://www.dss.virginia.gov/files/division/bp/tanf/manual/300_11-20.pdfhttps://www.dss.virginia.gov/media/vdss/benefit-programs/documents/tanfx2fview/tanf/Chapter-300---Need-and-Amount-of-Assistance.pdfhttps://www.dss.virginia.gov/files/division/bp/tanf/manual/700_07-20.pdfhttps://www.dss.virginia.gov/media/vdss/benefit-programs/documents/tanfx2fview/tanf/Chapter-700---TANF-UP-Unemployed-Parent-Program.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2022/Resident_Booklet.pdfhttps://interactive.marylandtaxes.gov/Individuals/iFile_ChooseForm/PriorYearForms/Resident_Booklet_2022.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2023/Resident_Booklet.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2023/Resident-Booklet.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2024/Resident_Booklet.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2024/Resident-Booklet.pdfhttps://www.marylandtaxes.gov/forms/20_forms/502CR.pdfhttps://web.archive.org/web/20210421021929/https://www.marylandtaxes.gov/forms/20_forms/502CR.pdfhttps://www.marylandtaxes.gov/forms/20_forms/Resident_Booklet.pdfhttps://interactive.marylandtaxes.gov/Individuals/iFile_ChooseForm/PriorYearForms/Resident_Booklet_2020.pdfhttps://www.marylandtaxes.gov/forms/21_forms/502CR.pdfhttps://web.archive.org/web/20220511190607/https://www.marylandtaxes.gov/forms/21_forms/502CR.pdfhttps://www.marylandtaxes.gov/forms/21_forms/Resident_Booklet.pdfhttps://interactive.marylandtaxes.gov/Individuals/iFile_ChooseForm/PriorYearForms/Resident_Booklet_2021.pdfhttps://www.marylandtaxes.gov/forms/22_forms/Resident_Booklet.pdfhttps://interactive.marylandtaxes.gov/Individuals/iFile_ChooseForm/PriorYearForms/Resident_Booklet_2022.pdfhttps://www.marylandtaxes.gov/forms/24-forms/Nonresident-Booklet.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2024/Nonresident-Booklet.pdfhttps://www.marylandtaxes.gov/forms/24-forms/Resident-Booklet.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2024/Resident-Booklet.pdfhttps://www.marylandtaxes.gov/forms/current_forms/Md_Tax_Computation.pdfhttps://web.archive.org/web/20200929021131/https://www.marylandtaxes.gov/forms/current_forms/Md_Tax_Computation.pdfhttps://www.marylandtaxes.gov/forms/current_forms/Resident-Booklet.pdfhttps://www.marylandcomptroller.gov/content/dam/mdcomp/tax/instructions/2023/Resident-Booklet.pdfhttps://www.montgomerycountymd.gov/OLO/Resources/Files/eis/2021/EIS-EBill14-21.pdfhttps://assets.montgomerycountymd.gov/files/EIS-EBill14-21.pdfhttps://www.nj.gov/humanservices/providers/grants/public/publicnoticefiles/Draft%20New%20Jersey%20State%20Plan%20for%20Temporary%20Assistance%20for%20Needy%20Families%20(TANF)%20FFY%202024%20-%20FFY%202026.pdfhttps://www.nj.gov/humanservices/notices/documents/public-notices/Draft%20New%20Jersey%20State%20Plan%20for%20Temporary%20Assistance%20for%20Needy%20Families%20(TANF)%20FFY%202024%20-%20FFY%202026.pdfhttps://www.nj.gov/treasury/taxation/proptaxdeduc_credit.shtmlhttps://www.nj.gov/treasury/taxation/njit35.shtmlhttps://www.nj.gov/treasury/taxation/staynj/calculation.shtmlhttps://web.archive.org/web/20260710135754/https://www.nj.gov/treasury/taxation/staynj/calculation.shtmlhttps://www.revenue.pa.gov/FormsandPublications/FormsforIndividuals/PIT/Documents/2021/2021_pa-40in.pdfhttps://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2021/2021_pa-40in.pdfhttps://www.revenue.pa.gov/FormsandPublications/FormsforIndividuals/PIT/Documents/2021/2021_pa-40sp.pdfhttps://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2021/2021_pa-40sp.pdfhttps://www.revenue.pa.gov/FormsandPublications/FormsforIndividuals/PIT/Documents/2022/2022_pa-40dc.pdfhttps://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2022/2022_pa-40dc.pdfhttps://www.revenue.pa.gov/FormsandPublications/FormsforIndividuals/PIT/Documents/2023/2023_pa-40dc.pdfhttps://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2023/2023_pa-40dc.pdfhttps://www.revenue.pa.gov/FormsandPublications/FormsforIndividuals/PIT/Documents/2023/2023_pa-40in.pdfhttps://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2023/2023_pa-40in.pdfLeft unchanged
These URLs are not changed here; each needs more than a URL swap or turned out not to be dead.
https://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/: not-dead (False positive. In pa_property_tax_or_rent_rebate_income.py, lines 11, 14 and 17 each start a URL split over three implicitly concatenated Python string literal)Not listed in the guard
https://otr.cfo.dc.gov/sites/default/files/dc/sites/otr/publication/attachments/2023_D40_Book_Final_012324: replacement differs only in scheme or www., which the guard treats as the same URL.Pre-existing citation gaps (not fixed here)
The replacement keeps the original document and page, but the cited page does not show every value the file uses. These need a separate look because one URL is shared by files that cite different pages.
https://dhss.delaware.gov/wp-content/uploads/sites/11/dss/pdf/detanfstateplan2017.pdf#page=6: Same document, same page; recipient $30+1/3 (p7) and the $50 child-support disregard (absent) were never on the cited page.https://www.marylandtaxes.gov/forms/24-forms/Resident-Booklet.pdf#page=14: Same 2024 booklet on the renamed agency domain (pp14/18/20/22/26 text identical to the Jan 2025 capture). EITC and poverty-credit values were on pp22/26, never p14.https://www.marylandtaxes.gov/forms/24-forms/Resident-Booklet.pdf#page=20: Same 2024 booklet, same page. The $1,200 two-income cap (max_two_income_subtraction.yaml) is on p18, a gap already in the original.https://www.marylandtaxes.gov/forms/24-forms/Nonresident-Booklet.pdf#page=13: Same 2024 Nonresident booklet (Feb 27 2025 reprint; p13 values unchanged). Single $2,700 is on p12, a gap already in the original. A resident booklet would be a different document.https://www.marylandtaxes.gov/forms/current_forms/Md_Tax_Computation.pdf: Exact-URL capture; every 2020-2025 capture has the same digest. The 2%/3%/4% brackets were never in this 1-page table, a gap already in the original.https://www.marylandtaxes.gov/forms/21_forms/Resident_Booklet.pdf#page=12: Byte-identical live copy; page kept. pension/min_age.yaml's age 65 is on p13, a gap already in the original (dropping the page per the verifier would lose precision).https://www.marylandtaxes.gov/forms/22_forms/Resident_Booklet.pdf#page=13: Byte-identical live copy; page kept. sources.yaml spans subtractions on pp13-18, a gap already in the original.Changes after review
An independent review (GPT-6.1 Sol) found no wrong replacement and raised three should-fix items:
ruff formatbecause the longer URLs push a line past 88 characters. CI'sruff format --checkfails without it. So in those files the change is the URL plus the wrapping of the surrounding tuple; the reviewer confirmed by AST comparison that logic and values are unchanged.#page=7to#page=6on the archived form, because the 32% credit and thresholds it cites are on page 6; Replace dead NY tax department reference URLs #9711 corrected page citations the same way. The reviewer's alternative, a 2023 Department of Legislative Services report, is a different document from the Form 502CR the reference title names.Overlap with #9627 and #9609
Both of those open PRs (untouched since late September) edit reference lines in Maryland files this PR also touches, so whichever lands second will need a small rebase:
md/tax/income/agi/subtractions/max_two_income_subtraction.yaml,credits/ctc/amount.yaml,exemptions/aged/age.yaml,exemptions/aged/amount.yaml,md_dependent_care_subtraction.py.md_two_income_subtraction.py,md_deductions.py.Verification
pytest policyengine_us/tests/code_health/test_known_dead_reference_urls.pypasses locally, including the new entries.ruff format --check .(locked ruff 0.15.5) passes.axiom: n/a: reference-only
🤖 Generated with Claude Code