mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-10 12:37:55 +01:00
fix(evals): follow a rendered task link in revise-delivery only when one exists
The revision request attaches its source task, so the shared result-navigation check's requirement for a rendered task link rejected a correct reply that returned both version downloads. The case still opens the returned download and both versions' library stacks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a3f29839fd
commit
470db33754
2 files changed
+6
-3
No files matched your search
@@ -2872,7 +2872,7 @@
|
||||
"chat-catalog-domains/internal-website-delivery.ts",
|
||||
"registered-artifact.ts"
|
||||
],
|
||||
"oracleVersion": "paperclip.chat-catalog.internal.website-revision.v2",
|
||||
"oracleVersion": "paperclip.chat-catalog.internal.website-revision.v3",
|
||||
"coverageGaps": [],
|
||||
"expectedRunCount": 2,
|
||||
"minimumRunCount": 2,
|
||||
|
||||
@@ -102,7 +102,7 @@ function websiteDelivery(revising: boolean): ChatCatalogCase {
|
||||
const state = { project: p, task: handedOff, worker, priorRunId, filename, producedBody: actual, producedHash: hash(actual), marker, bodyFact, signupHref, originalAttachment, originalProductId, selectedSource, factualContextAttachment: selectedSource.factualContextAttachment };
|
||||
await ctx.input.evidence("chat-catalog-actual-prior-website.json", state); return state;
|
||||
}, gradeWebsiteDelivery);
|
||||
return { ...base, ...(revising ? { oracleVersion: "paperclip.chat-catalog.internal.website-revision.v2" } : {}), authentication: "human-session", queryAttachments: factualContextQueryAttachment("selected-source.md"), expectedRunCount: 2, minimumRunCount: 2, attemptTimeoutMs: 600_000,
|
||||
return { ...base, ...(revising ? { oracleVersion: "paperclip.chat-catalog.internal.website-revision.v3" } : {}), authentication: "human-session", queryAttachments: factualContextQueryAttachment("selected-source.md"), expectedRunCount: 2, minimumRunCount: 2, attemptTimeoutMs: 600_000,
|
||||
sourceFiles: [...base.sourceFiles, "chat-catalog-domains/internal-website-delivery.ts", "registered-artifact.ts"],
|
||||
async observe(ctx, state): Promise<DeliveryObservation> {
|
||||
const o = await observeInternal(ctx, state); const ids = [entity(state, "task").id, ...(ctx.issue() ? [ctx.issue()!.id] : [])];
|
||||
@@ -112,7 +112,10 @@ function websiteDelivery(revising: boolean): ChatCatalogCase {
|
||||
return { ...o, attachments, products, downloaded, ...(ctx.issue() ? { chatIssueId: ctx.issue()!.id } : {}) };
|
||||
},
|
||||
async verifyResult(ctx, state, value) {
|
||||
const o = value as DeliveryObservation; await base.verifyResult(ctx, state, value);
|
||||
const o = value as DeliveryObservation;
|
||||
// The revision request already attaches the source task; follow a rendered task link when one exists,
|
||||
// while the returned download and both library stacks below are always opened.
|
||||
if (!revising || o.tasks.some(row => hasLink(o, "issues", row))) await base.verifyResult(ctx, state, value);
|
||||
const file = deliveredFiles(o).find(row => downloadHref(o, row)); if (!file) throw new Error("Missing exact registered download result");
|
||||
const href = downloadHref(o, file)!; const page = await ctx.input.page.context().newPage();
|
||||
try {
|
||||
|
||||
Reference in new issue
Block a user