States
failed and abandoned are explicit terminal exits from any live state.
workflow.status_and_next is the agent’s read of the current state, its gates, the allowed actions, and the next action. Agents call it first and after every transition.
Gates
An experiment moves forward only when the gate has real evidence behind it:
Transitions seal the artifact set in the same database transaction as the state change. Editing a file in your checkout changes nothing until you submit it again.
Limits: at most seven non-terminal experiments per project, and no new experiments while a project reflection is mandatory (see Reflection waves).
Attempts
A rejection back toplanned starts a new attempt; the old plan, evidence, and reviews stay on record. A rejection back to running keeps the attempt — the plan stands, the execution or the write-up doesn’t.
How a review happens
Four workflow roles:design_reviewer, experiment_reviewer, reflection_reviewer, consolidation_reviewer (review.request also accepts human and automated_check outside the gates).
- The producer agent calls
review.request. - The brain pins the target snapshot and returns a short-lived capability once, with a reviewer handoff prompt.
- A distinct reviewer session calls
review.startand receives the pinned evidence plus bounded context — not the producer’s conversation. - The reviewer submits one verdict and synopsis through
review.submit. - Submission re-checks that the request and snapshot are still current before it routes a rejection or satisfies a gate.
What reviewers look for
- Design review: can this plan actually test its claim? Is the success criterion decided before the run? Is the scope bounded?
- Experiment review: does the evidence support the conclusion? Was the approved plan followed? Does the report interpret the metrics it shows? Is the logic graph honest?