cd ~ / blog
~ /blog
Notes on what I’m building and learning.
- You Can Only Test What You Kept Deterministic: pytest for a LangGraph AgentA LangGraph agent test suite: two seconds, no API key, zero LLM calls. Every invariant moved out of the prompt becomes a function you can pytest.
- The 429 Is a UX Problem: Shipping an LLM Demo on Free-Tier KeysRate limits on free-tier keys aren't an edge case — they're the weather. Classifying two kinds of 429, honest retry times, and a provider fallback.
- Zero Fabrication by Construction: A Multi-Agent Resume Tailor on Google ADKAn agent pipeline that rewrites your resume for a job description — and is structurally incapable of inventing experience you don't have. Honesty enforced by an eval tripwire that must read zero, not by a hopeful prompt.
- Trustworthy RAG: Bounding-Box Citations and Conditional OCRA RAG chatbot you can verify at a glance — every answer highlights the exact region of the page it came from, scanned PDFs get OCR only when a page needs it, and every layer has a fallback.
- Cite or Refuse: Debugging a Fluent Hallucination in a LangGraph Research AgentMy multi-agent research assistant produced a polished report full of fabricated APIs — and it looked MORE trustworthy the longer it ran. The fix wasn't a better prompt: evidence-carrying state, a deterministic validation gate, and a cite-or-refuse contract.