$ ls topics/engineering/

engineering/

the software practices that make fleet builds repeatable

12 articles, newest first·all articles·frameworks/·memory/

$ cat topics/engineering/README.md

AI agent engineering turns model behavior into a system you can inspect, constrain, and change. It starts with ordinary engineering decisions: define what a tool can do, keep runtime work within clear process limits, and put each rule where the system can enforce it. Those choices come before orchestration. They decide whether a model's actions make sense when a run goes well and whether you can recover when it does not.

Start with the interface and the running process

MCP tool design answers the first question: what does the model need to know when it chooses and calls a tool? Names and schemas are not enough. Descriptions carry defaults, domain language, decision-time instructions, and failure contracts the caller can recover from. An MCP server is defined by that tool contract, not by whether it runs as a separate service.

Claude P backend process takes the next step. It explains what an application must own when it relies on claude -p: process lifecycle, durable run state, duplicate-launch protection, tool discovery and approval, and credential recovery. The command may be short-lived, but the run is not. Skills, subagents and MCP: where logic lives then helps with placement: reusable method belongs in a skill, context-sensitive work in a fresh worker, shared capability behind an interface when the boundary earns its cost, and non-negotiable rules in the service that owns the data.

That gives you the main route through the newer Claude Code and MCP material: contract first, runtime second, placement third. It also marks a limit. Protocol access does not grant domain authorization, and an interface earns its place only when it makes responsibility clearer.

Add safety, evidence, and storage at the owning layer

Deny-by-default grounding shows why confidential material should be filtered before it reaches the model. Authorization and cache isolation belong with the loader. EvalPal's AUDHD assessment makes a related correctness case: validated configuration, import boundaries, encrypted responses, immutable snapshots, and safety seams keep clinical extensions inspectable.

Inspection needs evidence, too. A clean audit run proves nothing separates one stochastic audit sample from structural proof. Shift-left quality in an agentic pipeline explains why defects should be caught at the earliest stage that can expose them, before downstream work makes cold review expensive. Agent run cost attribution assigns each metric to the component that can observe it and deduplicates transcript usage by message ID. That is where an agent hook fits: event-triggered harness code can observe a completed run without posing as a model-facing tool. The result is run accounting that distinguishes exact, partial, and deferred totals.

The ownership rule carries into data design. AI memoir from interviews keeps a finished interview transcript immutable and traces later prose back to source fragments. One process, one file shows when a single-user system can keep its UI, MCP routes, and SQLite together until writer or lifecycle limits change. Vectors in the file adds semantic search as a derived index while preserving keyword search and explicit fallbacks. Growoperative's FOAF protocol architecture maps a different boundary: trustline routing and atomic settlement can sit behind an ordinary dollar-denominated tab, but planned and live parts must stay distinct.

Where to start, and where this hub ends

Start with MCP tool design, continue to the claude -p backend process, then use the logic-placement essay to decide whether a capability belongs in instructions, a worker, an interface, or the data-owning service. Read the safety and evidence essays before the storage examples. Move to frameworks when the question becomes how several roles or stages should coordinate, and to memory when the question is what the agent should retain or retrieve.

$ ls -lt topics/engineering/

· engineeringSep 2026When claude -p becomes part of your backendRheo runs Claude Code from a webhook service, showing why process lifecycle, durable state, tool access, and credential recovery become backend concerns.8 min· engineeringSep 2026Skills, subagents, MCP servers: where the logic should liveA practical way to place agent logic: reusable procedures, fresh worker context, protocol interfaces, and server-enforced domain rules.9 min· engineeringSep 2026The description field is a promptMCP's tools/list hands a model a flat, unsorted array of 35 tools with nothing but a name, a description and a schema. What actually decides whether it calls one right lives inside those three fields, and the description ends up doing the work of a prompt, not documentation.15 min· engineeringJul 2026The paper intake for an AuDHD assessment is 238 questions. I wrote an app.Modelling 7 clinical instruments as database rows instead of code — so adding an eighth is a JSON import, not a branch.7 min· engineeringJul 2026Shift-left quality in an agentic dev pipeline: five structural changes that move Critic catches earlierWhat one structured multi-agent pipeline learned from iterating on when its reviewer fires, not how thorough it is.5 min· engineeringJul 2026A clean audit run proves nothingAn LLM auditor that comes back empty hands you one data point, not a verdict. Here is what done actually looks like.11 min· engineeringJul 2026Stop asking agents what they costAgents can't observe their own token costs, so the harness has to. Building that instrumentation uncovered four silent failures in a row.9 min· engineeringJul 2026Vectors in the file you already havesqlite-vec brings semantic search to a personal assistant without a vector service: same SQLite file, vectors as a derived index allowed to fail.8 min· engineeringJun 2026Tabs between neighbours: the mutual-credit architecture of GrowOperativeGrowOperative lets neighbours trade surplus food on a running tab in Canadian dollars, no cash on each exchange. Underneath sits a mutual-credit protocol: bilateral trustlines, atomic multi-hop payments through friends of friends, debts that cancel around a loop, and a pure-math core built to outlive its first backend.12 min· engineeringJun 2026The model can't leak what it was never givenA prompt that says 'don't reveal anything confidential' guards the wrong layer. Filter the corpus by role at the loader, before the model sees a token, and the leak becomes impossible by construction.8 min· engineeringJun 2026One process, one fileM.O.T. runs a whole personal AI assistant (tickets, memory, search, 26 MCP tools) on one Next.js process and one SQLite file. The five-service diagram is a choice, and most of the time nobody chose it on purpose.8 min· engineeringJun 2026Where the subject never touches the systemMemoirQuill turns a recorded interview into a grounded memoir chapter — without the storyteller ever opening an app. The immutable-source, provenance-first architecture.5 min

$ cat glossary/engineering/

agent hook
An agent hook is harness code that fires on a lifecycle event, such as a subagent finishing or a session ending, and runs below the agents where no model can see it or call it.
MCP server
An MCP server is any endpoint that speaks MCP's JSON-RPC contract over Streamable HTTP to expose tools a language model can discover and invoke.
run accounting
Run accounting records the per-stage costs of one pipeline run, listing the model, tokens used, duration, and confidence in each value.
all terms