mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-10-16 15:34:08 +08:00
test(chat): guard current surface ownership without route reconstruction
This commit is contained in:
@@ -85,3 +85,7 @@
|
||||
- 共享夹具16文件105项首轮102通过、3失败;无产品缺陷。补齐三个 current 测试:无激活会话展示独立 Home;当前 action_required 显式从 live 到达,避免把恢复历史提升为可提交表单;旧侧栏恢复负向测试使用其真实 topic-a route。保留消息内 A2UI、历史只读和禁止旧侧栏断言。三个文件13/13复验通过,与其余13文件形成105项完整覆盖。
|
||||
- 本地 unknown-item 精确重试完整通过:businessAssertions、Main 正常 exit0/no-signal、资源回收均通过,受控 external backend,production mock fallback=0。初轮teardown超时记录保留。所有本轮挂起Renderer已恢复并完成重建;继续使用同一产品产物验证home-hotpath/inputbar-rich-restore,不重建未变化的生产源码。
|
||||
- 测试补丁 `4cccf2ee57ff1c4ea22c55783290fe79786d7669` 已正常hook提交并推main;新Quality `38726992169`执行中。剩余三文件测试更新及本计划正常提交推main后以最终source复核。
|
||||
|
||||
- 最终测试补丁 `5d88ce350726c15d9a8bdb64a2517637e422df3c` 已正常hook提交推main,Quality `38727636026` 的 Integrity、lint、完整typecheck、GUI Smoke成功;Frontend Full 通过批次1–75,第76批旧surface guard仍正向要求已迁出的buildClawAgentParams,失败1/70,其余69通过。
|
||||
- 窄修复该guard:surface只拥有草稿/预览派生,禁止会话route构造回流;导航接受语义已有index及Gate B覆盖。产品实现无改动,不恢复旧owner。按原130批发现从76续跑,不从第一批无差别重跑;CI前75批与后段/定向结果按source lineage组合,原失败收据保留。
|
||||
- 本地三条Gate B完整通过并正常Main exit0/no-signal:unknown-item、home-hotpath、inputbar-rich-restore。使用真实Electron/preload/IPC/current App Server和同一session/read model;backendMode=external受控fixture,无live provider声明。摘要与SHA-256记录在gate-b-receipts.json。
|
||||
|
||||
@@ -4,7 +4,7 @@ import process from "node:process";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
describe("AgentChatWorkspace Task Center surface runtime boundary", () => {
|
||||
it("草稿 surface、pending preview 和物化路由必须由 Task Center surface runtime 提供", () => {
|
||||
it("草稿 surface 和 pending preview 由 surface runtime 提供,会话导航不回流", () => {
|
||||
const workspaceSource = [
|
||||
"src/components/agent/chat/useAgentChatWorkspaceRuntime.tsx",
|
||||
"src/components/agent/chat/workspace/useAgentChatWorkspaceEntryRuntime.ts",
|
||||
@@ -50,7 +50,6 @@ describe("AgentChatWorkspace Task Center surface runtime boundary", () => {
|
||||
"resolveTaskCenterDraftSurfaceState(",
|
||||
"useTaskCenterHomePendingPreviewRuntime(",
|
||||
"buildInitialDispatchPreviewMessages(",
|
||||
"buildClawAgentParams({",
|
||||
]) {
|
||||
expect(workspaceSource).not.toContain(
|
||||
retiredWorkspaceTaskCenterSurfaceGlue,
|
||||
@@ -60,6 +59,13 @@ describe("AgentChatWorkspace Task Center surface runtime boundary", () => {
|
||||
);
|
||||
expect(ownerSource).toContain(retiredWorkspaceTaskCenterSurfaceGlue);
|
||||
}
|
||||
for (const source of [
|
||||
workspaceSource,
|
||||
shellInteractionOwnerSource,
|
||||
ownerSource,
|
||||
]) {
|
||||
expect(source).not.toContain("buildClawAgentParams({");
|
||||
}
|
||||
|
||||
expect(
|
||||
existsSync(
|
||||
|
||||
Reference in New Issue
Block a user