fix(qa): accept staged compaction summaries (#122528)

This commit is contained in:
Vincent Koc
2026-08-12 17:52:14 +08:00
committed by GitHub
parent 5eb18c1387
commit 2c26f13606
2 changed files with 7 additions and 10 deletions
@@ -98,9 +98,7 @@ describe("qa compaction scenario catalog", () => {
const terminalEvidenceAssertExpr = readAssertExpression(
"terminalContinuations[0].providerVariant === 'openai'",
);
const compactionSummaryAssertExpr = readAssertExpression(
"compactionSummaryRequests.length > 0",
);
const compactionSummaryAssertExpr = readAssertExpression("compactionSummaryRequests.some");
const noQualityRetryAssertExpr = readAssertExpression("Previous summary failed quality checks");
const knownGap =
"known-harness-gap compaction-retry-mutating-tool: provider-error recovery does not invoke Codex native compaction; native token-threshold compaction needs a separate scenario.";
@@ -280,13 +278,12 @@ describe("qa compaction scenario catalog", () => {
expect(flow).not.toContain("String(request.toolOutput ?? '').includes(`---");
expect(flow).not.toContain("String(request.toolOutput ?? '').includes(`+++");
expect(compactionSummaryRequestsExpr).toContain("request.requestKind === 'compaction-summary'");
expect(compactionSummaryAssertExpr).toContain("compactionSummaryRequests.length > 0");
expect(compactionSummaryAssertExpr).toContain(
"request.cursor > overflowRequest.cursor && request.cursor < writeRequest.cursor",
"compactionSummaryRequests.some((request) => request.cursor > overflowRequest.cursor && request.cursor < writeRequest.cursor)",
);
expect(compactionSummaryAssertExpr).toContain(
"compactionSummaryRequests.every((request) => request.outcome === 'success' && request.plannedToolName === undefined && request.toolOutputStructuredError !== true)",
);
expect(compactionSummaryAssertExpr).toContain("request.outcome === 'success'");
expect(compactionSummaryAssertExpr).toContain("request.plannedToolName === undefined");
expect(compactionSummaryAssertExpr).toContain("request.toolOutputStructuredError !== true");
expect(noQualityRetryAssertExpr).toContain("compactionSummaryRequests.every");
expect(noQualityRetryAssertExpr).toContain(
"!String(request.allInputText ?? '').includes('Previous summary failed quality checks')",
@@ -229,9 +229,9 @@ flow:
value:
expr: "scenarioRequests.filter((request) => request.requestKind === 'compaction-summary')"
- assert:
expr: "compactionSummaryRequests.length > 0 && compactionSummaryRequests.every((request) => request.cursor > overflowRequest.cursor && request.cursor < writeRequest.cursor && request.outcome === 'success' && request.plannedToolName === undefined && request.toolOutputStructuredError !== true)"
expr: "compactionSummaryRequests.some((request) => request.cursor > overflowRequest.cursor && request.cursor < writeRequest.cursor) && compactionSummaryRequests.every((request) => request.outcome === 'success' && request.plannedToolName === undefined && request.toolOutputStructuredError !== true)"
message:
expr: "`expected successful OpenClaw compaction summary requests causally between overflow and retry: ${JSON.stringify(requestEvidence.filter((request) => request.kind === 'compaction-summary'))}`"
expr: "`expected at least one causal summary between overflow and retry with all OpenClaw compaction summaries healthy: ${JSON.stringify(requestEvidence.filter((request) => request.kind === 'compaction-summary'))}`"
- assert:
expr: "compactionSummaryRequests.every((request) => !String(request.allInputText ?? '').includes('Previous summary failed quality checks'))"
message: