fix: separate sealed final response diagnostics

This commit is contained in:
lyon
2026-06-19 21:22:21 +08:00
parent 8b5cefd1b7
commit fa924a64c8
3 changed files with 68 additions and 5 deletions
@@ -1,3 +1,6 @@
// SPEC: PJ2026-010401 Web工作台 draft-2026-06-18-r1; PJ2026-0104010803 唯一投影 draft-2026-06-19-p2-terminal-sealed-final-response.
// Responsibility: Workbench diagnostic visibility regression, including separation from sealed final response.
import { expect, gotoWorkbench, saveScreenshot, test } from "../fixtures/test";
import { selectors, sessionTab } from "../fixtures/selectors";
@@ -42,3 +45,17 @@ test.describe("REST gap hydration errors", () => {
await saveScreenshot(page, testInfo, "trace-hydration-timeout-visible");
});
});
test.describe("sealed final response diagnostics separation", () => {
test.use({ scenarioId: "sealed-final-response-diagnostics" });
test("keeps completed final response visible while showing diagnostics separately", async ({ page }, testInfo) => {
await gotoWorkbench(page, "/workbench/sessions/ses_sealed_final_diag");
const card = page.locator(`${selectors.messageCard}[data-role="agent"][data-status="completed"]`).last();
await expect(card.locator(".projection-diagnostic")).toContainText("Trace 更新超时");
const finalResponse = card.locator(".message-text").filter({ hasText: "已完成的 sealed final response 不应被诊断覆盖。" });
await expect(finalResponse).toBeVisible();
await expect(finalResponse).not.toContainText("Trace 更新超时");
await saveScreenshot(page, testInfo, "sealed-final-response-diagnostic-separate");
});
});