mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-04 02:32:07 +01:00
Add Copilot Product qualification and fixture ownership checks
Reviewed partition of the current-master Copilot integration. Complete v30 live qualification is retained; current v31 recovery compatibility, CI and review are tracked explicitly. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
fcbb80554e
commit
c48b89618f
74 files changed
+13325
-58
No files matched your search
@@ -81,10 +81,13 @@ it("accepts omitted terminal path/kind only with the retained single-path origin
|
||||
}
|
||||
});
|
||||
|
||||
it.each(["cursor"] as const)("correlates actual %s passive notices through the public reader and canonical omitted-field updates", async provider => {
|
||||
it.each(["cursor", "copilot"] as const)("correlates actual %s passive notices through the public reader and canonical omitted-field updates", async provider => {
|
||||
const { createCursorToolEvidence } = await import("../../packages/paperclip-runner/src/drivers/acpx/cursor-tool-evidence.js");
|
||||
const { createCopilotToolEvidence } = await import("../../packages/paperclip-runner/src/drivers/acpx/copilot-tool-evidence.js");
|
||||
const { readCursorToolEvidence } = await import("./cursor-native-evidence.js");
|
||||
const create = createCursorToolEvidence;
|
||||
const { readCopilotToolEvidence } = await import("./copilot-evidence.js");
|
||||
const create = provider === "cursor" ? createCursorToolEvidence : createCopilotToolEvidence;
|
||||
const readEvidence = provider === "cursor" ? readCursorToolEvidence : readCopilotToolEvidence;
|
||||
for (const variant of ["exact", "wrong-path", "multi-path", "ambiguous-update"]) {
|
||||
const rows: any[] = [];
|
||||
const projector = create({ sessionId: "session", turnId: "turn", workingDirectory: "/workspace", active: () => true,
|
||||
@@ -96,7 +99,7 @@ it.each(["cursor"] as const)("correlates actual %s passive notices through the p
|
||||
projector.tool({ type: "tool_call", tag: "tool_call", toolCallId: "bootstrap", kind: "read", status: "pending", rawInput: variant === "multi-path" ? { paths: [path, "private.txt"] } : { path }, locations: [{ path }] });
|
||||
projector.tool({ type: "tool_call", tag: "tool_call_update", toolCallId: "bootstrap", status: "failed", ...(variant === "ambiguous-update" ? { rawInput: { path, paths: [path, "private.txt"] } } : {}) });
|
||||
const evaluate = () => {
|
||||
const readNotices = readCursorToolEvidence(rows, "run");
|
||||
const readNotices = readEvidence(rows, "run");
|
||||
const started = receipt("started", "running", 2), end = receipt("completed", "failed", 4);
|
||||
Object.assign(end.payload.prpEvent.payload, { target: null, operation: "unknown" });
|
||||
return withoutProvenBootstrapReads([...readNotices, origin], origin, { actionFile, events: [...rows, started, end] });
|
||||
|
||||
Reference in new issue
Block a user