04 — Contribution Plan
Identical workflow to docs/cities/philly/04_contribution_plan.md; only
the branch map differs. Read that file for the rules (sync first, additive
and feature-flagged, shared-infrastructure changes ship as a separate
NYC-facing PR first, no force-pushes to merged branches, never commit
source bytes — provenance and small reference CSVs only).
Branch per capability — miami/<item>
| Order | Branch | Maps to | Scope |
|---|---|---|---|
| init | miami/init | this folder | design docs, sources.yaml, probe/, provenance, reference tables |
| 0 | miami/repo-setup | P0 | miami_* Prisma models, pipeline_miami/discover.py, scripts/loaders/miami/_lib.ts, empty configs |
| C0 | miami/closure-data | C0 | FLDOE membership + FISH + ESSA PPE + ABC-book fetch and PDF-table parsers |
| 1 | miami/source-ingest-outcomes | P1 | MSID directory, School Grades, SRS assessments, learning gains, graduation, absenteeism, SESIR loaders |
| C1–C2 | miami/closure-loaders, miami/closure-validation | C1–C2 | MiamiSchoolEvent, enrollment/capacity/PPE loaders, harness |
| 2 | miami/source-ingest-survey | P2 | climate-survey workbooks (students / parents / staff) |
| C3 | miami/closure-analysis | C3 | packet, page, proof trees for /miami/methodology/analysis/enrollment |
| 3 | miami/derive-peer-groups | P3 | KNN peer groups + percentiles |
| 4 | miami/validation | P4 | (i)–(iii) per metric; School Grades + CCD/EDFacts/CRDC references |
| 5 | miami/site-and-stories | P5 | routes, navbar city tab, stories, methodology hub |
Commit-message style: sentence-case, scope-prefixed imperative, e.g.
Miami: add FISH level-of-service PDF parser + base-case check.
PR description template (unchanged): what item it ships · what is new vs. lifted · how to run it · what stayed unchanged · QA-report links.