Data Integrity
Why we display freshness markers
Some of the numbers we surface — IRS phase-out thresholds, SBA caps, regulatory dollar limits — change on a regular cadence. Every dated figure we surface to users carries a LAST_REVIEWED / REFRESH_BY marker noting when a maintainer last verified it against the authoritative source. CI fails if any REFRESH_BY date is past today, and refuses to let a maintainer kick the can with a cycle longer than 14 months.
The badge above is live: it counts the markers currently in the source tree and surfaces the next one due. When something is overdue we'd rather you see that bluntly than have us quietly serve stale figures.
How we catch drift before users see it
About a third of our test suite is "contract tests" — short regression gates that pin a specific failure mode. When a frontend chip computes data.float * 0.01 and the backend stops returning float, a contract test fails before the change ships. When a quiz explanation in the public lesson file diverges from the keys file the grader reads from, a contract test fails. When the OpenAPI schema drifts from what the live handlers actually return, a contract test fails.
These tests exist because each one closes the post-mortem of a real incident. A summary of recent catches appears below.
Recent drift catches
What our incident response looks like
When something breaks we work the incident against a written runbook, not an improvised one. Severity 0 incidents trigger a persona-quorum review before resolution; severity 1 and 2 incidents are reviewed in the next planning cycle and post-mortem'd when the lesson generalizes. We publish the material post-mortems in the open — including ones for issues caught before they reached a user — because we'd rather have a credible track record than an invisible one.
Report a data error
If you spot a number that looks wrong — a stale freshness marker, a chart that doesn't match the source, a quiz explanation that contradicts the lesson — please tell us. Every report is reviewed by a human, usually within two business days.
How we name our sources
Every dollar figure we display traces back to a named upstream: SEC EDGAR for filings, FRED for macroeconomic series, TRACE-reported bond trade data, BDC issuers' own SEC filings for credit holdings, and licensed market-data providers for prices. Where data is delayed or imputed we mark it. Where we don't have a source we say "not available," not zero.