{
  "_table": "mcps_consolidated: every figure MCPS and MSDE publish, in one table. One row per school \u00d7 year \u00d7 measure (\u00d7 breakdown, where the source provides one), covering both individual schools and district totals. Filter `domain` for a topic \u2014 domain='mcap' returns the bulk downloads, the report-card scrape and the district series together \u2014 and `source` to pick which agency reported it. Single-source copies, with each agency's original values untouched: /data/mcps.parquet and /data/msde.parquet.",
  "source": "'mcps' (MCPS School Profiles PowerBI extraction), 'msde' (MSDE Maryland Report Card bulk downloads), or 'msde_reportcard' (MSDE report-card chart-API scrape \u2014 what the bulk files do NOT publish: school \u00d7 subgroup MCAP for 2022+, per-grade \u00d7 subgroup, race \u00d7 special-services intersections, and the authoritative district series). COVERAGE: per-grade \u00d7 subgroup cells were crawled for MS/HS/special schools only, so grade-level subgroup rows are sparse for elementaries by design.",
  "school_code_str": "3-digit MCPS school code, zero-padded string \u2014 the universal join key. Non-numeric MSDE pseudo-codes are preserved as-is.",
  "school_name": "School (or district aggregate) name as given by the source.",
  "school_type": "MCPS rows only: ES/MS/HS/other as classified by the source.",
  "level": "'school' or 'district' (district = countywide aggregate). Null on MCPS rows (all school-level).",
  "year": "School year, spring calendar year (2025 = SY 2024-25). MSDE has no 2020 (COVID).",
  "dataset": "Source table/file the row came from (MCPS source_table / MSDE dataset).",
  "domain": "Topic tag, populated for ALL rows \u2014 the primary filter (e.g. 'mcap', 'accountability', 'graduation', 'enrollment', 'finance'). MCPS rows use the source's own grouping; MSDE bulk rows are tagged from their dataset name; scrape rows are 'mcap'.",
  "population": "MCPS rows: population universe for the metric. Scrape rows: which subgroup DIMENSION the cell varies \u2014 'all', 'race', 'sex', 'service', 'race_x_service'.",
  "group": "MCPS rows: breakdown group (e.g. race, service group). Scrape rows: the subject ('ela'/'math'/'science').",
  "subgroup": "Member within the breakdown \u2014 e.g. 'FARMS', 'African Am.', or an intersection like 'Asian \u00d7 Economically Disadvantaged' (scrape race_x_service rows).",
  "grade": "Grade the cell covers where the source provides one; 'All' on scrape rows that are the cross-grade subject aggregate.",
  "category": "Source-specific sub-category of the metric (both sources).",
  "metric": "Metric name as given by the source.",
  "value": "Numeric value (double). Null when the source value is a label/flag/suppression marker \u2014 see value_text.",
  "value_text": "The raw source string when it is not a clean number (labels like 'Y'/'N', enum values, and suppression markers). Null when `value` is populated \u2014 except YYM staff-experience rows, which keep the packed source code beside the decoded value. Suppression provenance lives here: 'suppressed' = the source withheld the cell; 'suppressed:inferred' = the fetcher skipped a race\u00d7service cell because an already-archived marginal proved it suppressed (measured 0 usable cells lost in 42k) \u2014 the value was never requested.",
  "suppressed": "True when the value is withheld or only bounded (value is null; the marker \u2014 'suppressed', 'suppressed:inferred', '<= 5.0', '>= 95.0' \u2014 is kept in value_text, so a censored cell is never read as zero); False when a value is published. Null ONLY on identity/label rows (Assessment / Student Group siblings), which are not measures.",
  "concept": "Curated cross-source concept id where BOTH sources report the same fact (e.g. enrollment_by_grade_count). Null = no known cross-source duplicate.",
  "canonical": "Use rows WHERE canonical for one-answer-per-fact queries: for mapped concepts only the preferred source (default mcps) is canonical; all unmapped rows are canonical (no known duplicate).",
  "discrepant": "For concept cells reported by both sources: True when the values disagree beyond tolerance (see /data/source_discrepancies.json), False when they agree, null when not cross-checked. Discrepant cells deserve scrutiny before use \u2014 the sources genuinely disagree."
}