generated from coulomb/repo-seed
- RepoRead schema: add last_sbom_at + sbom_source fields (already in model, now surfaced in API response) - repos.md: new dashboard page — KPI row (total/domains/ingested/gaps), domain-grouped coverage map with SBOM/EP/TD chips, per-repo table with gap highlighting, domain filter + gap-only toggle, ingest how-to section - observablehq.config.js: add Repos after Domains in nav Coverage state: 3 repos registered (custodian×1, railiance×2); 2 ingested (the-custodian + railiance-hosts), 1 gap (railiance-bootstrap — infra-only, no lockfile, expected) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>