Agent middleware

Agent Middleware: What Kept Obelisk's Agents in Line

Obelisk is the AI marketing platform we build at Entropy Labs. It runs more than fifteen specialist agents: brand voice, SEO, email, paid ads, strategy and so on, all behind one API. Writing an agent turned out to be the easy part. The hard part was everything wrapped around each model call: which model to use, what to do when the conversation gets long, how to stop an agent calling the same tool forever, when to ask a human before spending money, and what to do when something fails. Early on, each agent handled those things its own way. That didn’t last. ...

April 8, 2026 · Updated September 2026 · 5 min · Muhammad Hassan Raza
Legal intake fraud scoring

Scoring Fraud in Legal Intake Calls

Mass tort firms run intake lines that take a lot of calls from people who may qualify for a case: they took a certain drug, had a certain device implanted, lived near a certain plant. Some share of those callers aren’t who they say they are. Some are coached and reading from a script. Some never used the product. Some call back under a different name. RISQ listens to those calls, scores them, and recommends one of three things: send the caller on to a closer, flag them for a human to review, or quarantine the call. This post is about how the scoring works in principle. The actual weights and thresholds belong to the client, so they’re not here. ...

April 8, 2026 · Updated September 2026 · 4 min · Muhammad Hassan Raza
LangChain in production

LangChain in Production: What the Tutorials Leave Out

Every LangChain tutorial ends where the real work starts. A tidy script queries a PDF, you think you’ll ship it by Friday, and a few weeks later you’re working out why a chain returns an empty string with no error. I’ve shipped LangChain-based features at WebNoodle and at Entropy Labs, and we still use it for Obelisk’s agents. So this is about where I’ve found it pays for itself, and what I now do by default when it does. ...

February 1, 2026 · Updated September 2026 · 3 min · Muhammad Hassan Raza