US SLED Contact Directory — Education layer
Verification Report
Verification Report — US SLED Contact Directory
Real public-record data from the NCES Common Core of Data (CCD) — LEA Directory (via Urban Institute Education Data Portal). Verification asserts the directory is complete, correctly grouped by state, integrity-checksummed to its provenance, and that the four fields the source cannot supply (contact name, title, email, domain) are empty for every record — never fabricated.
Strictness: IRS_AUDITOR | Status: PASS 17/17 (100%) | Generated: 2026-06-26T11:57:10.796Z
Disclosed seams & limitations
- DISCLOSED SEAM — no named contact: the source (NCES Common Core of Data (CCD) — LEA Directory (via Urban Institute Education Data Portal)) does not publish a named individual per organization, so the "contactName" column is empty for all 19453 records. It is never fabricated.
- DISCLOSED SEAM — no title: there is no per-person job title in the source; the "contactTitle" column is empty for every record.
- DISCLOSED SEAM — no email: the source publishes no email addresses; the "email" column is empty for every record. Emails are not invented.
- DISCLOSED SEAM — no web domain: the source publishes no website/domain field; the "domain" column is empty for every record.
- SCOPE SEAM — education sector only: "SLED" here is realized as the Education layer (public K-12 school districts / LEAs). State agencies, county/municipal/local governments, and higher-ed institutions are NOT included in this build (see design/CAPABILITY_GAP.json capability seams).
- DATASET VINTAGE: data is the NCES CCD LEA Directory for school year 2023; it reflects that collection cycle, not today.
Directory metrics
| Metric | Value |
|---|---|
| totalOrganizations | 19453 |
| jurisdictions | 51 |
| statesPlusDc | 51 |
| phoneCoveragePct | 100 |
| realColumns | 16 |
| seamColumns | 4 |
| fabricatedValues | 0 |
| unsupportedSourceRecords | 0 |
| datasetYear | 2023 |
| contactsJsonBytes | 14549413 |
| contactsCsvBytes | 6921778 |
Checks
| Check | Detail | Result |
|---|---|---|
| Every record loads and totals agree across dataset + summary + manifest | contacts=19453, summary=19453, manifest=19453 | PASS |
| All 50 states + DC are present (51 jurisdictions), no extras | states=51, expected=51 | PASS |
| Every jurisdiction has at least one organization | emptyStates=0 | PASS |
| Every record has the real required fields (name, type, phone, state, provenance) | incomplete=0/19453 | PASS |
| Phone-number coverage is at least 99% | 100.0% (19453/19453) | PASS |
| DISCLOSED SEAMS are empty for every record (no fabricated name/title/email/domain) | seamFields=[contactTitle, contactName, email, domain], nonEmpty=0 | PASS |
| Every record carries the official source name + a source URL on the NCES/Urban host | badSource=0 | PASS |
| dataset/contacts.json matches the sha256 recorded in the provenance manifest | match=true | PASS |
| dataset/contacts.csv matches the sha256 recorded in the provenance manifest | match=true | PASS |
| Fetch log shows one HTTP 200 request per jurisdiction (51/51) | requests=51, non200=0 | PASS |
| Per-state grouping partitions every record exactly once | sum=19453 == 19453 | PASS |
| A per-state JSON file exists for all 51 jurisdictions with matching counts | all match | PASS |
| CSV header equals the canonical schema and row count equals record count | header=true, rows=19453/19453 | PASS |
| Grouping is deterministic and the dataset is canonically sorted (state, then name) | stable=true, globallySorted=true | PASS |
| Untouched raw API responses are retained as evidence and match the delivered counts | AK + DC match | PASS |
| Standalone site builds to public/index.html | built=true, 2265 KB | PASS |
| Site embeds the full directory (record count + state grouping + a known org) | embeds=true | PASS |