Files
PaperClipAI/tests/runner-e2e/native-active-stop-tasks.ts
T
DottaandPaperclip a6a5417cd9 test(runner-e2e): qualify Stop at pending native permission
Add explicit Cursor and Copilot local/Daytona cells that retain an unanswered callback before a caller-correlated Stop, require cancelled provider settlement and stale-answer rejection, and independently verify no effects through owned retirement. Normal completion and provider death do not satisfy this active-work oracle.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-30 14:42:10 -05:00

11 lines
1.0 KiB
TypeScript

import type { RunnerTaskFixture } from "./types.js";
export const nativeActiveStopTasks: readonly RunnerTaskFixture[] = [{
id: "pending-permission-stop", label: "Stop while native permission is unanswered", groups: [], workMode: "standard", flow: "native_active_stop",
expectedRunCount: 1, attemptTimeoutMs: { local: 300_000, daytona: 300_000 }, turnTimeoutMs: 120_000,
expectedTerminalState: { issue: "in_progress", run: "cancelled" },
buildTitle: nonce => `Native pending permission Stop ${nonce}`,
buildVisibleMarker: nonce => `NATIVE-ACTIVE-STOP-${nonce}`,
buildPrompt: () => "Attempt the supplied exact native operation once. Leave its native permission callback pending for the board operator. Do not answer, reject or cancel your own permission; do not retry, use another tool/path, call paperclip_finish, or claim completion. The operator will stop this unfinished task while permission is still unanswered.",
buildMatchers: () => [], // Dedicated flow requires pending API observation, caller-owned Stop and retirement.
}];