TOPIC

#agents

A collection of 7 technical articles about #agents.

An arrow entering a vertical gate, with two short blocked arrows on the far side

Ask before writing, and refuse when nobody answers

Permission is not a true/false flag. It is a seam with a contract, three sandbox modes that speak only about files, and a safe default: no answer means no.

A row of eight blocks, the middle two bracketed with a solid replacement block above them

Cut the context, keep the audit trail

Compaction deletes nothing. It only shadows a range on the surface sent to the model, records exactly which range, and leaves the original in the log for later.

Seven connected squares, the middle one solid as the tool body, six with gate ticks above

Permission sits on the path, not in the tool

A tool call passes seven stages before it reaches the tool body. Policy, hooks and sandboxing live there — and the tool itself need not know about them.

A stack of log records with two arrows fanning out to what is derived from it

The log is the source, not a copy

Everything the model sees must be in the log first. Context is never stored beside it — it is derived, and that is the difference between a source and a copy.

Four identical loops, each with a cut at a different position

The same loop, different seams

Every harness has a log, a tool registry, a context budget and a permission layer. They differ in which of those you may replace — I read four to answer.

A harness plugin tree with the four core parts highlighted among the other plugins

Where a harness begins

The loop is only a coordinator. Four parts turn it into a harness: a durable log, a tool registry, a context budget, and a permission layer, all four pluggable.

A minimal while loop with four broken branches marked around it

The while loop works, until it doesn't

An agent loop runs in ten lines. The production version of that same loop is 101 lines, and every extra line marks a place it used to break. Here are the four.