jonnifyagile agents

A5.6.1 · dive 1/3

Brief, not decide

Running an agent well begins before the agent runs. The brief hands the agent everything it needs and nothing it must decide — and the part it leaves out is already durable in the agent's standing definition.

A complete brief leaves the agent zero how-to-build decisions; an open goal leaves many. Fix the sources, the runtime shape, the build order, and the proof gates, and the agent implements a plan; leave any of them open and the agent improvises an architecture — a call the Operator should own. The second move is less obvious: a good spawn is short, because the standing discipline lives once in the agent definition and the spawn carries only the rung delta. Toggle the figure on the right to compare a complete brief with an open goal.

A complete brief, or an open goal · toggle the input

the four how-to-build decisions — fixed, or left to the agent? sources fixed runtime shape fixed build order fixed proof gates fixed decisions left to the agent 0 of 4 Definition of Done stated
Complete brief — how-to-build decisions left to the agent: 0 of 4; Definition of Done: stated. The agent implements the fixed plan — sources, runtime shape, build order, and proof gates are all pinned.

A brief leaves no decision

A spec says what and why and done. It does not say how to build it. The four parts of the brief — references, requirements, topology, agent stories — plus the implementation prompt fix the how: the exact sources, the runtime shape, the build order, the proof gates. A brief is complete when the agent left to read it has no remaining how-to-build decision.

That completeness is the whole point. When all of the how is fixed, the agent implements a plan. When any of it is open, the agent improvises an architecture — and that architecture is the Operator's call, taken by the implementer. An open goal, “make the catalog interactive,” leaves every decision to the agent; a complete brief leaves none. The figure above counts the difference, over the four real decisions the Portal's F6.6 ship prompt pins.

This is the first move of the practice: brief, supervise, review. The brief is the only move the human makes before the run; the next two watch and check it.

The short spawn

The second, less obvious move: a good spawn is short. The standing discipline — cite-don't-invent, the master invariant, the determinism gate, the report format — has one authority, the agent definition. The spawn carries only the rung delta: the surface, the pinned contract, the gates. That is DRY applied one level up. The Portal's F6 ship prompts state it outright. From f6.6.prompt.md, “Why the prompts are short”:

# f6.6.prompt.md — "Why the prompts are short" (verbatim)
#
# F6.5's Mars prompt ran ~180 lines — the full contract plus every discipline
# (cite-don't-invent, the master invariant, the @enforce_keys trap, the
# determinism gate, framing, the report format). F6.6's Mars prompt is ~12,
# because all of that now lives in mars.md. The spawn carries only what is
# *new about this rung*. That is DRY applied one level up: the "how the agent
# works" fact has one authority (the agent definition), and the prompt carries
# only the delta.

The F6.6 Mars build spawn carries only the rung delta — the surface (PortalWeb.CatalogLive, a two-stage mount/3 and handle_event/3), the pinned search fn (Portal.search_courses/1), the route reconcile (live "/courses" superseding the static index), and the gates (mix compile --warnings-as-errors plus the determinism loop). Everything else — the master invariant, the “no CoreComponents” rule, the report format — lives in mars.md, the standing discipline. The brief is short because the discipline is durable. The two-stage mount the brief names is the same LiveView mount/3 the companion course teaches.

What the F6.6 Mars spawn carries · the delta, or the durable discipline

six items — carried in the spawn, or durable in mars.md? the surface (CatalogLive, two-stage mount) delta the pinned search fn (Portal.search_courses/1) delta the route reconcile (live "/courses" supersedes index) delta the gates (warnings-as-errors + determinism loop) delta the master invariant (facade-only / no CoreComponents) durable the report format + cite-don't-invent durable items in the selected class: 4 of 6
Rung delta — items the F6.6 Mars spawn carries: 4 of 6 (the surface, the pinned search fn, the route reconcile, the gates). The spawn names only what is new about this rung — ~12 lines.

A good spawn carries only the rung delta; the discipline lives once in the agent definition, so every spawn stays short — DRY one level up.

Principle to Portal

The principle and its Portal practice land on the same correspondence the whole course draws: a principle of pragmatic programming, and the concrete move it becomes on the Portal.

The principle

Brief the agent with a complete, unambiguous brief so it implements rather than decides — every how-to-build decision fixed, none left to the implementer.

On the Portal

The F6.6 Mars spawn is ~12 lines because the discipline lives in mars.md; the spawn carries only the rung delta — the surface, the pinned contract (Portal.search_courses/1), and the gates.

A good brief is the difference between an agent that implements a fixed plan and one that improvises an architecture.

Next in A5.6: Supervising — watch the run against the task gates; let a passing stage proceed and intervene on a failing one, and bound the retries before the human takes over.

References

Sources on briefing a coding agent and the value of a fixed contract, and where the prompt this brief runs and the chapter it grounds on are defined in the course.

Sources

Related in this course