对齐主线图集契约与窗口同步测试要求
补齐图集切分声明与工具目录字段边界断言 更新原生HTTP权限守卫及稳定空快照发布次数期望 修正末尾空行并记录CI排查证据,保留待远程验证状态
This commit is contained in:
@@ -806,7 +806,11 @@ async fn background_agent_runtime_can_generate_platform_art_asset() {
|
||||
"imageSize": "1K",
|
||||
"assetKind": "art-spritesheet",
|
||||
"assetLabel": "游戏首版核心美术素材",
|
||||
"replaceExisting": false
|
||||
"replaceExisting": false,
|
||||
// 图集切分没有默认值:必须显式声明,且与平台回显的 sliceMode/gridX/gridY 一致。
|
||||
"sliceMode": "grid",
|
||||
"gridX": 2,
|
||||
"gridY": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@@ -6916,9 +6916,29 @@ fn agent_native_function_catalog_exposes_each_runtime_tool_with_core_schemas() {
|
||||
"imageSize",
|
||||
"assetKind",
|
||||
"assetLabel",
|
||||
"replaceExisting"
|
||||
"replaceExisting",
|
||||
"sliceMode",
|
||||
"gridX",
|
||||
"gridY",
|
||||
"sliceCount"
|
||||
])
|
||||
);
|
||||
let canvas_properties = &canvas_asset.parameters["properties"]["input"]["properties"];
|
||||
assert_eq!(
|
||||
canvas_properties["sliceMode"]["enum"],
|
||||
serde_json::json!(["connected-components", "grid", null])
|
||||
);
|
||||
for field in ["gridX", "gridY", "sliceCount"] {
|
||||
assert_eq!(
|
||||
canvas_properties[field]["type"],
|
||||
serde_json::json!(["integer", "null"])
|
||||
);
|
||||
assert_eq!(canvas_properties[field]["minimum"], 1);
|
||||
assert_eq!(
|
||||
canvas_properties[field]["maximum"],
|
||||
if field == "sliceCount" { 256 } else { 32 }
|
||||
);
|
||||
}
|
||||
assert_eq!(
|
||||
canvas_asset.parameters["properties"]["input"]["properties"]["aspectRatio"]["enum"],
|
||||
serde_json::json!(["1:1", "2:3", "3:2", "9:16", "16:9", null])
|
||||
|
||||
@@ -502,5 +502,3 @@ describe('音频生成身份', () => {
|
||||
);
|
||||
}, 20_000);
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -84,8 +84,12 @@ it('真实窗口与工作台状态同步收敛,回调读取最新处理器且
|
||||
await act(async () => {
|
||||
await Promise.resolve();
|
||||
});
|
||||
// 无原生 invoke 时 active-turn Hook 会把初始快照归一为空数组一次。
|
||||
expect(publications).toHaveLength(2);
|
||||
/*
|
||||
* 无原生 invoke 时 active-turn Hook 只有「空态」这一种状态:空快照引用保持稳定
|
||||
* (不再 `setActiveTurns([])` 换新数组),`snapshotReadFailed` 也保持 false。
|
||||
* 依赖项一个都没变,工作台只应发布一次。
|
||||
*/
|
||||
expect(publications).toHaveLength(1);
|
||||
expect(cleanups).toBe(0);
|
||||
expect(new Set(publications.map((item) => item.onOpenProject)).size).toBe(
|
||||
1,
|
||||
@@ -94,13 +98,15 @@ it('真实窗口与工作台状态同步收敛,回调读取最新处理器且
|
||||
const latestOpen = vi.fn(async () => undefined);
|
||||
homeProjectOverride.openProject = latestOpen;
|
||||
rendered.rerender(view('更改显示名'));
|
||||
expect(publications).toHaveLength(2);
|
||||
// 非依赖变化的重渲染不能让窗口面板重新发布。
|
||||
expect(publications).toHaveLength(1);
|
||||
act(() => openProject('/tmp/window-latest-project'));
|
||||
expect(latestOpen).toHaveBeenCalledWith(
|
||||
'/tmp/window-latest-project',
|
||||
'open',
|
||||
);
|
||||
expect(publications).toHaveLength(2);
|
||||
// 回调执行只换 ref 里的实现,发布次数与清理次数都不能变。
|
||||
expect(publications).toHaveLength(1);
|
||||
expect(cleanups).toBe(0);
|
||||
rendered.unmount();
|
||||
expect(cleanups).toBe(1);
|
||||
|
||||
@@ -42,4 +42,5 @@
|
||||
- appSurface 两条异步轮询泄漏相关失败已通过用例内部等待后端阶段合并、任务终态及轮询退出修复,未修改生产逻辑或全局 harness。子 Agent 在集成工作树全量复验:450 项通过、20 项跳过、0 失败。
|
||||
- 画布名称沿用正式落盘文件名,生成素材可能带时间戳前缀与扩展名;未新增另一套显示名状态。
|
||||
- 在途落点失败且整理无变化时可能留下一个空撤销步骤,失败提示仍可见,不导致正式素材数据丢失;低优后续事项。
|
||||
- 需求记录与 Issue/PR 未写回;所有远程写入等待单独确认。
|
||||
- 已按确认创建 Issue #411、PR #412,并推送 `feat/agc-canvas-acceptance`;飞书未写回。用户另已授权合入 master、修复 CI 并持续推送到检查通过,不授权合并 PR 本身。
|
||||
- 合入 master 后的 CI 2439 暴露五类检查偏差:图集 mock 缺少显式切分参数、工具目录断言未包含新增切分字段、更新插件迁移后的 HTTP 白名单期望过期、窗口空快照稳定化后的发布次数期望过期、测试文件末尾多空行。修复保持现行生产合同和权限范围,补齐参数/边界断言;两个 Rust 失败用例、原生合同门禁及窗口/落点四项前端用例已定向通过,仍需新提交的远程 CI 全量结果。
|
||||
|
||||
@@ -2582,7 +2582,6 @@ function assertAiGameCreatorShellUserDevBoundary() {
|
||||
JSON.stringify([
|
||||
{ url: 'https://dev.genarrative.world/api/*' },
|
||||
{ url: 'https://www.genarrative.world/api/*' },
|
||||
{ url: 'https://agc-dev.oss-rg-china-mainland.aliyuncs.com/*' },
|
||||
{ url: 'https://*/api/*' },
|
||||
{ url: 'http://localhost:*/*' },
|
||||
{ url: 'http://127.0.0.1:*/*' },
|
||||
|
||||
Reference in New Issue
Block a user