# 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 |

