RSSAmplifier

Blog

Adrià Cidre

Writing about AI-assisted development, Claude Code workflows, and building software with AI.

adriacidre.comRSS feed ↗20 posts

Latest posts

The Test Passed With the Code Deleted

Coverage tells you a test ran. It does not tell you the test would fail if the code were wrong. Before an AI refactors your core, you need the second thing.

An AI Wrote 200% Where It Meant 20%. The Bound Caught It.

Confidence is what the model thinks of itself. Bounds are what your system thinks of the model. They are independent signals; use both.

Don't Delete the Row. Delete the Key.

Append-only history and GDPR-style erasure look incompatible. They are not, if you put the secret in two places.

There Is No Workflow Engine. It's Just Git.

My agent pipeline runs for hours, survives Ctrl+C, and resumes from where it stopped. There's no Temporal, no queue, no database. The state lives in YAML files and commits.

I've Been Shipping 'Multi-Tenant' Wrong for a Decade

Every system I built had a tenant_id column and a discipline problem. This is the first one where the database itself refuses to return the wrong rows.

Voice Agents Don't Need to Be Faster — They Need to Feel Faster

Two agents with identical latency can feel completely different. The gap is fixable at the orchestration layer, without touching the model.

I ran a maintenance agent for 10 days. The number that mattered was 14

A maintenance agent filed 559 bugs and fixed 412 on its own. The interesting number is the 14 it refused to touch.

Parallelism Was a Workaround. Agents Make It Optional.

Feature branches and merge queues were how we coped with slow humans. When an agent finishes a task in ten minutes, the overhead is the bottleneck.

Don't Read the PDF. Write the Parser.

I stopped feeding hospital PDFs to a vision model. When the layout changes, the AI fixes the parser instead — and production never sees a token.

Voice Agents Don't Know When You're Done Talking

Most builders assume end-of-turn detection is a silence threshold. That model breaks in production. The fix is architectural: four probabilistic events, speculative reasoning, and everything downstream cancellable.

The 8th Specialist: An AI That Breaks Things on Purpose

An 8th specialist that touches the browser — navigating, clicking, and typing to find bugs that scripted journeys miss. How exploratory testing with Playwright catches what verification alone cannot.

Specialist Agents: Looking at Every Page with Different Eyes

Seven specialists, each with their own checklist — QA, UX, UI, Security, Performance, Data Leakage, Language. How splitting evaluation into focused agents catches more.

25 Issues Overnight: Batch AI That Doesn't Need You

The leap from AI-assisted coding to autonomous batch processing. Fresh context per task, filesystem locks, model routing, and orchestration that runs while you sleep.

The Boring Stuff That Keeps AI Running at 3am

Exponential backoff, dual timeouts, SSE heartbeats, idempotency caches — the unglamorous patterns that keep LLM-powered systems running at 3am.

/qa-run: AI-Driven QA That Closes the Loop

Real browser, predefined journeys, specialist agents checking every step. How QA findings feed back into the issue tracker to close the development loop.

/work-issue: Autonomous Implementation

The AI picks up a planned issue, implements it, tests it, commits, and marks it done. How headless batch mode lets me plan in the afternoon and wake up with code in the morning.

Sub-10ms AI Responses Without Calling the LLM

Users ask similar questions in different words. Semantic caching with pgvector turns repeated intent into instant answers — no LLM call, no embedding, no retrieval pipeline.

Your AI Forgot What You Said 30 Messages Ago

Context windows fill up fast in long AI conversations. Sliding windows, progressive compression, and token budgeting — the patterns I built before I knew their names.

/plan-issue: Collaborative Planning with AI

Vague instructions produce vague implementations. How I sit with the AI to refine rough ideas into concrete, implementable specs — before any code gets written.

AI-Assisted Development: A Loop, Not a Chat

The bottleneck isn't the AI — it's me. Three slash commands that form a loop: Plan, Work, QA. How structured phases replaced ad-hoc chatting and made AI development manageable.