FunnyEnough — engineering notes
Notes on building with AI — the patterns that held up, and the ones that bit me.
-
I Audited My Most-Governed Project and Found a Deny-List With Holes
Every project rule is either a gate that fails the build or a sentence that hopes you comply. One question separates them, and I learned it the hard way.
-
Receipts for Prompts: Hashing the Bytes an Agent Reads
A hash-verified copy box still handed back a curly quote where a code fence should be. The wptexturize bug behind it, and the byte-receipt system that stops it.
-
The abstention gate: when an AI agent should say nothing
A scheduled agent on stale data won’t crash; it briefs you confidently off it. Here’s a deterministic freshness gate that decides when to stay quiet, and the tests that keep it honest.
-
My AI agent passed CI. My QA gate scored it 0.
AI code can pass CI and still feel wrong. A five-axis QA checklist that blocks test-passing screens which feel generic, untrustworthy, or inaccessible.
-
AI Agent Security Starts at the Context Boundary
Stop treating tool output as plain text. A practical boundary review for MCP servers, traces, red-team tests, and runtime AI-agent supply-chain risk.
-
Claude Fable 5: field notes and integration gotchas
Claude Fable 5 can refuse with a successful HTTP 200, or answer as Opus 4.8 if you let it. Day-one field notes, gotchas, and a migration checklist.
-
Lint your agent’s handoff file before it lies
Every long agent session ends with a handoff note, written by an amnesiac for an amnesiac. Mine was wrong before I saved it. Here’s how to make it checkable.
-
Five ESLint rules for React Native RTL bugs
React Native ships no RTL lint rules, and i18n plugins only flag untranslated strings. Five rules for the layout bugs that actually break right-to-left UIs.
-
Verifying AI Coding Agents: Receipts Beat Vibes
AI coding agents ship plausible work fast. Here’s how to make them prove which app, state, platform and screen they actually tested — receipts, not vibes.
-
I almost shipped a bug report I never tested
A token-saver was blamed for an agent committing a stale file. I wrote it up, then ran the test I’d skipped. The tool was innocent. The real cause was worse.