mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-08 11:13:44 +02:00
State each bootstrap prohibition separately so the production file-delivery classifier does not treat an isolated clause as a requested output. Keep immediate completion stress, private marker evidence and all settlement assertions unchanged; version the authored Copilot protection definition. Co-Authored-By: Paperclip <noreply@paperclip.ing>
19 lines
1.8 KiB
TypeScript
19 lines
1.8 KiB
TypeScript
import type { RunnerTaskFixture } from "./types.js";
|
|
import { copilotProtectionCases } from "./copilot-protection-cases.js";
|
|
export const copilotProtectionTasks: readonly RunnerTaskFixture[] = copilotProtectionCases.map(c => ({
|
|
id: c.id, label: c.id === "native-permission-deny-write" ? "Deny one native write, then stop safely" : "Attached command settles before completion",
|
|
groups: [], workMode: "standard", flow: "copilot_protection", expectedRunCount: 1,
|
|
attemptTimeoutMs: { local: 300_000, daytona: 300_000 },
|
|
expectedTerminalState: { issue: c.id === "native-permission-deny-write" ? "in_progress" : "done", run: c.id === "native-permission-deny-write" ? "cancelled" : "succeeded" },
|
|
buildTitle: nonce => `Copilot ${c.id} ${nonce}`,
|
|
buildVisibleMarker: nonce => `COPILOT-PROTECTION-${c.id}-${nonce}`,
|
|
buildPrompt: nonce => c.id === "native-permission-deny-write" ? c.prompt(nonce) : [
|
|
"Run the supplied exact command once using native bash with mode async and detach false.",
|
|
"After starting it, attempt to finish immediately without calling read_bash or another waiting tool. The attached-process runtime must settle the command before ending the turn.",
|
|
"Do not modify fixture code, manufacture its result, or start another command.",
|
|
"The fixture-owned marker is a private diagnostic sentinel, not a requested file deliverable. Do not publish or attach it.",
|
|
`Call paperclip_finish with reportedWorkDisposition done, summary COPILOT-PROTECTION-${c.id}-${nonce}, current completion contract revision, satisfied objective criterion, no remaining work, evidence [], verification []. After acceptance reply with that exact summary.`,
|
|
].join("\n"),
|
|
buildMatchers: () => [], // Flow grades public durable origin and independent OS/filesystem observations.
|
|
}));
|