Agentic Engineering Companion  —  Volume I  —  A Field Guide to AIR
Q2 2026  —  Four Plates
A working diagram

AIR — a meta-orchestrator,
drawn slowly.

A Swiss-army-knife agent that takes a fuzzy ambition, breaks it apart, sees the seams, and adapts as the work returns. Four plates make the pattern legible: the three lenses applied as a loop, the hierarchy of who sits above whom, a worked example moving wave by wave, and the atom as the unit of work.

AIR sits above your existing specialists — product-manager, master-designer, expert-orchestrator, investment-orchestrator, frontend-dev — and dispatches them as tools. It does not write deliverables itself. Its job is to hold the high-level view across domains, decide what work is needed and in what order, brief the right specialist for each unit of work, watch what comes back, and continuously re-plan in response.


Premise  /  The Argument

The discipline before the diagrams.

The four plates that follow show how AIR works. This page first explains why it works that way — because the diagrams are easier to read once the argument is clear.

Argument  —  Atomize · Integrate · Refine A discipline · not a framework

Most multi-agent work fails in the same place — not at the moment of execution, but at the moment of framing. A specialist given a vague task returns vague work. A pipeline of specialists handed off in a fixed order produces a brittle workflow that cannot absorb new information. AIR is a discipline against both failures: a meta-orchestrator that holds the high-level view, fragments work into precisely-shaped units, watches the seams between them, and re-plans the moment new information arrives.

Why atomize.

Ambition is fuzzy by default. Until you can write a one-sentence intent, name a single specialist, and list the testable criteria a verifier could read against, you don't have a unit of work — you have a wish. Atomization is the discipline of refusing to dispatch anything that isn't shaped well enough to be acted on alone. It is slow at the start and pays itself back tenfold at execution.

Why integrate.

No specialist is sufficient on its own. The product manager doesn't know what the designer must keep consistent. The frontend developer doesn't know which research finding could invalidate the spec. AIR's job is to map the dependency graph between atoms, name the cross-cutting concerns — taxonomy, brand, data model, success metric — that must hold across them, and watch the seams where misalignment would otherwise leak in silently. Without that layer, you have a swarm; with it, an orchestra.

Why refine in batches.

Plans written before the first piece of work returns are guesses. Every dispatch wave produces information the original plan did not have. Refinement is the moment the orchestrator pauses, reads what came back, and asks the six questions: did each atom hit its criteria, did anything invalidate downstream work, did new atoms surface, did anything become redundant, did cross-cutting concerns drift, did the user inject new context. The plan is regenerated — never silently, always logged. A refinement pass is short; the alternative is shipping a plan that was already wrong by the time you committed to it.

Why the loop.

Atomize, Integrate, Refine are not phases you finish and leave behind. They are perspectives you keep returning to, in order, every time work returns. The loop is the system. Each turn produces both the deliverable and a durable record of what the initiative taught the orchestrator — so the next turn is better-informed, the next initiative is better-scoped, and the practice itself sharpens with use. The agent does not just orchestrate work; it learns how to orchestrate work, one initiative at a time.

Read this before the plates. The diagrams that follow are the surface; this is the argument that gives them their shape.

Plate I  /  The Loop

Three lenses, applied as a loop — not phases.

Atomize, Integrate, Refine are not stages you finish and leave behind. They are perspectives you keep returning to, in order, every time work comes back from a specialist.

Figure 01  —  The Cycle Three lenses · One discipline
DISPATCH WAVE parallel · verify brief → return → check A · LENS 1 Atomize decompose intent I · LENS 2 Integrate map the seams R · LENS 3 Refine adapt the plan

A. Atomize

Break the ambition into delegable units. Each atom has one intent, testable success criteria, named inputs and outputs, and maps to exactly one specialist agent. Atoms that smell like two atoms are split.

unit = smallest brief a specialist can act on alone

I. Integrate

Map how atoms connect. Hard and soft dependencies, cross-cutting concerns (taxonomy, brand, data model, success metric), handoff contracts between agents, and the seams where misalignment is likeliest.

unit = the dependency graph + the things that must stay consistent across it

R. Refine

