The playbook

The engineering playbook for AI coding agents

Published 2026-10-20 at aveto.dev/playbook. One entry point to how Aveto runs software work with AI coding agents. Each part is short and links to the document that holds the detail; nothing here overrides those documents. Where something is planned rather than built, it says so.

The question every part answers: for each piece of work, what does the agent do, what checks it, what does the human decide, and what record proves it?

1. Principles

  1. Humans own direction, risk and outcome. Agents own the work in between.
  2. The agent that verifies never wrote the change. Builders and checkers are separate roles, run separately.
  3. Gates fail closed. A missing artefact or an unclear result is a failure, not a pass.
  4. The human decides twice: before the run and after it. A Charter approved by its hash, and an end review. Anything the Charter does not name stops the run.
  5. Every claim has evidence, and every bar is set before the test. A result judged against a bar chosen afterwards is not a result.
  6. What was not confirmed is marked unconfirmed, with where you looked.
  7. Budget is checked before the spend, not after.

Detail: execution/pack/AGENTS.md, docs/OPERATING_MODEL.md.

2. When to use an agent

Not all work suits an agent equally. Decide per task, before the run.

Delegate to the agentAgent works, human checks closelyKeep with the human
Well-specified features with clear "done means" linesNew abstractions or architectureProduct direction: what to build, and why
Tests, including edge cases from the specAmbiguous requirements (clarify first; an intent with open questions does not start)What ships to production (the merge)
Refactors and migrations with a test suite around themSecurity-sensitive code (auth, permissions, payments, PII)Sending anything on a user's behalf
Docs, release notes, diagrams from the codeNovel incidents and low-confidence root causesAccepting risk: a lower review depth, a new data processor, a model in a deterministic path
First-pass code review, triage, log readingData and AI evals (the bar must be fixed before the run)Commercial and legal commitments

Signals that a task is not ready for an agent: no one can write "done means" in one paragraph; success cannot be checked by a command or a reviewer; the change crosses systems no one has mapped. Fix the intent first.

Detail: templates/INTENT_TEMPLATE.md, docs/AGENTIC_SDLC.md ("When to compress stages").

3. Roles: delegate, check, own

Twenty-eight specialist roles, each with one output, the decisions it owns, and one handoff. Every role states three things:

naming it adds no stop.

GroupRoles
LeadOrchestrator, Engineering Manager
ProductMarket Researcher, Product Manager, UX Researcher, UI Designer
BuildSoftware Architect, Backend Architect, Frontend Developer, AI Engineer, ML Engineer, Tech Writer
VerifyQA Evidence, Security & Privacy, Release Manager
GovernAI Governance, Compliance Reviewer, Data Governance, FinOps
DataAnalytics Engineer, Data Analyst
OperateCloud Deployment, Production Verification, SRE, On-Call Engineer
CustomersCustomer Support, Customer Success, Post-Launch Learning

Detail: docs/AGENT_ROLES.md (the full delegate / check / own table), agents/.

4. The lifecycle

A slice moves through stages, each producing an artefact the next one reads:

Intent → Scope review → Discovery → UX and UI → Architecture → Implementation → QA evidence → Security review → Release gate → (Deploy → Verify → Operate) → Post-launch learning.

refactor; tier 2 behaviour change with no external effect; tier 3 anything with an external effect.

Detail: docs/AGENTIC_SDLC.md, docs/RELEASE_GATES.md.

5. Human approval

Six kinds of action always need the human: sending on a user's behalf; destructive changes to shared state; deploys and releases with an external effect; changes to safety controls; putting a model into a path that was deterministic; a new data processor or data commitment.

How it works under a Charter:

  1. The Orchestrator drafts runs/<slice>/CHARTER.md: scope, budget, models with their effort level, data processors, safety-text changes, permissions, depths, end actions.
  2. execution/charter-check.mjs refuses blanks, open-ended grants and wildcards before the human sees it.
  3. The human approves it by its sha256, in their own words, in the session that runs it. An approval typed in another session, or relayed by an agent, never counts.
  4. Each action cites the Charter line that covers it. Anything not named stops the run.
  5. At the end, END_REVIEW.md opens with Blocked on me, Changed, Found.

Detail: docs/HUMAN_APPROVAL_RULES.md, templates/CHARTER_TEMPLATE.md.

6. Context: what the agent reads

Agents work from files, not from conversation:

FileHolds
AGENTS.md / CLAUDE.mdthe run guide every session loads
.agentic/PROJECT_CONTEXT.mdwhat the product is and who it serves
.agentic/LOCAL_COMMANDS.mdthe exact commands to type-check, test, build
.agentic/SAFETY_INVARIANTS.mdwhat must hold across every release
REVIEW.mdwhat this repo's reviewers should and should not flag
runs/<slice>/STATE.mdwhere the run is, so any session can resume it

Keep each stage's context thin: an agent reads the artefacts it needs, not the whole history. Planned, not built: onboarding a codebase Aveto did not build, which proposes these files from the code and marks every invariant "proposed" until the human confirms it (docs/REVIEW_MODE_PLAN.md, M1).

7. Quality: tests and review

and cover a "done means" line or raise coverage. Removals are listed.

permissions, auth and CI; medium for product behaviour; low for the rest.

disposition: fixed, rejected or intentional. At most three review rounds, then re-plan.

review step is rescored when its prompt, model or effort changes.

Detail: docs/CODE_REVIEW.md, docs/review-evals/, agents/qa-evidence.md.

8. Security and data

that proves it (docs/REVIEW_MODE_PLAN.md, M3b).

Detail: agents/security-privacy.md, docs/HUMAN_APPROVAL_RULES.md rules 4 to 6.

9. Cost and capacity

step. Over budget means degrade, drop or stop, never raise the budget to fit.

stopped.

each; one full greenfield build measured 947k. Review stages have run 1.5 to 3 times their estimates.

Detail: execution/pack/protocols/RUN_ECONOMICS.md, execution/hooks/budget-guard.mjs.

10. Measurement and adoption

Measure the process, not just the output:

MeasureWhy
Owner touches per run, and time to the first touchwhether "decide twice" is still true
Gate catches, by gatewhich checks earn their cost
Escaped defectswhat the gates missed
Review precision (findings neither rejected nor marked intentional)whether review is signal or noise
Spend against estimate, per stagewhether budgets can be trusted
Tests confirmed failing first; generated tests kept and removedwhether tests prove the change

Adopting it (a path, not yet walked by a team):

  1. One person, one repo, one slice. Install the pack, write an intent, approve a Charter, read the end review. Measure owner touches.
  2. Declare bars before widening. Pick the measures above and their targets before the second repo, not after.
  3. Existing codebases start read-only. Review mode reports risk and changes nothing (planned, docs/REVIEW_MODE_PLAN.md).
  4. Then a team. Shared gates, a run inventory across developers and an audit export are roadmap, not shipped.

Detail: docs/PIPELINE_ANALYTICS.md, docs/VALIDATION_MATRIX.md.

What this playbook is not

bugs or compliance with any standard.

(docs/VALIDATION_MATRIX.md).

only. Aveto is independent and is not affiliated with or endorsed by Anthropic.

Where it comes from

Aveto's own runs and failures (docs/LESSONS.md), and published guidance read against them: Anthropic's Building effective agents and its course on the AI-native SDLC, OpenAI's Building an AI-Native Engineering Team (delegate, review, own), Google's report on internal code migrations, and Meta's work on filtering generated tests.

Read this page on GitHub, where every linked document lives.