Add JOSS paper for submission#264
Conversation
Adds paper.md and paper.bib for submission to the Journal of Open Source Software (JOSS). Paper covers all 6 required JOSS sections and cites adoption by 10 Downing Street, HM Treasury, NIESR, INET Oxford, IEA, and House of Lords parliamentary debate. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Rewrites paper.md to describe the policyengine package as a unified multi-country (UK + US) microsimulation framework rather than the UK-only policyengine-uk package. Updates title, summary, statement of need, state of the field, software design, and acknowledgements to reflect the country-agnostic architecture. Adds TAXSIM and US data references to paper.bib. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Adds congressional citation (Young Adult Tax Credit Act, H.R.7547), NBER partnership (TAXSIM emulator MOU), Niskanen Center CTC report, NTA conference presentation, and Georgetown Beeck Center collaboration to the Research Impact section. Adds corresponding BibTeX entries. Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Convert all British spellings to American English (organised → organized, programme → program, labour → labor, behavioural → behavioral, modelling → modeling, licence → license, etc.) - Fix Beeck Center citation: was pointing to a 2022 event but labeled as 2024. Replace with correct Better Government Lab collaboration reference (pe_bgl) - Soften Youngman et al. claim: confirmed paper cites PolicyEngine UK data but removed unverifiable direct quote - Remove unused beeck2024rac bib entry Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Change country order to "the US and the UK" - Remove "via the Simulation class" from Summary - Remove inline dataset names (Enhanced FRS, CPS) from Summary - Make Statement of Need more specific about access barriers for existing models (UKMOD requires institutional application, TAXSIM covers only taxes not benefits, HMT/IFS/CBO/TPC are fully proprietary) Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Update install instructions to match repo docs: pip install policyengine, policyengine[uk], policyengine[us], and uv pip install -e .[dev] for development - Remove backtick code styling from "Simulation class" in Statement of Need - Reorder State of the Field: US models first, then UK models Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Merge "Multi-country" and "Fully open-source" bullets into one - Add specific US program count (over 11) with full list: federal income tax, payroll taxes, state income taxes, SNAP, SSI, Social Security, Medicare, Medicaid, EITC, CTC, and TANF - Remove "Integration with the PolicyEngine web application" bullet Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Merge "Distributional analysis outputs" and "Labor supply dynamics" into single "Economic analysis" bullet - Change "policyengine package" to "policyengine.py package" - Delete "All code examples in the documentation are automatically re-executed" sentence - Remove "built 10ds-microsim on top of" reference, simplify to "used PolicyEngine" Co-Authored-By: Claude Opus 4.6 <[email protected]>
Academic research: - USC/HHS collaboration on effective marginal tax rates (Unrath) - DeBacker behavioral response modeling (Arnold Ventures) - Beeck Center rules-as-code reports (2023, 2025) Policy research: - DC District Child Tax Credit (first local CTC in US history) - Senator Booker Keep Your Pay Act calculator on Senate website - Reorder US citations before UK in both sections Acknowledgements: - Add US funders: Arnold Ventures, NEO Philanthropy ($200K grant), Gerald Huff Fund for Humanity, NSF POSE program - Keep Nuffield Foundation for UK Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Add Atlanta Fed Policy Rules Database MOU for multi-model validation in Institutional partnership section - Add NSF POSE Phase I award (2518372, $299,974) with nsf.gov URL - Update NBER TAXSIM MOU reference to use taxsim.nber.org instead of policyengine.org link - Update Arnold Ventures note to mention congressional district focus - Use external/official URLs for all references where available Co-Authored-By: Claude Opus 4.6 <[email protected]>
Consistently place US content before UK content in every section: Summary, Statement of Need, Software Design, Research Impact (Government adoption, Congressional/Parliamentary, Academic, Policy research), and Acknowledgements. Co-Authored-By: Claude Opus 4.6 <[email protected]>
…-installable to Python Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Redundancy review: repeated points in
|
- Use code formatting for policyengine-us and policyengine-uk - Replace em-dashes with commas in prose - Update date to 13 April 2026 - Regenerate paper-preview.html to match latest paper.md Co-Authored-By: Claude Opus 4.6 <[email protected]>
Pandoc-generated paper.html is no longer needed; paper-preview.html is the single maintained preview. Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Move Figure 1 directly after its reference sentence - Add "Figure 1:" prefix to figure caption - Add Table 1 caption - Remove code formatting from policyengine in table header - Merge 3 paragraphs into 2 in Software Design - Move macroeconomic limitation into first Software Design paragraph Co-Authored-By: Claude Opus 4.6 <[email protected]>
…tions - Remove Dynamic class mention (not demonstrated in paper) - Reduce ~150 words of redundant certification/reproducibility detail across Summary, Statement of Need, State of the Field, Software Design - Fix tlaib bib entry: rename key to tlaib2023, correct date to April 6, 2023 - Fix NSF POSE URL to use .jsp format - Remove redundant table intro sentence before Table 1 - Shorten Figure 1 caption - Sync all changes to paper-preview.html Co-Authored-By: Claude Opus 4.6 <[email protected]>
Resolve conflicts in Makefile, README.md, and docs/dev.md by adopting main's MyST version variable and docs-serve target. Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
Updated the JOSS manuscript on This pass made three paper-only changes:
I also synced |
- Retitle to "A Microsimulation Tool for Tax-Benefit Policy Analysis" - Set Vahid Ahmadi as first (corresponding) author - Add explicit build-vs-contribute framing and design trade-offs for JOSS criteria - Correct API description: calculate_household_impact vs Simulation class - Fix comparison table: UKMOD coverage (UK only), OpenFisca coverage (multi-jurisdiction) - Rename table row to "Python-native implementation" - Normalize package names in backticks (policyengine-core) - Unify to US English; add TRACE TROV citation; bump date to 17 April 2026 Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
The March draft referenced pre-v4 APIs that no longer exist. Replace:
- ``calculate_household_impact(USHouseholdInput(...))`` → ``pe.us.calculate_household(...)``
- ``USHouseholdInput`` (removed) → keyword-arg call
- ``state_code_str`` → ``state_code``
- ``Policy`` + ``ParameterValue`` + ``Parameter`` chain → flat
``reform={"gov.irs...": value}`` dict (now accepted on both
``calculate_household`` and ``Simulation``)
- Paper version 3.4.4 → 4.2.1
- Date 17 April → 20 April 2026
Also update the Statement of Need paragraph to name the actual v4
entry points (``pe.us.calculate_household`` / ``pe.uk.calculate_household``)
and mention that reforms share the same dict shape at both the
household and simulation levels.
The script referenced analysis.programme_statistics (UK spelling), but the API exposes analysis.program_statistics (US). Crashed at the final print after producing the rest of the output. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
@MaxGhenis — flagging for the readiness conversation. End-to-end test pass on
|
|
I ran a profiled duplicate of Summary of the run:
The memory behavior was the main concern:
This strongly supports the concern raised above that the US country package / examples are effectively too memory-heavy for normal local test runs. The UK package may be practical to exercise locally, but the US run is heavy enough that it can destabilize a developer workstation, at least on my machine. |
|
@vahid-ahmadi one follow-up from the instrumented US budgetary-impact run: the final The run completed the expensive baseline and reform simulations and produced the quick outputs:
The failure happened later inside "payroll_tax": {"entity": "person", "is_tax": True}The US model/output path appears to expose/materialize So my read is: if this lookup mismatch were fixed or skipped, the code probably would have continued past this point, albeit after a very resource-intensive run. But simply suppressing More generally, this is an inherently fragile pattern for the US package given the velocity of policy/model variable updates: hard-coded program-statistics variable names in |
ORCID left as a placeholder pending the author's submission. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
- Sync version to 4.10.0 across paper.md, paper.bib, CITATION.cff and paper-preview.html. - Drop six orphan bib entries that were no longer cited in the paper. - Note expected memory footprint of population-scale US runs in Software Design. - Add Anthony Volk to CITATION.cff alongside the paper.md author block. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Summary
paper.mdandpaper.bibfor submission to the Journal of Open Source Software (JOSS)What is JOSS?
JOSS is a peer-reviewed open-access journal for research software. It publishes short papers (750–1,750 words) describing open-source software with research impact. There are no submission fees. The review process happens on GitHub via openjournals/joss-reviews. See the submission guide and paper format for full details.
JOSS requirements checklist
Review suggestions status
From the self-review comment:
Additional fixes applied
Steps before submission
After submission
Test plan