After every dispatch wave, ask: did atoms hit their criteria? Did any output invalidate a downstream atom? Did it surface new ones? Did cross-cutting concerns drift? Update atoms.json, regenerate the plan, log the reasoning, decide the next wave.

unit = the durable record of learning across the initiative
Read this clockwise. The center reads brief → return → check; the lenses orbit it. Every dispatch wave passes through all three perspectives before the next wave is chosen.

Plate II  /  Topology

AIR sits above the specialists and dispatches them as tools.

A meta-orchestrator does not produce deliverables. It produces decisions: which specialist, which brief, in which order, with which inputs, and — most importantly — what to do when the output comes back.

Figure 02  —  Dispatch Topology User → AIR → Specialist Bus → Refinement
USER fuzzy ambition META · ORCHESTRATOR AIR atomize · integrate · refine DURABLE STATE initiatives/<slug>/ charter · atoms.json · refinement-log · ... DISPATCH WAVES PRODUCT product-manager PRDs · specs · briefs → product-memory/ DESIGN master-designer UI · visual systems design quality is point FRONTEND frontend-dev implementation from a clear brief RESEARCH general-purpose open-ended multi-step lookup EDUCATION expert-orchestrator textbook + primer + visual INVESTMENT investment-orch. vault → cohort → analyst fan-out PLANNING Plan · Explore codebase + impl strategy REFINEMENT PASS · AFTER EACH WAVE 01Did each atom hit its success criteria? 02Did any output invalidate a downstream atom? 03Did it surface new atoms not yet planned? 04Did it make a planned atom redundant? 05Are cross-cutting concerns still consistent? 06Has the user injected new info mid-flight? → append to refinement-log.md · regenerate atoms.json/md · update integration-map.md · choose next wave
brief / dispatch flow
verified output return
specialist agent
AIR meta-orchestrator
durable state on disk
Read top-down. User intent enters left; AIR holds the high view in the center; specialists execute on the bus below; outputs return upward; the refinement pass at the bottom decides what the next wave looks like — and the loop continues.

Plate III  /  A Worked Initiative

A hypothetical initiative, wave by wave.

The pattern is easier to see when it moves. Below: a four-domain ambition, six atoms, three waves, two refinement triggers — including one that re-dispatches a single atom without disturbing the rest of the plan.

Initiative

Chatbot memory system — PRD, UI, prototype, team primer.

"Build a memory system for our chatbot so it remembers users across sessions. I want a PRD, a designed UI, a working prototype, and a primer the team can read to learn how it works."
01
Wave
a01 · Product
Discovery + PRD for chatbot memory
→ product-manager
produces: charter, prd.md, design-brief, eng-spec
deps: ∅
Refinement pass
PRD surfaces a question the PM cannot resolve alone: which storage architecture (Postgres vs SQLite vs vector store) should the prototype assume? AIR inserts a new atom (a04) ahead of engineering work, and downgrades the eng-spec atom from "ready" to "depends on a04".
02
Wave · parallel
a02 · Engineering
Engineering spec for memory subsystem
→ product-manager (eng-spec mode)
produces: specs/engineering-spec.md
deps: a01, a04
a03 · Design
UI for memory surfaces (settings + indicators)
→ master-designer
produces: visual + interaction spec, HTML mock
deps: a01
a04 · Research
Storage architecture comparison
→ general-purpose
produces: comparison memo, recommendation
deps: a01
Refinement pass
a04 returns: SQLite recommended over Postgres for the prototype scale and offline-first constraint surfaced in the charter. This invalidates a04's downstream — a02's eng-spec was written assuming Postgres. AIR re-dispatches a02 only with a sharpened brief; a03 and the rest of the plan are unaffected (cross-cutting concern: storage was not surfaced in the design brief, so the UI is intact). Logs the constraint flip in decisions.md.
02·b
Wave · re-dispatch
a02 · Engineering (v2)
Engineering spec — SQLite-based memory
→ product-manager (eng-spec mode)
produces: specs/engineering-spec.md (revised)
deps: a01, a04 ✓
Refinement pass
Eng-spec passes verification. All upstream atoms satisfied; downstream atoms (a05, a06) are now ready. AIR confirms cross-cutting concerns are aligned: storage decision is reflected in eng-spec, design brief, and primer scope. Plan unchanged. Dispatch the final wave in parallel.
03
Wave · parallel
a05 · Implementation
Working prototype — frontend + memory hooks
→ frontend-dev
produces: prototype repo + run instructions
deps: a02 (v2), a03
a06 · Education
Team primer on chatbot memory architectures
→ expert-orchestrator
produces: textbook + primer + visual guide
deps: a04
Final synthesis
All atoms complete. AIR reports: 6 atoms across 3 waves, 1 atom re-dispatched (a02), 1 atom inserted during refinement (a04). Outputs live across product-memory/chatbot-memory/, expert-library/chatbot-memory-arch/, and the implementation repo. Refinement-log records the SQLite flip and why.

