Skip to content

Add JOSS paper for submission - #201

Open
vahid-ahmadi wants to merge 7 commits into
mainfrom
joss-paper
Open

vahid-ahmadi wants to merge 7 commits into
mainfrom
joss-paper

Conversation

@vahid-ahmadi

@vahid-ahmadi vahid-ahmadi commented Sep 14, 2026

Copy link
Copy Markdown

Summary

  • Adds paper.md and paper.bib for submission to the Journal of Open Source Software
  • Adds CITATION.cff, CODE_OF_CONDUCT.md and .github/workflows/draft-pdf.yml, none of which the repository had
  • Paper is ~1,110 words, inside JOSS's 750–1,750 range

Follows PolicyEngine/policyengine.py#264, which was accepted and published.

This is a different paper from paper/

paper/main.tex is a 39-page empirical study — SCF-to-CPS wealth imputation, an SSI policy simulation, cross-dataset benchmarking. JOSS wants a short software paper and will desk-reject a research article, so this is a new, software-focused paper.md that cites the working paper as the validation study rather than replacing it.

The framing leads on the finding that justifies the package existing: benchmarking across seven domains shows no method dominates — QRF wins on nonlinear relationships, matching better preserves marginals, OLS stays competitive when relationships are near-linear. If performance is dataset-specific, the useful contribution is a harness that measures it, which is a stronger claim than "five imputation methods".

JOSS requirements

  • Public repository with browsable source
  • Issue tracker readable without registration
  • Public development history > 6 months — since February 2025, 474 commits, five contributors
  • paper.md with Summary, Statement of Need, State of the Field, Software Design, Research Impact Statement, Acknowledgements, AI Usage Disclosure, References
  • Word count 927, within 750–1,750
  • paper.bib — 13 entries, all cited, no orphans, all DOIs resolve
  • AI usage disclosure
  • Funding acknowledgement
  • CITATION.cff, validated against schema 1.2.0
  • CODE_OF_CONDUCT.md
  • Draft PDF workflow
  • OSI-approved licence — the repository has none. See microimpute has no licence, so all rights are reserved #197
  • ORCID for every author — María's is 0009-0007-4946-2248, verified against the ORCID registry
  • Author list and order confirmed by all named authors

Blockers before submitting

Must fix — correctness

A pre-submission audit of the models turned up a set of silent correctness bugs. A reviewer will run these methods, and they produce plausible wrong numbers rather than errors. A second round of review, with every finding independently reproduced by an adversarial verifier before filing, added #207-#213.

Must fix — compliance

  • microimpute has no licence, so all rights are reserved #197 — no LICENSE file, no licence in packaging metadata. This is the first item on the JOSS checklist, and it also means the five downstream repositories currently depend on all-rights-reserved code
  • Read the package version from installed metadata #200__version__ reported 1.1.2 while the package was 3.1.1 (PR open)
  • Wheel ships subpackages as package data, sweeping in stale __pycache__ and working-tree junk #211 — the wheel declares only the top-level package, so subpackages ship as package data via a **/* glob that also sweeps in stale __pycache__ (501 KB of build-host bytecode in a test build). pyproject.toml also lists two of the four authors, omitting the paper's corresponding author, and carries no license, classifiers or [project.urls]
  • Create a GitHub Release from a tag and archive to Zenodo for a DOI — there are six tags but zero releases
  • Expand .github/CONTRIBUTING.md beyond its current 12 lines to cover dev setup, running tests, reporting issues, and where to seek support

Should fix — reviewers will raise these

Worth considering

  • Move microimputation-dashboard/ to its own repository — a Next.js app roughly doubles the review surface for something that is not the Python package
  • Add a README in paper/ clarifying that the manuscript is an unpublished working paper distinct from this submission

An honest note on impact

Every dependent is inside the PolicyEngine organisation: policyengine-uk-data, uk-trade-shock-study, uk-public-services-imputation, nics-exemption-inactive-employees, imputation-paper. There is no identifiable external user, and the repository has 0 stars. JOSS does not require external adoption but reviewers weigh it. The strongest honest framing is production dependency — a microsimulation data pipeline depends on this — rather than community uptake, and that is how the paper puts it.

Authorship to confirm

Currently María (corresponding), Max, Nikhil, Vahid — by commit share that is 354 / 101 / 45 / small. @baogorek contributed 15 commits and is acknowledged rather than listed; worth confirming that is right with him.

The paper is a short software paper, distinct from the working paper in
paper/, which it cites as the validation study. It is framed around the
finding that motivates the package: benchmarking across seven domains shows
no imputation method dominates, so the useful tool is one that measures
which performs best on a user's own data.

Also adds a citation file, a code of conduct, and the workflow that builds a
draft PDF, none of which the repository had.

The author list and ORCIDs still need confirming, and the missing licence in
issue #197 blocks submission.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 14, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
microimpute-dashboard Ready Ready Preview Sep 16, 2026 11:28am UTC

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- fit/predict signatures matched to the actual API
- weights claim narrowed to OLS and matching
- six benchmark datasets, not seven domains, with the source's hedge
- optional extras (rpy2/StatMatch, PyTorch) disclosed
- statsmodels and R mice weight columns corrected to No
- dropped the uk-public-services-imputation claim (declares microimpute but never imports it)
Adds the donor-receiver framing, the autoimpute workflow end to end, and
the predictor-analysis utilities. Cites the policyengine JOSS paper in the
research impact statement and links the PolicyEngine website.
compute_predictor_correlations reports association, not contribution;
only leave_one_out_analysis and progressive_predictor_inclusion measure
contribution by loss.
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.

2 participants