The complete, honest walk through the data platform and product — from raw regulatory feeds to the insight on a user's screen, and the two switches still standing between them.
Twenty sources land in a single append-only table, ride a seven-stage bus, become mandate events, and are recomputed into insight at read time. Here is that road — and the gate that stops most traffic today.
Each source is exactly one fetcher file — no registry, no abstraction. They do not parse; they only land raw payloads, idempotently. Not all of them feed the product, and the deck is honest about which.
Bronze is not a data lake of files. It is a single Postgres table — raw_document — append-only and content-addressed. Re-ingesting is free and changes nothing. Provenance starts here and is load-bearing for the rest of the journey.
A document is dispatched once, then flows stage to stage as an envelope on NATS JetStream. Every stage is a pure shell — subscribe, run, publish next. Failures never vanish; they park and stay replayable.
Silver is the structured truth: discrete mandate signals, the storylines that group them, the parties involved, and the GLEIF-anchored entity graph that lets the product know two names are one company.
There is no warehouse of pre-aggregated marts. Every insight is a SQL query that runs the moment a user asks — five families of them, straight over the silver tables.
| Endpoint | Reads | Serves |
|---|
Present in the schema but never read by the API — pipeline-side write targets only:
Each journey is one real path from a public filing to a user's screen — with an honest verdict on whether it works today, is built-but-gated, or needs a switch.
A great onboarding deck earns trust by naming its own gaps. Each of these is known, documented in-repo, and config- or build-gated — not an architectural dead-end.