修复合并后 CI 失败:退役命令的残留清单与用例
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m21s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m57s
Project CI / Backend tests (pull_request) Successful in 4m0s
Project CI / Frontend tests (pull_request) Successful in 1m53s
Project CI / Native shell tests (pull_request) Successful in 5m51s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m13s
Project CI / Repository checks (pull_request) Successful in 2m1s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m20s
Project CI / AI game creator shell web tests (pull_request) Failing after 2m40s

- scripts/check-config.mjs 的 native-only 白名单删除已退役的 bind_components 与 create_ui_design_resource,两端原生能力检查重新自洽
- appSurface 的 UI 原型入口用例改断言 create_ui_design_doc_from_images,并按新契约补齐 relativePath / imageIds 返回形状
- 验证:npm run typecheck(含 skill-pack 与 check-config)、npx vitest run tests/appSurface.test.ts(211 passed / 9 skipped)
This commit is contained in:
2026-09-24 14:21:14 +08:00
parent 2873bed732
commit dc5a5a4a62
2 changed files with 6 additions and 8 deletions
@@ -157,11 +157,8 @@ const allowedUncalledTauriCommands = [
'set_active_game_creator_agent_session',
'start_game_creator_agent_goal',
'start_game_creator_supervisor_runtime_task',
// TODO: Remove the retired binding command after the legacy runtime path is removed.
'bind_components',
'chat_with_game_creator_agent',
'check_ui_editor_font_glyph_coverage',
'create_ui_design_resource',
// 图片类生成的同步变体:GUI 已改为 `start_local_project_asset_generation` + 项目内任务账本
// (提交即返回、后台生成)。这条命令**没有生产调用方**,只有 Rust 集成测试
// (`src/tests/project.rs`)与 `commands.rs` 单测在调;待后续批次删除,或改为转调
@@ -6534,7 +6534,7 @@ export function registerProjectWorkbenchFoundationTests() {
).not.toBeNull();
});
it('opens the UI editor bridge from a canonical ui-design prototype image', async () => {
it('opens the UI editor by creating a design doc from a canonical ui-design prototype image', async () => {
installResizeObserverStub();
const manifest = createGameCreationAppManifest(
'workbench-ui-prototype-entry',
@@ -6577,7 +6577,7 @@ export function registerProjectWorkbenchFoundationTests() {
},
};
}
if (command === 'ensure_ui_design_resource_for_prototype') {
if (command === 'create_ui_design_doc_from_images') {
// 必须返回真实形状的成功结果:返回 `null` 会让 `result.manifest.projectId`
// 抛 TypeError 并被组件吞进错误分支,用例就永远测不到它名字里的成功路径。
return {
@@ -6601,8 +6601,9 @@ export function registerProjectWorkbenchFoundationTests() {
},
],
},
relativePath: 'ui/UI 设计 1.json',
imageIds: ['ui-prototype-asset'],
committedProjectRevision: 1,
created: true,
};
}
throw new Error(`unexpected invoke ${command}`);
@@ -6629,10 +6630,10 @@ export function registerProjectWorkbenchFoundationTests() {
);
fireEvent.click(await screen.findByRole('button', { name: 'UI 编辑器' }));
expect(invoke).toHaveBeenCalledWith(
'ensure_ui_design_resource_for_prototype',
'create_ui_design_doc_from_images',
expect.objectContaining({
input: expect.objectContaining({
prototypeAssetId: 'ui-prototype-asset',
images: [{ assetId: 'ui-prototype-asset' }],
}),
}),
);