Engineering blog

Notes from building Remediate Labs — agent architecture, retrieval design, debugging stories, and the unglamorous decisions that make production agents actually work.

· 7 min

RAG Finds the Candidate. The Live Store Confirms the Truth.

A search index can't be a source of truth — that's a category error, not just a bug. The general rule for any vector or search index sitting in front of a live data store.

architectureragagents
· 8 min

Why the Same Bug Kept Creating New Incidents (And What That Taught Me About RAG)

Three layers of dedup. Four independent failure modes that all had to fire simultaneously. The compound bug that exposed them, and the principle that makes it not happen again.

debuggingragagents
· 8 min

Why My AI Agent Kept Adding Null Checks Instead of Fixing the Bug

Five PRs to teach a fix-generation pipeline that the crash site is almost never the fix site. The producer/consumer distinction, RAG's structural blind spot, and what it took to find the actual bug.

debuggingagentsrag
· 12 min Featured

The Three Camps of Retrieval Architecture: A Practical Guide

Improved RAG, GraphRAG, Ragless. Each is right about something. Each is wrong applied to problems it wasn't designed for. A decision framework for picking the right default and extending deliberately.

architecturerag
· 6 min

My Agent Ran for 58 Seconds and Made Up Every Number

How a CICDAgent fabricated a confident CI failure report without calling a single tool — and the four trace signals that would have caught it sooner.

debuggingagentsobservability
· 6 min

Four Patterns for Structuring Agents (Part 2)

Once you accept ReAct isn't the default, what do you use? Four structural patterns that emerged from building a 5-agent PR automation system.

architectureagents
· 4 min

Not Every Agent Needs a ReAct Loop

ReAct is one pattern, not the default. Three patterns for what each agent actually needs from the LLM — and when the answer is no LLM at all.

architectureagents
· 4 min

The Fix That Broke My Agent in a Different Way

MANDATORY CONSTRAINTS stopped the hallucination. Then the agent looped on the same tool 10 times. Three words on the constraint fixed it. Why precision in prompts is everything.

debuggingagentsprompting
· 4 min

Typed Boundaries Make Multi-Agent Systems Readable

Where you put parsing logic decides whether your orchestrator stays readable as agents multiply. Parse at the boundary, not in the caller.

architectureagents