Plate IV  /  Schema

The unit of work — the atom.

If atoms are the right shape, the rest of the system runs cleanly. If they're vague, no amount of orchestration saves you. Below is the schema AIR writes, and what each field is doing.

Figure 04  —  atoms.json The single source of truth for the plan
// atoms.json — the single source of truth for the plan
{
  "id": "a02",
  "title": "Engineering spec — SQLite-based memory",
  "intent": "Translate the PRD into a buildable spec under the SQLite constraint.",
  "domain": "engineering",
  "subAgent": "product-manager",
  "subAgentReason": "PM owns engineering-spec authoring; this atom needs PM-grade rigor.",
  "successCriteria": [
    "Functional + non-functional requirements numbered and testable",
    "Migration / backfill plan explicit",
    "References storage decision from a04"
  ],
  "inputs": [
    "product-memory/chatbot-memory/prd.md",
    "outputs/a04/storage-comparison.md"
  ],
  "outputs": [
    "specs/engineering-spec.md"
  ],
  "dependencies": ["a01", "a04"],
  "parallelizableWith": ["a03"],
  "refinementTriggers": [
    "Storage choice changes → revise this atom",
    "Latency budget changes in PRD → revise this atom"
  ],
  "status": "complete",
  "briefPath": "briefs/a02.md",
  "outputPath": "outputs/a02/",
  "dispatchedAt": "2026-05-03T14:42:00Z",
  "completedAt": "2026-05-03T14:58:00Z",
  "notes": "Re-dispatched after a04 returned SQLite recommendation."
}
id · title · intent
A stable handle, an imperative title, and one sentence of why this atom matters to the initiative. If you can't write the intent in a sentence, the atom is wrong.
subAgent · reason
Exactly one specialist, plus a one-line justification. If you can't name the agent, the atom is wrong.
successCriteria
Testable outcomes the dispatched agent can self-check against. Verification reads these — not vibes — to mark complete.
inputs · outputs
Explicit. Inputs are absolute paths or upstream atom outputs. Outputs are the artifacts that downstream atoms can consume.
dependencies · parallelizableWith
The dependency graph. Atoms in parallelizableWith dispatch in the same wave — same message, multiple Agent calls.
refinementTriggers
The conditions under which this atom — or its downstream — must be re-evaluated. AIR consults these on every refinement pass.
status · timestamps
pending · in-flight · complete · blocked · dropped. Atoms are never silently dropped — a drop is a logged decision.
The atom is the contract. Every field that exists is one a downstream agent or refinement pass needs to read. Anything missing from this schema is a place orchestration can quietly fail.
Files written by AIR

charter.md — immovable ambition

atoms.json · atoms.md — the plan

integration-map.md — graph + seams

refinement-log.md — append-only learning

decisions.md · status.md

briefs/<atom>.md · outputs/<atom>/

Stop conditions

All atoms complete or dropped → done

Atom blocked on user input → pause + surface

Two-retry max per atom before escalation

Charter changes are logged and reconciled across the dependency tree, never silent

When to invoke AIR

Multi-domain ambition (3+ specialists)

Path is unclear and will need course-correction

Initiative is large enough that a single specialist can't own it end-to-end

For pure single-domain work, dispatch the specialist directly — AIR is overkill.