Browse docs

Reference · plan lifecycle

Plan states

Six exact values record human review and cancellation. Execution eligibility also depends on time, targets, trust, policy, and capacity.

Exact wire values

State reference

Only a pending plan can be approved, changed, rejected, or expire during approval. Only an approved plan can be cancelled.

StateEntered whenNextAgent handoff
requires_approval

A new plan is accepted for review.

approved · changes_requested · rejected · expired

Wait for a human decision.

approved

A human approves the exact version before its window closes.

cancelled

Use its accounts, window, and remaining capacity.

changes_requested

A human returns structured feedback.

No in-record transition

Prepare a deliberate new submission from the feedback.

rejected

A human rejects the pending plan.

No in-record transition

Stop plan-backed work and return the decision.

expired

Approval is attempted after ends_at.

No in-record transition

Submit a new bounded plan if a human requests it.

cancelled

A human cancels an approved plan.

No in-record transition

Stop plan-backed work immediately.

Stored state and time

Expiry semantics

Time eligibility

An approval attempt after ends_at changes a pending plan to expired. An approved record can remain approved after its window closes.

Execution checks the window separately and can return plan_expired. Never infer a stored state change from that authorization reason.

Execution boundary

Authorization result

Plan-backed publishing returns applied or not_applied. An applied result has a null reason.

agent_paused

Exact reason returned when plan authority cannot apply.

publishing_disabled

Exact reason returned when plan authority cannot apply.

plan_not_found

Exact reason returned when plan authority cannot apply.

plan_not_approved

Exact reason returned when plan authority cannot apply.

plan_not_started

Exact reason returned when plan authority cannot apply.

plan_expired

Exact reason returned when plan authority cannot apply.

plan_cancelled

Exact reason returned when plan authority cannot apply.

target_not_in_plan

Exact reason returned when plan authority cannot apply.

target_not_l2

Exact reason returned when plan authority cannot apply.

target_disconnected

Exact reason returned when plan authority cannot apply.

policy_not_configured

Exact reason returned when plan authority cannot apply.

policy_violation

Exact reason returned when plan authority cannot apply.

max_posts_exhausted

Exact reason returned when plan authority cannot apply.

request_changed

Exact reason returned when plan authority cannot apply.

schedule_missed

Exact reason returned when plan authority cannot apply.

Human review evidence

Structured feedback

Feedback contains a decision, category, and text. Categories are exact wire values.

captionmediatargetingtimingpolicyother
EXAMPLE RESPONSE EXCERPT · SYNTHETIC VALUES
{
  "status": "changes_requested",
  "approval_feedback": {
    "decision": "changes_requested",
    "category": "timing",
    "text": "Keep the plan inside the launch window."
  }
}
VERIFIED · 26 AUGUST 2026Plan state schema · Approval transitions · Authorization model

The example feedback is synthetic.