diff --git a/README.md b/README.md index 9edb568..82887eb 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,19 @@ Eight skills, each with the agents it primarily dispatches: | `implement` | Plan exists | code + tests, uncommitted in working tree | Standard iteration path | | `audit` | Cycle closing OR baseline drift suspected | drift report + regression report | Mandatory at cycle close | | `debug` | Bug observed | RED test in working tree + cause analysis | Mandatory RED-first for any bug | -| `fieldtest` | Orchestrator-dispatched post-audit, surface-touching cycle | example fixtures + friction spec | Optional | +| `fieldtest` | Orchestrator-dispatched post-audit | example fixtures + friction spec | Per-cycle optional; milestone fieldtest is the closing gate for a surface-touching milestone | | `docwriter` | API surface stable across N cycles | rustdoc / docstring sweep | Optional | | `boss` | User types `/boss` | autonomous-orchestrator session — dispatches the other skills until done-state or bounce-back | User-invoked, never auto-dispatched | -Vocabulary is configurable. AILang calls a cycle a *milestone* -and a sub-cycle an *iteration*; your project may call them -*release* and *sprint*, or *epic* and *story*, or whatever fits. +Vocabulary is configurable. A **cycle** is one round in the +pipeline graph; your project may call it a *release*, an *epic*, +or whatever fits, and its sub-unit (the default *iteration*) a +*sprint* or a *story*. A **milestone** is a distinct, higher +axis — a tracker container (Gitea/GitHub milestone, Linear +project) that spans potentially many cycles and closes only when +the work it promised is complete *and* functional (see +`docs/pipeline.md` § Milestone-close gate). A cycle close is a +loop step; it is never a milestone close. ## The two-layer split