主题
Run Lifecycle
标准状态
queuedsubmittedrunningretryingcancelingsucceededfailedcanceled
合法转移
queued -> submittedsubmitted -> runningsubmitted -> failedrunning -> succeededrunning -> failedrunning -> cancelingcanceling -> canceledfailed -> retryingretrying -> submitted
规则
- 终态为:
succeeded、failed、canceled - 终态
MUST不可逆 canceling是中间态,表示取消请求已被接受但尚未完成释放- 进入
retryingMUST创建新 attempt,而不是覆盖原 attempt - retry 产生的新 attempt
MUST继承同一executionProfileSnapshot.runEnv,不得借机自动升级或降级 RunEnv - retry 产生的新 attempt
MUST继承同一resourceRevisionId - 等待审批、补充输入、鉴权或确认时,run
MUST继续停留在当前活动状态,而不是进入新的顶层状态
Interaction 覆盖层
- 当 run 等待外部交互时,
blockingInteractionId指向当前阻塞 interaction blockedReason描述稳定的面向客户端原因;例如approval_required、input_required、auth_required- interaction 被解决、拒绝、过期或取消,会改变阻塞覆盖层,但不会直接替代 run 状态转移
- interaction 超时后的后续动作由编排器策略决定;它可以继续等待、失败或取消 run
触发源
- 控制面命令
- submit / cancel / fail
- runtime 事件
- started / finished / error
- orchestrator 决策
- retry / timeout / provider failure
约束
- 一个 run
MUST只能拥有一个当前状态 - 一个活动 attempt 对应一个主 provider session
- 一个 run 在任一时刻
MUST至多有一个当前阻塞 interaction,但MAY存在多个非阻塞 open interaction - 进入终态后,允许 projection 继续追平,但不允许新增业务输入