AI in Practice

Agents & Tooling

Coding agents, MCP, and the surrounding plumbing, as used on real work.

Everything in Agents & Tooling

  • A three-tier permission model for MCP server tools: autonomous, needs-confirmation, and prohibited.

    09/17/2026

    Writing an MCP Server That Doesn't Leak

    Most MCP guides stop at wiring up a first tool. This is what happens after -- a three-tier permission model, a five-point audit checklist, and a boundary example in code, for a server built in-house or one you're just integrating.

  • Diagram: a build, a gate and a screenshot all reporting green, next to the same file failing the moment it was actually downloaded and opened.

    09/13/2026

    Every Check Passed but One

    A free browser tool that draws this site's own post covers, and the single quoting bug that got through a build, a gate and a screenshot before anyone actually opened the file it produced.

  • Diagram: four labeled failure cards -- a matched filename, dev server timing, an invented test fact, and a plausible-sounding wrong answer.

    09/10/2026

    Four ways an AI agent was confidently wrong on a migration

    Each of these looked right. A filename match that paired the wrong screenshot with the wrong article, a dev server that made correct code look broken, and a test that wrote down facts it did not own.

  • Diagram: three pairs of reported-versus-observed numbers, each a mismatch between a claimed measurement and what was actually true.

    09/10/2026

    Measure it in a real browser

    A simulated 2,061ms render delay that did not exist, an image library silently ignoring the font it was given, and a contrast failure that was a misread value. Three cases for checking directly.

  • Diagram: two passing gates beside a held gate branching to a missing image and thirty dead redirects.

    09/07/2026

    What the build caught that nobody was looking for

    Automated gates on a 150-page migration found a dropped screenshot, thirty redirects pointing at nothing, and an orphan hidden by a regex wildcard. None of it would have been found by reading pages.