US SLED Contact Directory — Education layer
Run & Deploy
Run & Deploy
Local run
cd delivery-package/us-sled-contact-directory
node src/collect.mjs # re-fetch the dataset from the public source
node verify.mjs # 17/17 checks; writes verification-report.*
node build-site.mjs # writes public/index.html
Requirements: Node >= 18. No npm install, no API key. Network is needed only for src/collect.mjs (host: educationdata.urban.org); verify.mjs is offline.
Use the data
- Open
dataset/contacts.csv(full) ordataset/by-state/<ST>.csv(per state). - Or open
public/index.htmlin a browser for the searchable, state-grouped view.
Publish (Forge pipeline)
cd ../..
node tools/forge-frontier.mjs --outcome delivery-package/us-sled-contact-directory
node tools/forge-proof.mjs --outcome delivery-package/us-sled-contact-directory --verify "node verify.mjs" --report verification-report.json
node tools/forge-gate.mjs --outcome delivery-package/us-sled-contact-directory --action publish
node delivery-package/us-sled-contact-directory/publish.mjs
node tools/forge-portfolio.mjs
The published site lands at published/us-sled-contact-directory/ and is deployed to GitHub Pages by .github/workflows/deploy-pages.yml on push to main.
Disclosed seams (read before using for outreach)
The contactName, contactTitle, email, and domain columns are empty — the source does not publish them (see proof/LIMITATIONS.md). Phone + address + organization name are real. For email/title/domain coverage, follow the v2 sourcing plan in design/CAPABILITY_GAP.json.