diff --git a/packages/core/src/plugin/command/orchestration-policy.md b/packages/core/src/plugin/command/orchestration-policy.md index 648c4a0c7..bf3a6a23f 100644 --- a/packages/core/src/plugin/command/orchestration-policy.md +++ b/packages/core/src/plugin/command/orchestration-policy.md @@ -253,6 +253,16 @@ Declare `output_schema` for gates and arbiters and normalize `verdict` to `ACCEP ## Verdict Disposal Contract +**持续核验至上线标准 · Verify to the delivery bar.** Implementation is not the +finish line: after implementation, keep iterating verification until the +delivery bar the user demanded is genuinely met — 实现之后,持续迭代核验,直至 +达成用户要求的上线标准。The Router owns every judgment on that loop: verdict +`replan` when the evidence is insufficient, reorganize the flow (a correction +wave via `extend`, a reshape via `replan`) when the outcome deviates, and a +new DAG when the current graph is exhausted. Neither a completed node nor a +green build closes the loop on its own — only the user's delivery standard +does. + A gate, arbiter, or auditor verdict is a work order, not a summary. When a checkpoint reports `REVISE`, `REJECT`, or `BLOCKED`, the parent MUST dispose of it in the same wake turn with exactly one of: diff --git a/packages/core/test/plugin/command.test.ts b/packages/core/test/plugin/command.test.ts index eb33b78df..445fa131c 100644 --- a/packages/core/test/plugin/command.test.ts +++ b/packages/core/test/plugin/command.test.ts @@ -150,6 +150,9 @@ describe("CommandPlugin.Plugin", () => { expect(CommandPlugin.OrchestrationPolicyContent).toContain("The parent conversation owns") expect(CommandPlugin.OrchestrationPolicyContent).toContain("MUST NOT perform executable leaf work") expect(CommandPlugin.OrchestrationPolicyContent).not.toContain("## Execution Mode Selection") + expect(CommandPlugin.OrchestrationPolicyContent).toContain("持续核验至上线标准 · Verify to the delivery bar") + expect(CommandPlugin.OrchestrationPolicyContent).toContain("keep iterating verification until the") + expect(CommandPlugin.OrchestrationPolicyContent).toContain("only the user's delivery standard") expect(CommandPlugin.WorkflowContent).toContain("One `task` child") expect(CommandPlugin.WorkflowContent).toContain("One `workflow` DAG") expect(CommandPlugin.DagFlowContent).toMatch(/one consolidated\s+graph/)