Intent → Validated Code

July 12, 2026 · View on GitHub

What AgentOps is. The product is an operating loop that turns declared intent into validated code with proof. Skills are the front door — the portable agent runtime that runs each move. The membrane is the close door (move 6 / S5): it binds an independent verdict to the slice's acceptance behavior, not to vibes on a diff. Without Gherkin (or an equivalent runnable acceptance contract), the membrane has nothing rigorous to validate against.

Companion pages: Operating Loop (discipline), Skills Matrix (every skill placed on the loop), 3.0 north star, Skill Router.

One picture

 INTENT (what "done" means)


 ┌─────────────────────────────────────────────────────────────────┐
 │  1. Shape as BDD          /discovery  /product  /plan           │
 │     Feature + Given/When/Then (+ edge) + non-goals + evidence   │
 └───────────────────────────────┬─────────────────────────────────┘

 ┌─────────────────────────────────────────────────────────────────┐
 │  2. Track as a bead       /beads-br   (/goal-design upstream)   │
 │     Acceptance rides on the bead — no runnable contract, no bead│
 └───────────────────────────────┬─────────────────────────────────┘

 ┌─────────────────────────────────────────────────────────────────┐
 │  3. Slice vertically      /plan  (+ /behavior-first-planning)    │
 │     One behavior = one slice = one first-failing proof          │
 └───────────────────────────────┬─────────────────────────────────┘

 ┌─────────────────────────────────────────────────────────────────┐
 │  4. TDD the slice         /implement  (/test)                   │
 │     RED acceptance → smallest green → refactor-under-green      │
 └───────────────────────────────┬─────────────────────────────────┘

 ┌─────────────────────────────────────────────────────────────────┐
 │  5. Wave only if safe     /plan declares · /crank /swarm run    │
 │     Disjoint write scopes or stay sequential                    │
 └───────────────────────────────┬─────────────────────────────────┘

 ┌─────────────────────────────────────────────────────────────────┐
 │  6. Prove acceptance      /validate  /council  /pawl-review     │
 │     Every GWT → passing test + independent verdict              │
 │     no verdict = not done                                       │
 └───────────────────────────────┬─────────────────────────────────┘

 ┌─────────────────────────────────────────────────────────────────┐
 │  7. Capture + ratchet      /post-mortem                          │
 │     Evidence always · learnings only if they change the next run│
 └───────────────────────────────┬─────────────────────────────────┘

                                 └──► re-enter move 1 with evidence
                                      (re-plan the remaining route)

One-tick wrapper: /rpi runs research → plan → implement → validate over one bead (one behavior, one acceptance proof). It does not replace the loop; it is one pass through it. /evolve is N ticks toward a goal (experimental / second-stage).

Supporting CLI (not the front door): ao bookkeeps, retrieves, and gates (ao beads, ao gate check, ao verify as commit/pre-push ratchet, ledger). Agents enter through skills.

Why behavior comes before the membrane

The narrow-waist micro-cycle (canonical in operating-loop.md):

small batch → BDD (Gherkin) → ATDD (acceptance RED) → green → refactor → membrane → mine back
Without a behavior contractWith Gherkin → ATDD
/validate reviews a diff and invents the bar/validate checks every Given/When/Then against fresh evidence
"Done" is a self-grade"Done" is a runnable contract the author cannot redefine at close
Membrane is tasteMembrane is acceptance proof + independent judgment

Rule from behavior-first-planning: no runnable acceptance test, no bead.

/validate is the driving adapter for the validate_acceptance port: the verdict binds to the slice's acceptance test (its ATDD contract), not only the parent intent prose. See Intent-to-Loop Hexagon.

Full flow — artifacts and done signals

MoveYou produceSkills (primary)Done when
1. Shape intentIntent issue / packet with Feature + Scenarios/discovery, /product, /planHappy path + ≥1 edge are testable; non-goals and evidence named
2. TrackBead carrying Gherkin or linking to it/beads-br, /goal-designBead has acceptance + validation commands
3. SliceSlice list, one row per behavior/plan, /behavior-first-planningEach slice has first-failing proof + write scope
Pre-flight (optional but recommended)Plan stress-test/pre-mortem, /councilPlan HOLD/PASS before build
4. ImplementRED → green → refactor commits/implement, /testAcceptance test failed for the right reason, then passes; refactor did not edit the contract
5. WaveParallel ownership map/crank, /swarm (+ /agent-mail if ≥2 writers)Scopes disjoint or forced sequential
6. MembraneCriterion verdicts + roll-up/validate, /council, /pawl-reviewEvery GWT mapped to fresh passing evidence; independent verdict recorded; no verdict = not done
LandCommit-bound proof on the trunk pathao land / pawl + ao gate checkCONFIRM bound to head_sha; gate green
7. RatchetEvidence + promoted constraints/post-mortemEvidence cited; learnings only if next loop will read them

Templates: intent-issue.md, slice-validation.md.

Three altitudes (same loop)

AltitudeWhenSkills in viewStill the same?
Single tickOne behavior, one session/plan/implement/validate (or /rpi)Yes
Tracked projectMulti-bead epic/discovery/plan/crank/validate/post-mortemYes
Orchestrated≥2 lanes or unattended/swarm, /ntm, /agent-mail, /using-gc (operator choice)Yes — substrate dispatches a whole /rpi tick; it does not re-implement the loop

Do not start at the third altitude. Shape 0 is single-agent with bookkeeping (automation-shape-routing).

First session (skills front door)

  1. Install AgentOps skills for your agent runtime (README).
  2. Optional: install ao for beads/gate/ledger.
  3. In the agent, name a small intent.
  4. Run /plan (or /discovery then /plan) until one Given/When/Then is frozen.
  5. Run /implement on that slice (RED acceptance first).
  6. Run /validate — the verdict must cite the scenario / acceptance evidence.
  7. Only then optionally /post-mortem or scale to /crank.

Success signal: a PASS/CONFIRMED (or honest HOLD) that names the behavior that was proved — not a green CI alone, and not a review with no acceptance mapping.

Where to go next

NeedDoc
Every skill placed on the loopSkills Matrix
"Which skill do I run?" decision treeSKILLS.md
Discipline detail (waves, ratchet, windshield)Operating Loop
Ports / adapters for one turnIntent-to-Loop Hexagon
Doctrine / waist3.0
Install + golden pathsGetting Started