A Copilot That Says No

A natural-language-to-SQL copilot with no LLM in it: a deterministic router, 40 pre-approved SELECTs, results frozen at build time, and a refusal taxonomy — out-of-scope, untracked-agency, injection, and more, each with a named reason.

September 12, 2026 · 3 min · 601 words · Joanna Broderick

Did CBO's Baseline Age Well?

Three published vintages of CBO’s 10-Year Budget Projections checked against the actuals CBO later reported: receipts +$197bn above baseline, the deficit $162bn smaller — if you know which rows are forecasts and which are restatements.

September 12, 2026 · 3 min · 476 words · Joanna Broderick

Putting the Federal Budget in a Database

USAspending, Treasury, and FRED — no API keys, one SQLite file, 46,042 rows, and an audit trail for every call. The spine the rest of my portfolio runs on, and the three things the public data got wrong along the way.

September 12, 2026 · 4 min · 693 words · Joanna Broderick