test(runner-e2e): pin Plan terminal response
This commit is contained in:
parent
0d1f36d493
commit
910de2f2f1
|
|
@ -209,6 +209,15 @@ describe("runner E2E catalog", () => {
|
|||
});
|
||||
expect(task!.buildPrompt("nonce")).toContain("request_confirmation");
|
||||
expect(task!.buildPrompt("nonce")).toContain("baseRevisionId");
|
||||
expect(task!.buildPrompt("nonce")).toContain(
|
||||
"do not spell, quote, repeat, announce, or include PAPERCLIP_E2E_PLAN_DONE_nonce",
|
||||
);
|
||||
expect(task!.buildPrompt("nonce")).toContain(
|
||||
"paperclip_finish with PAPERCLIP_E2E_PLAN_DONE_nonce as its complete summary",
|
||||
);
|
||||
expect(task!.buildPrompt("nonce")).toContain(
|
||||
"one atomic issue PATCH with status `done` and that exact comment",
|
||||
);
|
||||
expect(task!.buildRevisionRequest?.("nonce")).toContain("baseRevisionId");
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -444,11 +444,12 @@ export const runnerTasks: readonly RunnerTaskFixture[] = [
|
|||
"First, create a small canonical Plan with exactly two numbered steps and request approval; do not implement it.",
|
||||
`The initial Plan body must contain PAPERCLIP_E2E_PLAN_DRAFT_${nonce}.`,
|
||||
"If the plan is sent back, revise that same Plan document according to the revision note, publish a new revision-bound confirmation, and still do not implement.",
|
||||
`Before the revised Plan is accepted, do not spell, quote, repeat, announce, or include PAPERCLIP_E2E_PLAN_DONE_${nonce} in any visible response, comment, or tool payload; refer to it only as “the terminal marker.”`,
|
||||
"Only after the revised plan is accepted, implement it by posting one final visible task-thread response containing exactly " +
|
||||
`PAPERCLIP_E2E_PLAN_DONE_${nonce}` +
|
||||
" and mark the task Done.",
|
||||
"For a native runner, remain in the requested planning collaboration mode. Call write_document for key `plan`, then call request_human_input exactly once with interactionKind `confirmation`, targetRevisionId set to the returned latest Plan revision, and continuationPolicy `wake_assignee`. Do not call paperclip_finish while waiting for either Plan confirmation.",
|
||||
"For a legacy runner, use the public Paperclip API. The first PUT of the `plan` issue document creates it. For every later PUT, first GET the current document and set `baseRevisionId` to its `latestRevisionId`; a 409 means you must GET again and retry with the new latest revision. Create a `request_confirmation` targeting the successful PUT response's `latestRevisionId` with `continuationPolicy: wake_assignee`, and move the issue to `in_review` while waiting.",
|
||||
`For a native runner, remain in the requested planning collaboration mode. Call write_document for key \`plan\`, then call request_human_input exactly once with interactionKind \`confirmation\`, targetRevisionId set to the returned latest Plan revision, and continuationPolicy \`wake_assignee\`. Do not call paperclip_finish while waiting for either Plan confirmation. After the revised Plan is accepted, first call paperclip_finish with PAPERCLIP_E2E_PLAN_DONE_${nonce} as its complete summary, then emit exactly that marker as the complete final response and do not call another tool.`,
|
||||
`For a legacy runner, use the public Paperclip API. The first PUT of the \`plan\` issue document creates it. For every later PUT, first GET the current document and set \`baseRevisionId\` to its \`latestRevisionId\`; a 409 means you must GET again and retry with the new latest revision. Create a \`request_confirmation\` targeting the successful PUT response's \`latestRevisionId\` with \`continuationPolicy: wake_assignee\`, and move the issue to \`in_review\` while waiting. After the revised Plan is accepted, write PAPERCLIP_E2E_PLAN_DONE_${nonce} exactly once through one atomic issue PATCH with status \`done\` and that exact comment; do not POST a separate comment or perform a second write.`,
|
||||
"Do not create files, child tasks, or unrelated work, and do not expose credentials.",
|
||||
].join("\n"),
|
||||
buildMatchers(nonce, execution) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue