…
- config/sources.d/*.yaml merged on top of the founding file by apps/engine/src/seeds.ts (`extend: true`
adds sensors to an existing source); classes: open source, central banks & finance, energy/climate/weather,
telecom & internet infra, retail/consumer/travel, gaming & entertainment, universities & research,
international orgs/NGOs/standards, sports, crypto, transport/aviation/space, consumer safety/food/agri,
housing/labour/open data, enterprise SaaS, health systems & medtech, politics/elections/courts, SEC EDGAR
(254 issuers), package registries, web posture, OpenAPI, status JSON, documents & data
- connectors: package (10 registries), edgar, statusjson (Instatus/incident.io/Status.io), openapi, csv, pdf
(unpdf), dns, tls, headers, rdap (IANA bootstrap); fetcher keepAllHeaders
- heuristics: connector-class priors + event types api_change, dns_change, domain_registration_change,
crawler_policy_change; 8-K items → earnings/leadership_change/breach/acquisition
- registry validator without DB (apps/engine/src/validate.ts, --probe), generators gen-edgar.py,
gen-web-posture.py, prune-fragment.py; docs/registry/AUTHORING.md + docs/connectors/*.md (16)
- SSRF: NAT64 addresses judged by the embedded IPv4 (IPv6-only hotspots)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>