PolicyEngine / PolicyEngine/microcosm-dynamics

Repo hygiene: 12 open items are superseded, stale, or obsolete

Open
#387 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1
Forks
1
Avg merge
1h 46m
Merged PRs (30d)
28

Description

Audit of the 24 open issues and 17 open PRs. 10 of 24 open issues are registration rounds their own successors already declare consumed. Filing the list rather than closing unilaterally, since most belong to another workstream.

A. Superseded registration chains — 10 issues

Both ceremonies name their predecessors as consumed in the live issue, so these are bookkeeping, not judgment calls.

Anchor-context report (forecast ledger entry 10). #328 states verbatim: "Registrations 1–4 were consumed (#317, #319, #322, #324 — incidents 1–5 all committed, latest records merge 809eeeb2)."

  • close #317, #319, #322, #324 — keep #328

First-estimates report (forecast ledger entry 8). #307 states: "Registration 6 (#305) was consumed by incident 6."

  • close #288, #289, #292, #295, #299, #305 — keep #307

That is 42% of the open issue list, all self-declared spent.

B. Stale PRs — 2

PR Why
#3 "Add proposed timeline and budget (for team discussion)" — draft, 8 months old, zero reviews, last touched 2025-12-12
#339 Kauffman Firm Survey reader — superseded, see below

On #339 specifically. KFS was the project's only observed firm microdata, which was its whole justification. #386 adds 987,039 current firm records (Form 5500 sponsors plus OSHA ITA establishments) covering all 97 SUSB sector × canonical-band cells. KFS is 4,928 firms from a single 2004 startup cohort followed only to 2011 — #339's own body concedes it "is an old startup cohort—not a current all-firm frame—and contains no worker roster or observed SIPP/CPS link."

It also carries a licensing problem the replacements do not: #339 notes the KFS archive provides no explicit redistribution license, so raw rows must stay out of Git. Form 5500 and OSHA ITA are US federal works published without stated restriction. And #339 is stacked on #228, adding depth to the queue.

Recommend closing with a pointer to #386. The KFS profiling work remains citable from the closed PR if young-firm trajectories are ever wanted.

C. Needs an owner decision — 3 PRs

#202, #217, #218 — all drafts, created 26–27 days ago, zero reviews, untouched since creation:

  • #202 M7 design: trust-fund accounting on the projected panel
  • #217 Alignment machinery design: production-mode reconciliation
  • #218 Immigration module design: new-entrant cohorts

A design document with no reviewer is functionally an issue, not a PR. Suggest converting to issues unless a referee round is actually scheduled.

D. Reconsider — #282

Synthetic-firm layer scoping. Its motivating question was "the current approach doesn't generate synthetic firm microdata — how do RAND/Urban do it?" That premise no longer holds for the firm frame: observed firm microdata exists and covers the grid (#192, #386), so no generated firm population is required.

Open questions 1–3 are already closed on the issue with primary sources. Only Q4 — the exact aggregate-E12 statistic and its noise floor — survives, and it is a post-IC3 ADR item. The E12 re-scope question also survives, since it concerns the assignment, not the firm rows.

Suggest closing with a summary and opening a narrow successor for Q4, or retitling to scope it to the assignment audit.

E. Untriaged, needs the owner — 8 issues

No recommendation; flagging only that none has moved in about a month: #37, #42, #45, #74, #100, #106, #113, #151.

Net effect

Acting on A–D takes 24 open issues to ~11 and 17 open PRs to ~4 (after the four pre-IC3 merges already landed today: #277, #274, #224, #228).

Also noted, unrelated to cleanup: the repository is now microcosm-dynamics while the package is still populace_dynamics (#373). New modules added in the meantime, including #386's readers, import the old name and will need the rename ceremony.

cc @MaxGhenis — sections A, C and E are yours.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading sections A–D and the referenced issues #328, #307, #386, and #282 to verify which work is superseded and which decisions remain. Done means applying the agreed cleanup, including pointers or successor issues where appropriate, but sections C and E still require owner decisions.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
developer-experience
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.