Skip to content

Fix citation URLs, titles and attribution flagged by the date audit - #1248

Open
MaxGhenis wants to merge 2 commits into
mainfrom
fix/citation-urls-titles
Open

MaxGhenis wants to merge 2 commits into
mainfrom
fix/citation-urls-titles

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fixes the URL, title and attribution problems that the citation date audit (#1247, merged) flagged but left unchanged.

  • Two dead links are replaced: Common Sense Institute and the Atlanta Fed.
  • Four entries get the correct title or attribution: NYC Council, Rhode Island, AEI and Gounardes.
  • One headline the publisher changed is updated (UHERO).
  • Five shortened or paraphrased titles get the publisher's headline back.

The change is data only, in app/src/data/citations.json, which website/src/data/citations.json symlinks to. It changes 14 fields in 12 entries: 10 titles, 3 URLs (two dead links plus a page anchor on NYC), and the outlet of one entry (Rhode Island). Entry order, dates, images, tags and featured flags are unchanged.

I re-checked every item against the live publisher page on 2026-10-09. Where the live page is behind a bot wall, the item says which archived or alternate copy I used. Entry numbers are 0-based positions in the array, the same numbering #1247 uses.

Dead URLs

#19 Common Sense Institute, "The inflation hangover: how the post-pandemic price surge reshaped affordability in America"

  • Old: commonsenseinstituteus.org/ResearchUploads/CSI%20Report%20-%20State%20Affordability.pdf, now an nginx 404.

  • New: https://commonsenseinstituteus.org/research/the-inflation-hangover-how-the-post-pandemic-price-surge-reshaped-affordability-in-america-copy/

  • CSI's WordPress has four state editions of this report. Their state tags come from the WP REST API, /wp-json/wp/v2/research/<id>:

    Slug suffix Post ID State Page date Cites PolicyEngine?
    (none) 8758 Oregon March 23, 2026 yes
    -2 11035 Colorado March 17, 2026 no: the Colorado page replaces the "Appendix – Data and Methodology" section with footnotes and never mentions PolicyEngine
    -copy 12016 Arizona March 17, 2026 yes, in the appendix: "The 2025 estimates were calculated using PolicyEngine.org"
    -3 11288 Iowa March 19, 2026 yes
  • I picked the Arizona edition for three reasons:

    • It carries our March 17 date.
    • It keeps the PolicyEngine citation.
    • The original national PDF's author, Zachary Milne, is "CSI Arizona's Senior Economist" per the PDF's about-the-author page.
  • I matched it to the original national PDF this way:

    • I pulled the dead PDF from Wayback (capture 2026-03-18): 21 pages, cover "MARCH 2026", author Zachary Milne, ModDate 2026-03-16.
    • Every edition's "Download Full Report" link (wp-content/uploads/2026/04/CSI-Report-State-Affordability-REWRITE-with-WA.pdf) serves the same InDesign document. Its CreationDate matches (2026-03-09); only the ModDate is new (2026-04-24).
    • pdftotext output of the two is identical, including footnote xviii, "PolicyEngine, 'PolicyEngine Microsimulation Model,' accessed March 1, 2026."
  • The title already matches the page; it is unchanged.

#65 Federal Reserve Bank of Atlanta, "What's behind declining birth rates in the U.S.?"

  • Old: atlantafed.org/-/media/.../research/publication/working-paper/2026/05/13/05-...pdf. It is a soft 404: HTTP 200, page title "404 Page - Not Found".
  • New: https://doi.org/10.29338/wp2026-05
  • The DOI resolves (302) to the new landing page, atlantafed.org/research-and-data/publications/working-papers/2026/05/13/05-whats-behind-declining-birth-rates-in-the-us (live, 200).
  • Crossref's resource.primary.URL for the DOI was updated to that landing page in the site migration. That makes the DOI the link most likely to survive the next migration, and it follows the precedent of entry Create Policies: Create a policy with a reducer and log out the result #5 (doi.org/10.1016/...).
  • The landing page links the new PDF at /-/media/Project/Atlanta/FRBA/Documents/research-and-data/publications/working-papers/2026/05/13/05-whats-behind-declining-birth-rates-in-the-us.pdf (live, 200, 45 pages). The PDF cites PolicyEngine on the baby bonus ("(Trimmer 2025)"; references: "Trimmer, David. 2025. 'PolicyEngine.'").
  • Title unchanged.

Titles and attribution that did not match the source

#51 New York City Council

  • Title: "Testimony of Commissioner Gary P. Jenkins" → "A universal basic income for New York City's low-income residents"
  • URL: adds #page=104.
  • The legistar file (Hearing Testimony 5322.pdf, 115 pages, served Content-Disposition: inline) is the written-testimony packet for the General Welfare Committee's May 3, 2022 oversight hearing on unsheltered homelessness. Commissioner Jenkins's testimony is only its first document (pp. 1–8).
  • PolicyEngine appears on one page only: p. 109. That page is in Sachi Parikh's memo "A Universal Basic Income for New York City's Low-Income Residents" ("To: NYC Council, Mayor Eric Adams … Date: 2/25/22"). The memo runs pp. 104–112, including its "Work Consulted" list, not pp. 104–109 as Correct 33 citation dates to the publishers' own publication dates #1247 noted. The citation reads "Using PolicyEngine and OpenFisca's UBI modeling tool…".
  • The #page=104 fragment is the standard PDF open parameter. Chrome, Firefox and Safari open the packet at the memo; other viewers ignore it.
  • Date kept at 2022-05-03, the hearing date that Correct 33 citation dates to the publishers' own publication dates #1247 set.
    • The obvious alternative is the memo's own dateline, 2022-02-25. For testimony written for a specific hearing, Correct 33 citation dates to the publishers' own publication dates #1247 used the document's own dateline: Remove unneeded home page code #18 Rhode Island, dated Feb 26 rather than its Mar 3 hearing, and Properly reset relevant reducers post-creation flows #67 EPI. Correct 33 citation dates to the publishers' own publication dates #1247 picked May 3 for this entry only because it then credited the packet's cover testimony, which is Jenkins's.
    • This document is different. Parikh's memo never mentions the hearing, the General Welfare Committee or testimony (it mentions homelessness once in passing). It is a standalone policy memo written ten weeks before the hearing and later filed into the hearing record.
    • The card's outlet is the New York City Council, and the only public copy I can find is the Council's record of the May 3, 2022 hearing (packet PDF created 2022-05-09). The RI dateline sits one day before that document went online (server Last-Modified Feb 27). Here, the dateline would put the card ten weeks before any public copy I could verify.
    • So the date reflects when the named outlet published the memo: the hearing.
  • Outlet unchanged ("New York City Council"): the Council publishes the record.
  • FYI, not a blocker: the memo's own footnote 2 says the UBI modelling tool "was developed by economist Max Ghenis (MIT) in collaboration with Nikhil Woodruff and Sachi Parikh at the UBI Center". So the citing author is a former UBI Center collaborator.

#18 Rhode Island

  • Title: "Rhode Island House Committee on Finance H. 7127, Governor's proposed Child Tax Credit" → "Informational testimony on Rhode Island H. 7127, Governor's budget Article 5, Sections 5 and 6"
  • Outlet: "Rhode Island General Assembly" → "Prenatal-to-3 Policy Impact Center (Vanderbilt University)"
  • The 3-page PDF's heading reads:
    • "Vanderbilt University Peabody College of Education and Human Development"
    • "Rhode Island House Committee on Finance"
    • "H. 7127, Governor's Budget Article 5, Sections 5 and 6"
    • "Informational Testimony on Behalf of the Prenatal-to-3 Policy Impact Center"
    • "February 26, 2026"
  • It cites PolicyEngine's analysis of the Governor's credit (footnote 6, Trimmer 2026).
  • I changed the outlet as well because the file already names the testifying organization, not the hosting legislature, for testimony:
  • The date (2026-02-26, set by Correct 33 citation dates to the publishers' own publication dates #1247) is the testimony's own date and is unchanged.

#33 American Enterprise Institute

  • "…Ethan Penner's tax reform plan" → "…Ethan Penner's tax reform proposal"
  • The PDF headline is "An Analysis of Gubernatorial Candidate Ethan Penner's Tax Reform Proposal" (Kyle Pomerleau). It cites PolicyEngine-US in its sources line and footnote 11.

#44 New York State Senate (Gounardes, Jan 2025)

  • "…is the best way to help New York families" → "…is the best way to reduce poverty and support families"
  • The live page is behind a Cloudflare Turnstile check, which I did not attempt. I used the most recent Wayback capture (2026-01-05).
    • Its <title>, og:title and <h1> all read "Sen. Gounardes: My Working Families Tax Credit is the Best Way to Reduce Poverty and Support Families".
    • Its body cites "calculations by PolicyEngine".

#41 UHERO

  • "…could deliver $45M per year in SNAP benefits" → "…could deliver tens of millions in federally-funded SNAP benefits"
  • The live <h1> is "Hawaiʻi's Unnecessary Benefit Cliff: How One Small Policy Change Could Deliver Tens of Millions in Federally-Funded SNAP Benefits". The page was modified 2024-12-12; the URL slug still says "$45M per year".
  • The title now uses UHERO's ʻokina (U+02BB) in "Hawaiʻi".

#1 ITV Peston, left unchanged. ITVX titles the episode "Peston - Series 12 - Episode 15" (Wed 20 May, 10.45pm). The descriptive title "ITV Peston covers the fuel duty analysis" is deliberate. #1064 added this featured card to show "ITV Peston's coverage of the PolicyEngine fuel-duty analysis", and the episode title says nothing about that.

#27 King's College London, left unchanged pending a decision.

  • On the live project page, PolicyEngine appears only in project lead Christopher Holmes's bio: "Advisory board member for fiscal policy modelling company PolicyEngine (2024-)".
  • I queued for Max whether the entry should stay (d1187) rather than deleting it here.

Shortened or paraphrased titles

Rule I applied: use the publisher's headline in sentence case. Keep a prefix or subtitle when it says what the document is, or when it is part of the title. Drop pure distribution labels and teaser tails.

# Outlet Change Source headline
14 U.S. Senate (Booker) Restore "What they're saying:" and quote the second phrase "What They're Saying: Booker Announces Keep Your Pay Act to "Provide Wallet Relief" and "Put More Money in Your Pocket"". The prefix matters: the page is a roundup of coverage, including "Policy Engine US Analysis of Booker Plan: '73% of households gain'", not Booker's own announcement.
28 Progress and Poverty Institute "Universal land dividend: why land value tax and a universal basic income are even better together" <h1> "Universal Land Dividend: Why Land Value Tax and a Universal Basic Income are even better together". This also fixes the title-case "Land Value Tax" and "Universal Basic Income" in our old title.
42 Progressive Policy Institute "Paying for progress: a blueprint to cut costs, boost growth, and expand American opportunity" PPI's landing page (/budgetblueprint-2024/) title. The PDF cover reads "A Pragmatic Blueprint … & Expand"; I used the publisher's web title, which reads better.
60 Opportunity Arkansas Add "Pathway to prosperity:" PDF cover "Pathway to Prosperity: How to Phase Out Arkansas's Work-Punishing Personal Income Tax". The live PDF sits behind a Cloudflare check for curl. In the browser it loads (200, 3,921,670 bytes), and its SHA-1 (base32 M6LC56MUZW7ZG3OULLZFJRGHMPR6663V) matches the Wayback capture I extracted the text from. PolicyEngine is cited in note 75.
70 UChicago Inclusive Economy Lab "Making every dollar count: a closer look at benefits protection strategies implemented by guaranteed income pilots in Illinois" PDF cover. The old title was a paraphrase.

Left as is:

Decisions queued for Max

  • KCL (Build out Simulations: Create sim: Add policy/population frame #27): keep a citation whose only PolicyEngine mention is the project lead's advisory-board bio? Queued as d1187.
  • PPI "Paying for progress" (Correct multi year setter #42): PolicyEngine appears only in the acknowledgements. Max Ghenis is listed among outside individuals "who assisted and advised us with developing and modeling the policy proposals". This is the same question as KCL, so it is queued separately as d1188. The title fix stands either way.

Invariants (data change)

A small script made the edits and checked these before writing:

  • Array length is unchanged (72) and entries stay in the same order.
  • Every entry keeps the same keys in the same order.
  • Each edited field had exactly the expected old value. Its old JSON line occurred exactly once inside that entry's span and was the only line replaced.
  • No field outside the 14 listed edits changed; dates, images, tags and featured are byte-identical.

There is no code path to property-test. The site renders these strings as-is (CitationsClient.tsx and Citations.page.tsx read title, outlet, url and date).

Checks

  • bunx prettier --check app/src/data/citations.json passes from both the repo root and app/.
  • I curled every new URL: CSI 200 text/html; DOI → Atlanta Fed landing page 200; legistar 200 application/pdf.
  • Rendered on the Vercel website preview: every changed title, outlet and link appears on /us/citations, and the land-dividend entry on /uk/citations, because it is tagged uk.
  • Card fit: I simulated wrapping in Inter 500 14px with canvas measureText. It is calibrated against the live preview, where the simulation matched which titles clip at the 292px title box.
    • Fit at desktop width, within the three-line clamp: Booker, Gounardes, RI, UChicago and the rest.
    • Ellipsis below about 290px title width: Booker (288px) and UChicago (286px), cut at their tails.
    • UHERO's new publisher headline is clipped at 294px and below, which includes desktop. I kept it because it is the publisher's current headline, and the old UHERO title already clipped at narrow widths.
    • Before this PR, the GB News, old UHERO and Gold Bars titles already clipped below about 266px.

🤖 Generated with Claude Code

Replace two dead links (Common Sense Institute, Atlanta Fed), retitle
entries whose title or outlet did not match the cited document, and
restore publisher headlines that had been shortened or paraphrased.
Data only: url/title fields plus one outlet, JSON order and dates
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
policyengine-calculator-next Ready Ready Preview Oct 9, 2026 7:50pm UTC
policyengine-website Ready Ready Preview Oct 9, 2026 7:50pm UTC

Request Review

On the preview, the restored full titles overflow the card's three-line
clamp at desktop width (292px title box) and end mid-word in an
ellipsis. The existing titles are clean prefixes of the publisher's
titles, so they read better on the card.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

2 active deployments
Preview – policyengine-calculator-next — c7604447 Deployed Oct 9, 2026 by vercel[bot]
Preview – policyengine-website — c7604447 Deployed Oct 9, 2026 by vercel[bot]
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.

1 participant