{
  "ergo": "0.4",
  "datasets": [
    {
      "slug": "auditor-management-reports",
      "title": "NJ District Auditor's Management Reports",
      "publisher": "NJ Department of Education, Office of Fiscal Accountability and Compliance",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-21",
      "subject": "https://www.nj.gov/education/finance/fp/acfr/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "The FY2025 excess-surplus schedule is an audited-finance period record, not the later User-Friendly Budget proposal, current cash, or an audit finding.",
      "coverage": {
        "period": "FY2025, ending June 30, 2025",
        "grain": "district management report × schedule line or arithmetic check",
        "entities": "682 reviewed Aquifer identity links; publisher code 6183 remains quarantined"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/finance/fp/acfr/"
      ],
      "counts": {
        "issues": 0,
        "core": 0,
        "practices": 0,
        "effects": {}
      },
      "issues": [],
      "practices": [],
      "latest_change": "",
      "page": "auditor-management-reports.md",
      "page_url": "https://njschooldata.fyi/data/ergo/auditor-management-reports.md"
    },
    {
      "slug": "certificated-staff",
      "title": "NJDOE Certificated Staff",
      "publisher": "New Jersey Department of Education",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-22",
      "subject": "https://www.nj.gov/education/doedata/cs/index.shtml",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "District certificated FTE is published as four separate role rows, not an authoritative district total or a count of employees, payroll, cost, effectiveness, quality, or need.",
      "coverage": {
        "years": "2020-21 through 2025-26",
        "grain": "school year x district x certificated role",
        "entities": "16,044 district-role rows; 582 of 587 rendered budget districts have both staffing families"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/doedata/cs/index.shtml"
      ],
      "counts": {
        "issues": 2,
        "core": 1,
        "practices": 0,
        "effects": {
          "misleads": 2
        }
      },
      "issues": [
        {
          "id": "fte-is-not-headcount-or-payroll",
          "title": "Certificated FTE is fractional reported workload, not employee headcount, payroll, salary cost, effectiveness, quality, or need",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "district-total-is-derived",
          "title": "The district release has four certificated role rows but no authoritative district-total row",
          "effect": "misleads",
          "type": "measurement",
          "status": "mitigated",
          "core": true
        }
      ],
      "practices": [],
      "latest_change": "2026-07-22",
      "page": "certificated-staff.md",
      "page_url": "https://njschooldata.fyi/data/ergo/certificated-staff.md"
    },
    {
      "slug": "district-source-notes",
      "title": "District source notes (knowledge layer)",
      "publisher": "njschooldata (curated from public records)",
      "status": "live",
      "confidence": "B",
      "updated": "2026-07-10",
      "subject": "https://njschooldata.fyi/data/district-source-notes/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "Only rows with rights = public_record or link_quote may publish — anything else is rejected at build time, by the table's CHECK constraint, and by the check_notes_rights.py gate before any profile ships.",
      "coverage": {
        "entities": "South Orange-Maplewood SD only (district_code 4900) as of this writing; the layer is designed to extend to any NJ district",
        "years": "2026 (dates of the underlying statements/documents)",
        "vintage": "SEED list curated 2026-07"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://njschooldata.fyi/data/district-source-notes/"
      ],
      "counts": {
        "issues": 6,
        "core": 1,
        "practices": 0,
        "effects": {
          "breaks": 1,
          "corrupts": 1,
          "context": 4
        }
      },
      "issues": [
        {
          "id": "complementary-not-ufb-revision",
          "title": "Notes render beside UFB budget figures on district pages but are not a revision to them",
          "effect": "context",
          "type": "definitional",
          "status": "open",
          "core": true
        },
        {
          "id": "invalid-rights-blocks-publish",
          "title": "A rights value outside public_record/link_quote is rejected before it can publish",
          "effect": "breaks",
          "type": "coding",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "confidence-values-are-not-letters",
          "title": "Loaded rows use confidence values 'high'/'medium', not the documented A/B/C letters",
          "effect": "corrupts",
          "type": "coding",
          "status": "open",
          "core": false
        },
        {
          "id": "db-rebuilt-from-seed-each-run",
          "title": "district_source_notes is dropped and rebuilt from the SEED list on every run",
          "effect": "context",
          "type": "revision",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "internal-only-marker-is-freetext",
          "title": "The internal_only flag is a substring inside quote_or_claim, not a column",
          "effect": "context",
          "type": "coverage",
          "status": "open",
          "core": false
        },
        {
          "id": "source-url-non-http-not-linked",
          "title": "Local warehouse paths in source_url render without a link",
          "effect": "context",
          "type": "format",
          "status": "open",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-10",
      "page": "district-source-notes.md",
      "page_url": "https://njschooldata.fyi/data/ergo/district-source-notes.md"
    },
    {
      "slug": "essa-accountability-workbooks",
      "title": "NJDOE ESSA Accountability Calculation Workbooks",
      "publisher": "NJ Department of Education",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-22",
      "subject": "https://www.nj.gov/education/title1/accountability/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "These are 2024-25 policy-defined school calculations and 2026-27 annual TSI flags, not site grades or current CSI/ATSI status.",
      "coverage": {
        "period": "2024-25 measurement; April 2, 2026 workbooks; May 2026 guide; annual TSI effective 2026-27",
        "grain": "Comprehensive Summative school x metric; Targeted Summary school x flag group; Targeted Summary school x exact group list; publisher defect",
        "entities": "2,356 Comprehensive Summative school rows; 2,358 Targeted Summary school rows; 558 of 587 rendered budget districts match by exact code"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/title1/accountability/"
      ],
      "counts": {
        "issues": 0,
        "core": 0,
        "practices": 0,
        "effects": {}
      },
      "issues": [],
      "practices": [],
      "latest_change": "",
      "page": "essa-accountability-workbooks.md",
      "page_url": "https://njschooldata.fyi/data/ergo/essa-accountability-workbooks.md"
    },
    {
      "slug": "fall-enrollment",
      "title": "NJ DOE Fall Enrollment Reports",
      "publisher": "NJ Dept. of Education",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-21",
      "subject": "https://www.nj.gov/education/doedata/enr/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "'Two or More Races' and 'Native Hawaiian/Pacific Islander' don't exist before 2006-07 — and the warehouse stores 0, not NULL, for them in every earlier year, so a naive trend line reads a definitional change as a demographic swing.",
      "coverage": {
        "years": "1998-99 → 2025-26 (28 yrs)",
        "grain": "school year × school; also rolled up to school year × district",
        "entities": "744 districts, ~3,038 schools, all 21 NJ counties (plus charter / state-operated groupings)"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/doedata/enr/"
      ],
      "counts": {
        "issues": 18,
        "core": 2,
        "practices": 0,
        "effects": {
          "breaks": 5,
          "corrupts": 9,
          "misleads": 1,
          "context": 3
        }
      },
      "issues": [
        {
          "id": "era-format-drift",
          "title": "A parser must detect the era (CSV, long workbook, or School/District sheets) before it can read a row",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "era-b-file-quirks",
          "title": "2009-10 and 2010-11 are binary .xls (openpyxl can't open them directly); the filename inside the zip also isn't fixed",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "header-naming-variants",
          "title": "Race/sex columns use different header spellings by era (WhiteM vs WHM, and others)",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "grade-mislabeled-total-prgcode",
          "title": "Grade_Level reads 'Total' for every row in some Era B years; the real grade is in a separate PRGCODE column",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "header-row-not-first",
          "title": "Some sheets bury the header a few rows down; row 1 can be a title or note",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "era-b-vs-c-ambiguous",
          "title": "File extension alone can't distinguish the long-workbook era from the School/District-sheet era — both are .xlsx",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "count-percent-adjacency",
          "title": "Modern School/District sheets place a % column immediately after every count column",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "grade8-misspelled-header",
          "title": "The grade-8 header reads 'Eight Grade' (missing the 'h') in 2020-21 through 2022-23",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "race-category-scope-change",
          "title": "'Two or More Races' and 'Native Hawaiian/Pacific Islander' didn't exist before 2006-07; Asian's meaning narrows that year",
          "effect": "misleads",
          "type": "coding",
          "status": "open",
          "core": true
        },
        {
          "id": "pre-2006-race-fields-zero",
          "title": "The legacy producer stored 0 (not NULL) for hawaiian_pi/two_or_more before the categories existed",
          "effect": "corrupts",
          "type": "coding",
          "status": "mitigated",
          "core": true
        },
        {
          "id": "total-vs-grade-double-count",
          "title": "Era A/B files carry an authoritative Total row per school plus separate per-grade (and sometimes special-ed) rows",
          "effect": "corrupts",
          "type": "measurement",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "ungraded-students-shortfall",
          "title": "A school's pk..g12 columns can sum to less than its total; the gap is ungraded (mostly special-ed) students, not a parsing error",
          "effect": "context",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "fractional-shared-time-counts",
          "title": "Counts are not always integers — shared-time students split between schools are reported as halves",
          "effect": "corrupts",
          "type": "measurement",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "rollup-rows-as-schools",
          "title": "School code 999 or a 'TOTAL' name is the district's own aggregate row; district code 9999 or a county/state name is a rollup, not a real district",
          "effect": "corrupts",
          "type": "entry",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "suppressed-blank-cells",
          "title": "Missing/suppressed values show up as sentinel strings ('.', '*', 'N', '-'), not empty cells",
          "effect": "corrupts",
          "type": "suppression",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "school-identity-vs-name-drift",
          "title": "School names change, and even (district_code, school_code) has one known school-year collision that must be quarantined",
          "effect": "corrupts",
          "type": "linkage",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "synthesized-district-rows",
          "title": "district_enrollment mixes source-published district totals with rows we synthesized by summing member schools, distinguished by a synthesized flag",
          "effect": "context",
          "type": "measurement",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "non-race-dimension-coverage-phase-in",
          "title": "Non-race dimensions don't share one coverage window: FRL gaps 2019-20→2021-22, ML/migrant start ~2005-06, military/homeless start 2022-23",
          "effect": "context",
          "type": "coverage",
          "status": "open",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-16",
      "page": "fall-enrollment.md",
      "page_url": "https://njschooldata.fyi/data/ergo/fall-enrollment.md"
    },
    {
      "slug": "idea-classification-rates",
      "title": "NJDOE IDEA Section 618 Classification Rates",
      "publisher": "NJ Department of Education, Office of Special Education",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-21",
      "subject": "https://www.nj.gov/education/specialed/monitor/ideapublicdata/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "The classification rate is an October 15, 2024 administrative record, not the later UFB planning share or evidence of need, staffing, spending, service quality, or compliance.",
      "coverage": {
        "period": "October 15, 2024 reference date",
        "grain": "district overall classification row x metric; statewide category row x metric",
        "entities": "655 district reporting rows and 15 statewide rows; 558 of 587 rendered budget districts match by exact code"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/specialed/monitor/ideapublicdata/docs/2025_618data/2025IDEA618PublicReporting_ClassificationRates.xlsx"
      ],
      "counts": {
        "issues": 0,
        "core": 0,
        "practices": 0,
        "effects": {}
      },
      "issues": [],
      "practices": [],
      "latest_change": "",
      "page": "idea-classification-rates.md",
      "page_url": "https://njschooldata.fyi/data/ergo/idea-classification-rates.md"
    },
    {
      "slug": "noncertificated-staff",
      "title": "NJDOE Non-Certificated Staff",
      "publisher": "New Jersey Department of Education",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-22",
      "subject": "https://www.nj.gov/education/doedata/ncs/index.shtml",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "The publisher's district total is authoritative: 84 rounded 2020-21 role rows differ from it by 0.1 or 0.2 FTE, and FTE is not employee headcount, payroll, cost, quality, or need.",
      "coverage": {
        "years": "2020-21 through 2025-26",
        "grain": "school year x district x non-certificated support role, plus one publisher total",
        "entities": "32,048 district-role rows and 4,006 district totals; 582 of 587 rendered budget districts have both staffing families"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/doedata/ncs/index.shtml"
      ],
      "counts": {
        "issues": 3,
        "core": 1,
        "practices": 0,
        "effects": {
          "corrupts": 2,
          "misleads": 1
        }
      },
      "issues": [
        {
          "id": "fte-is-not-headcount-or-payroll",
          "title": "Non-certificated FTE is fractional reported workload, not employee headcount, payroll, cost, effectiveness, quality, or need",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "reported-total-rounding",
          "title": "Eighty-four 2020-21 district role sums differ from the publisher-reported total by 0.1 or 0.2 FTE",
          "effect": "corrupts",
          "type": "measurement",
          "status": "mitigated",
          "core": true
        },
        {
          "id": "post-sentinel-trailer-rows",
          "title": "Twelve rows after the declared table sentinel are duplicate or conflicting trailers, not accepted replacements",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-22",
      "page": "noncertificated-staff.md",
      "page_url": "https://njschooldata.fyi/data/ergo/noncertificated-staff.md"
    },
    {
      "slug": "spr",
      "title": "NJ School Performance Reports",
      "publisher": "NJ Dept. of Education, Office of Performance Reports",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-10",
      "subject": "https://www.nj.gov/education/spr/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "NJ publishes two 4-yr graduation rates — State and Federal — but only State is populated across years (27,115 of 27,201 trend rows; Federal in just 5,423, effectively one year); plotting Federal as a trend, or comparing states on it, is the classic misread.",
      "coverage": {
        "years": "2015-16 → 2024-25 (trend tabs post-COVID only — see spr/trend-tabs-post-covid-only)",
        "grain": "school year × entity × student group",
        "entities": "every NJ public school, district, and the state"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/spr/"
      ],
      "counts": {
        "issues": 13,
        "core": 1,
        "practices": 0,
        "effects": {
          "breaks": 4,
          "corrupts": 2,
          "misleads": 2,
          "context": 5
        }
      },
      "issues": [
        {
          "id": "url-host-split",
          "title": "Files live under /education/sprreports/, not the /education/spr/ landing path",
          "effect": "breaks",
          "type": "availability",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "layout-types-lie",
          "title": "Code columns typed 'Numeric' in the layout are zero-padded TEXT in the data",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "schoolyear-typing-inconsistent",
          "title": "SchoolYear is declared Numeric in some tabs' layout and Text in others, though the data is always the string \"2020-21\"",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "rate-prose-suppression",
          "title": "Rate cells carry % signs, prose suppression sentences, and >90%/<10% privacy caps",
          "effect": "breaks",
          "type": "suppression",
          "status": "mitigated",
          "core": true
        },
        {
          "id": "grad-state-vs-federal",
          "title": "State and Federal 4-yr graduation rates coexist; only State is populated across years",
          "effect": "misleads",
          "type": "measurement",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "monolithic-workbook-size",
          "title": "The school-level workbook is ~330 MB with ~80 tabs — a full non-streaming load is impractical",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "new-format-2024-25-xlsx-only",
          "title": "From 2024-25 on, NJDOE drops the zip, Access, and Reference Guide PDF variants",
          "effect": "context",
          "type": "availability",
          "status": "open",
          "core": false
        },
        {
          "id": "cohort-profile-text-suppression-tell",
          "title": "NonContinuing/Persisting columns on GraduationCohortProfile are typed Text while their siblings are Numeric",
          "effect": "breaks",
          "type": "suppression",
          "status": "open",
          "core": false
        },
        {
          "id": "trend-tabs-post-covid-only",
          "title": "The 2024-25 file's trend tabs start at 2020-21 or 2021-22, not earlier",
          "effect": "context",
          "type": "coverage",
          "status": "open",
          "core": false
        },
        {
          "id": "grade-aggregation-bias",
          "title": "Summing grade-test proficiency into a school-wide figure is biased by suppression and course-mix — a capped Algebra I once inflated one",
          "effect": "misleads",
          "type": "measurement",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "hs-no-sgp",
          "title": "StudentGrowthTrends has no rows for standalone high schools — SGP only exists for grades 4-8",
          "effect": "context",
          "type": "universe",
          "status": "open",
          "core": false
        },
        {
          "id": "math-cohort-grades-3-8-only",
          "title": "The cohort-diagonal view (a class followed as it moves up) only works for grades 3-8 math",
          "effect": "context",
          "type": "coverage",
          "status": "open",
          "core": false
        },
        {
          "id": "grade-mix-context",
          "title": "District/state context blends all tested grades; a school's value covers only its own",
          "effect": "context",
          "type": "definitional",
          "status": "open",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-10",
      "page": "spr.md",
      "page_url": "https://njschooldata.fyi/data/ergo/spr.md"
    },
    {
      "slug": "spr-discipline-safety",
      "title": "NJDOE SPR Discipline and Safety",
      "publisher": "NJ Department of Education, Office of Performance Reports",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-22",
      "subject": "https://www.nj.gov/education/spr/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "These are separate 2024-25 records of reported incidents and responses, not a combined safety score or evidence of cause, effectiveness, or budget performance.",
      "coverage": {
        "period": "2024-25 School Performance Report edition",
        "grain": "district headline x metric; district x HIB nature x metric; district x All Students publisher row x metric",
        "entities": "666 district reporting units; 576 of 587 rendered budget districts match by exact code"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/sprreports/download/DataFiles/2024-2025/Database_DistrictStateDetail.xlsx"
      ],
      "counts": {
        "issues": 0,
        "core": 0,
        "practices": 0,
        "effects": {}
      },
      "issues": [],
      "practices": [],
      "latest_change": "",
      "page": "spr-discipline-safety.md",
      "page_url": "https://njschooldata.fyi/data/ergo/spr-discipline-safety.md"
    },
    {
      "slug": "state-aid",
      "title": "NJDOE K-12 State Aid (GBM District Details)",
      "publisher": "New Jersey Department of Education, Office of School Finance",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-12",
      "subject": "https://www.nj.gov/education/stateaid/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "FY24/FY25 carry an 'Adjustment Aid' category that FY26/FY27 drop entirely, and the state budget act's aid collar (+6.00%/-3.00%) legally binds only primary categories — so a district's total year-over-year change routinely lands close to, but not exactly on, +6.00% or -3.00%.",
      "coverage": {
        "years": "2023-24 → 2026-27 (FY24-FY27, 4 yrs)",
        "grain": "school year × district (excludes charters and the statewide total row)",
        "entities": "574-578 NJ operating school districts and county vocational districts per year"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/stateaid/"
      ],
      "counts": {
        "issues": 5,
        "core": 1,
        "practices": 0,
        "effects": {
          "breaks": 2,
          "corrupts": 1,
          "misleads": 2
        }
      },
      "issues": [
        {
          "id": "county-code-not-in-source",
          "title": "The workbook's County column is a plain name; there is no county-code column at all",
          "effect": "breaks",
          "type": "linkage",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "adjustment-aid-retired-fy26",
          "title": "FY24/FY25 files carry an 'Adjustment Aid' category that FY26/FY27 files drop entirely",
          "effect": "misleads",
          "type": "definitional",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "filename-container-drift",
          "title": "FY26/FY27 publish a direct per-year xlsx; FY24/FY25 are only inside a zip, under a drifting filename",
          "effect": "breaks",
          "type": "availability",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "collar-primary-categories-only",
          "title": "The FY26/FY27 aid collar (+6.00%/-3.00%) legally binds only primary aid categories, not the published total",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": true
        },
        {
          "id": "state-total-row-embedded",
          "title": "A 'State'/'Total' rollup row sits directly beneath the last real district row",
          "effect": "corrupts",
          "type": "entry",
          "status": "mitigated",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-12",
      "page": "state-aid.md",
      "page_url": "https://njschooldata.fyi/data/ergo/state-aid.md"
    },
    {
      "slug": "tges-fund-balance",
      "title": "NJDOE TGES Fund Balance (Indicators 20 & 21)",
      "publisher": "New Jersey Department of Education",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-12",
      "subject": "https://www.nj.gov/education/guide/",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "'Actual (Used) or Generated' in Indicator 20 is a flow — the year's fund-balance activity per the audit — not a stock: it is not the district's total year-end reserve, and a negative value means the district *drew down* reserves that year, not that it ran a deficit.",
      "coverage": {
        "years": "2020-21 → 2023-24 (4 school years, from 3 report editions: 2023, 2024, 2025)",
        "grain": "school year × district",
        "entities": "653-658 NJ operating districts and charter schools per school year (unlike state-aid, TGES includes charters)"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/guide/"
      ],
      "counts": {
        "issues": 4,
        "core": 1,
        "practices": 0,
        "effects": {
          "breaks": 1,
          "corrupts": 1,
          "misleads": 1,
          "context": 1
        }
      },
      "issues": [
        {
          "id": "actual-balance-is-a-flow-not-a-stock",
          "title": "'Actual (Used) or Generated' is the year's audited fund-balance movement, not the district's total year-end reserve",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": true
        },
        {
          "id": "report-year-overlap",
          "title": "Each TGES edition republishes the immediately preceding fiscal year alongside its newest one",
          "effect": "context",
          "type": "coverage",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "container-format-drift",
          "title": "2023 ships every TGES indicator as CSV inside one big zip; 2024/2025 ship one xlsx per indicator",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "cp1252-csv-decode",
          "title": "The 2023 edition's CSG20.CSV/CSG21.CSV contain cp1252 smart quotes that break a strict UTF-8 decode",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-12",
      "page": "tges-fund-balance.md",
      "page_url": "https://njschooldata.fyi/data/ergo/tges-fund-balance.md"
    },
    {
      "slug": "ufb",
      "title": "NJDOE User-Friendly Budgets",
      "publisher": "New Jersey Department of Education, User Friendly Budgets",
      "status": "live",
      "confidence": "A",
      "updated": "2026-07-12",
      "subject": "https://www.nj.gov/education/budget/ufb/index.shtml",
      "derived_from": [],
      "version": "",
      "implementation": "https://github.com/lavallee/njschooldata",
      "pitfall": "The per-pupil figures are NJDOE's own published comparative-cost calculation, not something to recompute from spending and enrollment — and every dollar column silently mixes actual, revised, original, and proposed budget bases.",
      "coverage": {
        "years": "2019-20 → 2025-26",
        "grain": "budget year × district (school code blank)",
        "entities": "NJ operating school districts that file a User-Friendly Budget"
      },
      "missingness": {},
      "unknowns": [],
      "source_urls": [
        "https://www.nj.gov/education/budget/ufb/index.shtml"
      ],
      "counts": {
        "issues": 20,
        "core": 3,
        "practices": 0,
        "effects": {
          "breaks": 3,
          "corrupts": 4,
          "misleads": 9,
          "context": 4
        }
      },
      "issues": [
        {
          "id": "cp1252-encoding-drift",
          "title": "Some UFB CSV downloads are not UTF-8 and break a naive decode",
          "effect": "breaks",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "filename-suffix-drift",
          "title": "CSV filenames use different year suffixes between years (rev26.csv vs rev25_minus_1.csv)",
          "effect": "breaks",
          "type": "availability",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "mixed-budget-bases",
          "title": "Actual-cost, original-budget, revised/current-budget, and proposed-budget columns are mixed within one file",
          "effect": "misleads",
          "type": "measurement",
          "status": "open",
          "core": true
        },
        {
          "id": "do-not-recompute-comparative-cost",
          "title": "Comparative cost per pupil is NJDOE's own calculation; recomputing it gives a different number",
          "effect": "misleads",
          "type": "measurement",
          "status": "open",
          "core": true
        },
        {
          "id": "zero-comparative-cost-zero-enrollment",
          "title": "A few rows publish $0 comparative cost per pupil with 0 estimated on-roll",
          "effect": "corrupts",
          "type": "entry",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "fund-specific-categories",
          "title": "Revenue and appropriation rows belong to specific funds, not one all-funds ledger",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "overlapping-subtotal-detail-rows",
          "title": "Subtotal and detail rows overlap and do not add up to a clean total",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "ufb-planning-vs-fall-enrollment",
          "title": "UFB planning enrollment is the budget denominator and differs from fall enrollment",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": true
        },
        {
          "id": "sent-received-overlap",
          "title": "Enrollment file's sent and received rows are not mutually exclusive population categories",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "tax-rate-slices",
          "title": "Estimated tax rates are per $100 of valuation, come in regional/municipal slices, and include implausible rows",
          "effect": "misleads",
          "type": "definitional",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "tax-levy-label-drift",
          "title": "The operating tax levy appears under different labels across years (Local Tax Levy / Local Tax Levy-Base Budget / Total Tax Levy)",
          "effect": "corrupts",
          "type": "coding",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "line31-blank-labels",
          "title": "Enrollment line 31 (post-secondary, other) is sparse and carries blank labels in loaded CSVs",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "recap-amount4-close-balance",
          "title": "Recap amount_4 is the projected close-of-year balance, not an appropriation",
          "effect": "misleads",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "side-files-not-totals",
          "title": "The recap/esttax/unusual/shared/schapp/employees files are reader context, not replacement totals",
          "effect": "context",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "shared-service-savings-self-reported",
          "title": "Shared-service amount_saved is district-reported, not an audited saving",
          "effect": "context",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "salary-self-reported",
          "title": "Administrative salary/benefit rows are self-reported and mix incompatible units",
          "effect": "context",
          "type": "definitional",
          "status": "open",
          "core": false
        },
        {
          "id": "admin-salary-header-drift",
          "title": "The administrative salary files changed the district-code header (district_id vs EMP_DISTRICT_ID)",
          "effect": "corrupts",
          "type": "format",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "ufb-coverage-gaps",
          "title": "Some district-profile entities have no matching UFB row at all",
          "effect": "context",
          "type": "coverage",
          "status": "open",
          "core": false
        },
        {
          "id": "omitted-distress-districts",
          "title": "NJDOE omits some fiscally-stressed districts from the statewide UFB revenue/recap files",
          "effect": "breaks",
          "type": "coverage",
          "status": "mitigated",
          "core": false
        },
        {
          "id": "doe-loan-in-state-sources",
          "title": "The Department of Education Loan Against State Aid sits inside Total State Sources but is debt, not aid",
          "effect": "misleads",
          "type": "definitional",
          "status": "mitigated",
          "core": false
        }
      ],
      "practices": [],
      "latest_change": "2026-07-12",
      "page": "ufb.md",
      "page_url": "https://njschooldata.fyi/data/ergo/ufb.md"
    }
  ],
  "base_url": "https://njschooldata.fyi/data/ergo/"
}
