Skip to main content

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 to planned 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).
  1. The producer agent calls review.request.
  2. The brain pins the target snapshot and returns a short-lived capability once, with a reviewer handoff prompt.
  3. A distinct reviewer session calls review.start and receives the pinned evidence plus bounded context — not the producer’s conversation.
  4. The reviewer submits one verdict and synopsis through review.submit.
  5. Submission re-checks that the request and snapshot are still current before it routes a rejection or satisfies a gate.
Capabilities are stored as hashes and expire after an hour; re-requesting reissues one. Producer and reviewer session ids must differ — a workflow guarantee, not cryptographic proof. Per client: Reviewer handoff.

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?
Reviewers are told to be adversarial. A rejection with a reason is the normal case, not a failure.