From b7ae18e65c080830a3a6a52dc42feea6bf9a96a7 Mon Sep 17 00:00:00 2001 From: Linghong Date: Wed, 23 Sep 2026 08:19:33 +0000 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=B8=BB=E8=A6=81=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E5=85=A5=E5=8F=A3=E7=BC=96=E8=AF=91=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 记录各主要构建入口的验证结果、警告分类和未覆盖范围 整理 AGC 的 237 条编译器警告、ts-rs 提示及后续处理建议 登记前端构建警告和移动端检查错误,并更新文档分类索引 --- ...解决】主要构建入口编译警告清单-2026-09-23.md | 384 ++++++++++++++++++ ...作规范】文档生命周期与现状索引-2026-09-12.md | 1 + 2 files changed, 385 insertions(+) create mode 100644 docs/project-memory/todos/【待解决】主要构建入口编译警告清单-2026-09-23.md diff --git a/docs/project-memory/todos/【待解决】主要构建入口编译警告清单-2026-09-23.md b/docs/project-memory/todos/【待解决】主要构建入口编译警告清单-2026-09-23.md new file mode 100644 index 000000000..b2b77eebf --- /dev/null +++ b/docs/project-memory/todos/【待解决】主要构建入口编译警告清单-2026-09-23.md @@ -0,0 +1,384 @@ +# 主要构建入口编译警告清单 + +> 文档状态:`open-todo`(待清理;记录复现证据与候选处理方向,不单独作为实现合同) + +更新时间:`2026-09-23`。 +父规范:[本地开发验证与生产运维](../../【开发运维】本地开发验证与生产运维-2026-05-15.md);AGC 行为边界以 [AI 游戏创作智能体 App 实施计划](../../technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md) 为准。 + +## 1. 基线与范围 + +本次仅检查和讨论,尚未实施警告清理。基线提交为 `016356e509f11a1a638ce45ed51b9e40ef3e36a2`,诊断时工作树干净。环境为 Windows x64、Rust `1.98.1`、Node `v24.15.0`、npm `12.0.2`。 + +AGC Rust 使用默认 features、dev profile;237 是本轮编译器诊断数,不代表 237 个独立根因,也不是所有平台、features 和 test targets 的总数。另有 5 条不带常规源码 span 的 ts-rs 宏提示,不计入 237。 + +下列“无 warning”仅覆盖列明命令。未执行完整 release 链接、安装包、Linux Pingora、macOS/iOS/Android 原生构建、AGC 正式 Windows 三项 editor features、`--all-targets`、全量测试或 lint。正式 editor features 的构建可能另行触发 Unity .NET publish、Godot 原生构建及资源准备,需单独验证。 + +## 2. 已执行入口与结果 + +命令默认在仓库根目录执行;明确注明目录的命令在该目录执行。 + +| 范围 | 已执行命令 | 结果 | +| --- | --- | --- | +| 主站与后台 | `npm run build` | 构建门禁通过,无 warning | +| 主站与后台类型 | `npm run typecheck`、`npm run admin-web:typecheck` | 通过,无 warning | +| Spine 工具 | `npm run spine-export-validator:build` | 通过,无 warning | +| 预览部署器前端 | `npm run preview-deployer:web:build` | 通过;1 条 npm 配置 warning | +| API 及其依赖 | `cargo check --locked -p api-server --manifest-path server-rs/Cargo.toml` | 通过,无 warning | +| SpacetimeDB 本机目标 | `cargo check --locked -p spacetime-module --manifest-path server-rs/Cargo.toml` | 通过,无 warning | +| SpacetimeDB WASM | `cargo check --locked --offline -p spacetime-module --target wasm32-unknown-unknown --manifest-path server-rs/Cargo.toml` | 通过,无 warning;不是发布或运行时验证 | +| 预览服务与管理面板 | `cargo check --locked --offline -p preview-deployer-server -p server-manager-panel --manifest-path server-rs/Cargo.toml` | 通过,无 warning | +| 普通桌面壳 Rust | 在 `apps/desktop-shell/src-tauri` 执行 `cargo check --locked --offline` | 通过,无 warning | +| 普通桌面壳配置 | `npm run typecheck -w @genarrative/desktop-shell` | 首次缺生成权限目录;Cargo 检查生成后复跑通过,无 warning | +| 移动端类型 | `npm run typecheck -w @genarrative/mobile-shell` | 通过,无 warning | +| AGC 类型及配置 | `npm run agc:typecheck` | 通过,无 warning | +| AGC 前端 | 在 `apps/ai-game-creator-shell` 使用已安装 Vite 执行 `vite build --config vite.config.ts` | 通过;1 条 chunk 体积 warning | +| AGC Rust | `cargo check --locked --offline --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml -p genarrative-ai-game-creator-shell` | 通过;237 条编译器 warning,另有 5 条 ts-rs 提示 | + +## 3. AGC Rust 警告 + +| 诊断类型 | 数量 | 处理方向 | +| --- | ---: | --- | +| `dead_code` | 165 | 核对正式调用、测试、平台和 feature 边界,再决定删除或条件编译 | +| `unused_imports` | 44 | 核对测试、平台和兼容重导出后局部清理 | +| `unused_variables` | 13 | 判断是冗余参数、平台差异还是漏接语义;不能仅改名掩盖问题 | +| `unused_mut` | 11 | 去除确实不需可变绑定的 mut,并复核其他配置 | +| `unused_assignments` | 3 | 核对覆盖前是否存在必要副作用,再简化赋值 | +| `unused_doc_comments` | 1 | 局部语句说明改用普通注释 | +| **合计** | **237** | 逐项清单见附录 | + +已抽查的例子(位置均相对 `apps/ai-game-creator-shell/src-tauri/`): + +- `src/agent/codex_app_server/mod.rs:3209` 起的三个参数仅向下转发,多余 mut 可局部清理。 +- `src/resource_inspect.rs:354` 的文档注释放在局部 let 语句之前,应保留说明内容并改用普通注释。 +- `src/main.rs:1739` 的 `STARTUP_PANIC_LOG_PATH` 本轮搜索只找到定义,可作为清理候选。 +- `resolve_direct_codex_game_workspace` 有测试引用;不能凭默认构建的 dead_code 告警直接删除 helper 或相关业务约束。 +- 生成的 Prompt Bundle ID 有测试引用;应核对生成器及测试边界,不修改 target 下的产物。生成源为 `build_support/runtime_prompt_bundle.rs`。 +- `runtime_actions/provider_request_builders.rs` 和 `runtime_driver/task_start.rs` 的未使用参数涉及项目写锁,应核对调用语义,避免把业务问题当成纯命名问题。 +- 当前专题仍有保留兼容 facade/re-export 的约束;不能机械执行 cargo fix 或全局 allow 来消除数量。 + +### ts-rs 宏提示(额外 5 条) + +- 4 次提示无法解析 `#[serde(deny_unknown_fields)]`。输出无源码 span;Direct user item / thread wire 的 TS derive 是候选位置,尚未精确归因到四个类型。 +- 1 次提示无法解析 `#[serde(deserialize_with = "deserialize_fill_amount")]`,对应 `src/ui_editor/component/image.rs:113`。 + +处理前先确认生成的 TypeScript 类型是否正确,再评估 ts-rs 属性表达或局部兼容方式。不得删除 Serde 的未知字段拒绝或自定义反序列化校验来消警告,也不默认屏蔽全部 serde 提示。 + +## 4. AGC 前端包体积 + +Vite 提示部分 chunk 压缩后超过默认 `500 kB` 阈值;构建成功。本轮产物报告为: + +| chunk | 构建输出大小 | gzip 大小 | +| --- | ---: | ---: | +| 主包 | 2,295.76 kB | 715.64 kB | +| three | 732.83 kB | 189.32 kB | + +已确认静态加载链:`src/main.tsx` → `App.tsx` → `WorkspaceLauncher.tsx` → 首页、模板库、整页 ProjectDevelopmentView;App 还静态加载 DirectProjectChatView、PlanningChatView、RuntimeConfigDialog。工作台包含图片画布和多个编辑面板,可评估按实际页面/面板挂载时机拆分。 + +three、FBX/GLTF loader、OrbitControls 已动态 import。不能把“改为动态加载 three”作为现成修复,也不应只提高阈值宣布优化完成。主包拆分需要验证首屏、页面切换、面板首次打开与加载失败表现;three 是否保留独立体积预算另行决策。 + +## 5. 预览部署器 npm 配置警告 + +原文:`npm warn Unknown env config "global-ignore-file". This will stop working in the next major version of npm.` + +触发链是根脚本 `npm --prefix apps/preview-deployer-web run build`,再执行子包的 `npm run typecheck && vite build`。顶层检查未发现 `npm_config_global_ignore_file` 环境变量;不能据此断言个人 npm 配置有误。 + +在子包目录直接调用已安装的 `tsc --noEmit -p tsconfig.json` 和 `vite build` 均成功且无 warning,说明这条来自嵌套 npm 调用,不是 TypeScript/Vite 源码告警。候选最小修法是将子包 build 改为 `tsc --noEmit -p tsconfig.json && vite build`,保留独立 typecheck 脚本;修改后需通过原根命令复验。 + +## 6. 另行记录的检查错误 + +以下不是编译 warning,不计入上述统计。 + +### 移动端 smoke 在 Windows 返回 EINVAL + +本轮 `config:smoke`、`build-config:smoke` 均在 `spawnSync('npm.cmd', ...)` 处失败,尚未进入实际 Expo/EAS 校验: + +- `apps/mobile-shell/scripts/check-expo-config.mjs:35` +- `apps/mobile-shell/scripts/check-eas-build-config.mjs:45` +- `apps/mobile-shell/scripts/check-expo-export.mjs:53` 使用同类调用方式;本轮未运行 export,不将源码推断标为已复现错误。 + +在移动壳目录直接运行 `node ../../node_modules/expo/bin/cli config --type public --json` 和 `node ../../node_modules/eas-cli/bin/run --version` 均通过,无 warning。候选处理是复用已安装 CLI 的 JS 入口,以 Node 直接启动;修复后重跑三个 smoke,实际导出及其断言仍待验证。 + +### 桌面壳检查依赖生成权限目录 + +首次配置检查因缺少 `src-tauri/permissions/autogenerated` 失败;Cargo check 执行 build.rs 生成目录后复跑通过。当前证据指向执行顺序/前置产物,不作为未修复的 Rust warning。 + +## 7. 待办与关闭条件 + +- [ ] 第一批:核对并清理低风险导入、mut、注释、变量和赋值;修复预览部署器嵌套 npm 及移动 smoke 的 Windows 调用。 +- [ ] 第二批:对 165 条 dead_code 核对测试、正式 features、平台及退役合同,逐项确定保留、条件编译或删除;涉及退役范围扩大时先补方案。 +- [ ] 第三批:核实 5 条 ts-rs 提示的源类型及 TS 输出,保留现有反序列化约束。 +- [ ] 第四批:评估 AGC 主包拆分;为无法合理拆分且已有按需加载的依赖明确体积取舍。 +- [ ] 补充相关正式 features / 平台 / test targets 验证后更新剩余项,不用当前默认配置代表全部构建。 + +每批按实际修改范围运行定向测试、类型/编译检查及编码与 diff 检查;不为清理 warning 无差别扩大门禁。关闭条件是已复现项均消除或有明确保留原因,原检查入口通过,未覆盖配置仍明确标注。完成后将长期有效规则融合到父规范,删除本开放事项;历史由 Git 保存。 + +## 附录:237 条编译器诊断位置 + +以下是诊断的人工可读整理,不保存原始构建日志、本机路径或 target 缓存路径。位置相对 `apps/ai-game-creator-shell/src-tauri/`;行号只对应本节基线,修改后以符号搜索及重新编译为准。每条保留一个主要 span,编号用于本清单内跟踪,不表示独立业务缺陷。生成产物项须回到 `build_support/runtime_prompt_bundle.rs` 处理。 + +### dead_code(165 条) + +| 编号 | 位置 | 诊断 | +| --- | --- | --- | +| W001 | `生成产物 agent_runtime_prompt_bundle.rs:3` | constant `RUNTIME_PROMPT_BUNDLE_ID` is never used | +| W002 | `生成产物 agent_runtime_prompt_bundle.rs:4` | constant `RUNTIME_PROMPT_BUNDLE_VERSION` is never used | +| W003 | `src/main.rs:1739` | static `STARTUP_PANIC_LOG_PATH` is never used | +| W004 | `src/agent/codex_app_server/mod.rs:31` | constant `GAME_CREATOR_CODEX_AUTH_BRIDGE_API_BASE_URL` is never used | +| W005 | `src/agent/codex_app_server/mod.rs:49` | constant `GAME_CREATOR_CODEX_APP_SERVER_AUTH_MAX_BYTES` is never used | +| W006 | `src/agent/codex_app_server/mod.rs:103` | variant `AuthBridge` is never constructed | +| W007 | `src/agent/codex_app_server/mod.rs:727` | function `resolve_direct_codex_game_workspace` is never used | +| W008 | `src/agent/codex_app_server/mod.rs:1910` | function `configure_game_creator_codex_app_server_command` is never used | +| W009 | `src/agent/codex_app_server/mod.rs:2490` | associated function `spawn_with_executable_and_credential_at_workspace` is never used | +| W010 | `src/agent/codex_app_server/mod.rs:5053` | function `direct_game_creator_codex_chat_at_with_observer` is never used | +| W011 | `build_support/codex_bundle.rs:10` | field `npm_package` is never read | +| W012 | `build_support/codex_bundle.rs:64` | function `validate_package_metadata` is never used | +| W013 | `src/agent/codex_provider_proxy.rs:411` | function `start_codex_provider_proxy` is never used | +| W014 | `src/agent/design_runtime.rs:1228` | function `continue_design_agent_at` is never used | +| W015 | `src/agent/design_runtime.rs:1314` | function `decide_design_phase_at` is never used | +| W016 | `src/agent/direct_codex_attachments.rs:9` | constant `HOME_ATTACHMENT_HEADER` is never used | +| W017 | `src/agent/direct_codex_attachments.rs:10` | constant `PROJECT_ATTACHMENT_HEADER` is never used | +| W018 | `src/agent/direct_codex_attachments.rs:14` | struct `DirectCodexTurnAttachment` is never constructed | +| W019 | `src/agent/direct_codex_attachments.rs:55` | function `sanitize_attachment_status` is never used | +| W020 | `src/agent/direct_codex_attachments.rs:105` | function `attachments_use_project_mapping` is never used | +| W021 | `src/agent/direct_codex_attachments.rs:115` | function `render_project_attachment_line` is never used | +| W022 | `src/agent/direct_codex_attachments.rs:143` | function `render_direct_codex_user_prompt` is never used | +| W023 | `src/agent/direct_codex_audit.rs:18` | constant `DIRECT_CODEX_AUDIT_TURN_LOG_DIR` is never used | +| W024 | `src/agent/direct_codex_audit.rs:59` | associated items `start` and `flush` are never used | +| W025 | `src/agent/direct_codex_audit.rs:478` | function `project_audit_attachments` is never used | +| W026 | `src/agent/direct_execution.rs:486` | function `open_at` is never used | +| W027 | `src/agent/direct_runtime/mod.rs:73` | constant `DIRECT_CODEX_HOME_CREATE_PROJECT_MARKER` is never used | +| W028 | `src/agent/direct_runtime/mod.rs:103` | function `direct_existing_game_sources_exist` is never used | +| W029 | `src/agent/direct_runtime/mod.rs:322` | function `direct_engine_three_dimensional_home_note` is never used | +| W030 | `src/agent/direct_runtime/mod.rs:4731` | function `build_direct_codex_home_system_prompt` is never used | +| W031 | `src/agent/direct_runtime/mod.rs:4744` | struct `DirectCodexHomeReply` is never constructed | +| W032 | `src/agent/direct_runtime/mod.rs:4749` | function `parse_direct_codex_home_reply` is never used | +| W033 | `src/agent/direct_runtime/mod.rs:4774` | function `run_direct_game_creator_home_turn` is never used | +| W034 | `src/agent/direct_runtime/mod.rs:5764` | function `chat_with_game_creator_home_direct_codex` is never used | +| W035 | `src/agent/direct_thread_wire.rs:332` | methods `user_item_id` and `at` are never used | +| W036 | `src/agent/direct_tool_bridge.rs:304` | function `direct_user_art_regeneration_looks_like_question` is never used | +| W037 | `src/agent/direct_tool_bridge.rs:322` | function `direct_user_art_regeneration_full_text_fails_closed` is never used | +| W038 | `src/agent/direct_tool_bridge.rs:387` | function `direct_user_explicitly_authorizes_art_regeneration` is never used | +| W039 | `src/agent/direct_tool_bridge.rs:735` | function `direct_tool_bridge_state` is never used | +| W040 | `src/agent/direct_tools_mcp.rs:35` | fields `url` and `token` are never read | +| W041 | `src/agent/direct_turn_metrics.rs:14` | constant `WRITER_BATCH_RECORDS` is never used | +| W042 | `src/agent/direct_turn_metrics.rs:15` | constant `WRITER_BATCH_BYTES` is never used | +| W043 | `src/agent/direct_turn_metrics.rs:16` | constant `FLUSH_TIMEOUT` is never used | +| W044 | `src/agent/direct_turn_metrics.rs:25` | fields `sequence` and `line` are never read | +| W045 | `src/agent/direct_turn_metrics.rs:33` | field `completed` is never read | +| W046 | `src/agent/direct_turn_metrics.rs:36` | function `take_writer_batch` is never used | +| W047 | `src/agent/direct_turn_metrics.rs:88` | associated items `new` and `flush` are never used | +| W048 | `src/agent/direct_turn_metrics.rs:360` | associated items `new` and `flush` are never used | +| W049 | `src/agent/generation/canvas_generation.rs:1175` | function `wait_for_external_generation_result` is never used | +| W050 | `src/agent/generation/canvas_generation.rs:1776` | method `slice_count` is never used | +| W051 | `src/agent/generation/canvas_generation.rs:2616` | function `generate_platform_art_asset_with_required_slices_at` is never used | +| W052 | `src/agent/prompt.rs:4` | function `render_agent_runtime_prompt_context` is never used | +| W053 | `src/agent/prompt.rs:352` | function `build_game_creator_role_agent_chat_request` is never used | +| W054 | `src/agent/prompt.rs:397` | function `build_game_creator_role_agent_context` is never used | +| W055 | `src/agent/runtime_actions/action_audit.rs:80` | function `append_agent_runtime_action_receipt` is never used | +| W056 | `src/agent/runtime_actions/pending_confirmation_ledger.rs:210` | function `agent_runtime_contains_secret_key_prefix` is never used | +| W057 | `src/agent/runtime_actions/pending_confirmation_ledger.rs:216` | function `agent_runtime_secret_token_end` is never used | +| W058 | `src/agent/runtime_actions/project_gates.rs:1838` | constant `AGENT_RUNTIME_PROJECT_WRITE_LOCK_SHORT_WAIT_ATTEMPTS` is never used | +| W059 | `src/agent/runtime_actions/project_gates.rs:1900` | function `acquire_game_creator_agent_runtime_project_write_lock_with_short_wait` is never used | +| W060 | `src/agent/runtime_actions/project_gates.rs:1911` | function `try_acquire_game_creator_agent_runtime_project_write_lock` is never used | +| W061 | `src/agent/runtime_actions/response_stream.rs:222` | method `ready` is never used | +| W062 | `src/agent/runtime_actions/tool_plan_protocol.rs:3` | function `parse_game_creator_agent_tool_plan_response` is never used | +| W063 | `src/agent/runtime_driver.rs:391` | constant `AGENT_RUNTIME_PLAN_PROVIDER_REQUEST_LIFECYCLE_SCHEMA_VERSION` is never used | +| W064 | `src/agent/runtime_protocol/acceptance_graph.rs:257` | struct `FastGddFileReadCoverage` is never constructed | +| W065 | `src/agent/runtime_driver/entrypoints.rs:218` | function `configure_game_creator_manifest_invalidation_event_sink` is never used | +| W066 | `src/agent/runtime_driver/entrypoints.rs:265` | function `remove_game_creator_manifest_invalidation_event_sink` is never used | +| W067 | `src/agent/runtime_driver/entrypoints.rs:585` | function `chat_with_game_creator_role_agent_runtime_at` is never used | +| W068 | `src/agent/runtime_driver/entrypoints.rs:638` | function `chat_with_game_creator_role_agent_stream_at` is never used | +| W069 | `src/agent/runtime_driver/finalization.rs:10` | variant `Deferred` is never constructed | +| W070 | `src/agent/runtime_protocol/goal_contract.rs:82` | function `game_creator_agent_runtime_goal_contract_path` is never used | +| W071 | `src/agent/runtime_driver/task_start.rs:745` | function `autonomous_root_goal_contract_persisted_for_binding_at` is never used | +| W072 | `src/agent/runtime_protocol/autonomous_completion.rs:14467` | function `inherited_gameplay_semantics_gap` is never used | +| W073 | `src/agent/runtime_protocol/context_bundle.rs:3` | function `game_creator_agent_runtime_context_bundle_path` is never used | +| W074 | `src/agent/runtime_protocol/models.rs:3` | constant `AGENT_RUNTIME_LOCK_STALE_AFTER_SECONDS` is never used | +| W075 | `src/agent/runtime_protocol/models.rs:26` | variant `HandoffPrepared` is never constructed | +| W076 | `src/agent/runtime_protocol/models.rs:87` | field `0` is never read | +| W077 | `src/agent/runtime_protocol/provider_retry.rs:328` | function `game_creator_agent_runtime_provider_config_fingerprint` is never used | +| W078 | `src/agent/runtime_protocol/provider_retry.rs:1646` | function `game_creator_agent_runtime_provider_request_slot_for_id` is never used | +| W079 | `src/agent/runtime_protocol/run_configuration.rs:3` | function `game_creator_agent_runtime_project_revision_path` is never used | +| W080 | `src/agent/runtime_protocol/run_configuration.rs:64` | function `game_creator_agent_runtime_run_profile_binding_path` is never used | +| W081 | `src/agent/runtime_protocol/verification.rs:14` | function `game_creator_agent_runtime_verification_gate_path` is never used | +| W082 | `src/agent/runtime_state.rs:283` | function `start_game_creator_agent_runtime_turn_at` is never used | +| W083 | `src/agent/runtime_state.rs:2600` | function `game_creator_agent_runtime_task_lock_is_available` is never used | +| W084 | `src/agent/runtime_state.rs:2609` | struct `AgentRuntimeTaskLockStatus` is never constructed | +| W085 | `src/agent/runtime_state.rs:2614` | function `read_game_creator_agent_runtime_lock_status` is never used | +| W086 | `src/agent/runtime_tools/delegation.rs:289` | function `observe_agent_runtime_agent_delegate` is never used | +| W087 | `src/agent/runtime_tools/isolated_joins.rs:88` | function `ready_isolated_join_status_for_parent_at` is never used | +| W088 | `src/agent/runtime_tools/isolated_joins.rs:120` | function `render_isolated_join_status_batch` is never used | +| W089 | `src/agent/runtime_tools/isolated_joins.rs:200` | function `claim_ready_isolated_joins_at` is never used | +| W090 | `src/agent/runtime_tools/isolated_joins.rs:479` | function `select_isolated_join_claim_batch` is never used | +| W091 | `src/agent/runtime_tools/policy.rs:29` | function `autonomous_design_foundation_command_is_allowed` is never used | +| W092 | `src/analytics/store.rs:24` | struct `StoreCounters` is never constructed | +| W093 | `src/analytics/store.rs:286` | method `counters` is never used | +| W094 | `src/collaboration.rs:244` | function `write_supervisor_collaboration_policy_at` is never used | +| W095 | `src/collaboration.rs:311` | function `supervisor_collaboration_policy_snapshot_path` is never used | +| W096 | `src/collaboration.rs:322` | function `supervisor_collaboration_policy_snapshot_binding_path` is never used | +| W097 | `src/command_exec.rs:1971` | function `request_project_command_process_group_termination` is never used | +| W098 | `src/command_exec.rs:2018` | function `terminate_project_command_process_group` is never used | +| W099 | `src/command_exec.rs:2375` | function `run_project_command_at` is never used | +| W100 | `src/command_exec.rs:2385` | function `run_project_command_with_output_at` is never used | +| W101 | `src/command_sandbox.rs:52` | struct `CommandSandboxLaunch` is never constructed | +| W102 | `src/command_sandbox.rs:70` | struct `CommandSandboxError` is never constructed | +| W103 | `src/command_sandbox.rs:76` | associated items `new` and `metadata` are never used | +| W104 | `src/command_sandbox.rs:110` | function `prepare_command_sandbox_launch` is never used | +| W105 | `src/commands.rs:3903` | function `fetch_agent_editor_asset_library` is never used | +| W106 | `src/commands.rs:3917` | function `list_account_editor_assets_for_agent` is never used | +| W107 | `src/config.rs:2371` | function `initialize_windows_game_creator_directory_owner_for_current_user` is never used | +| W108 | `src/config.rs:2382` | function `repair_game_creator_private_acl_for_current_user` is never used | +| W109 | `src/context_compaction.rs:91` | function `game_creator_agent_runtime_context_compaction_path` is never used | +| W110 | `src/delegation.rs:312` | method `has_external_wait` is never used | +| W111 | `src/delegation.rs:330` | function `new_static_delegate_delivery` is never used | +| W112 | `src/delegation.rs:436` | function `mark_static_delegate_delivery_ready_at` is never used | +| W113 | `src/delegation.rs:570` | function `mark_static_delegate_delivery_user_revision_requested_at` is never used | +| W114 | `src/delegation.rs:770` | function `claim_ready_static_delegate_receipts_at` is never used | +| W115 | `src/delegation.rs:965` | function `mark_static_delegate_claim_observed_at` is never used | +| W116 | `src/delegation.rs:1293` | function `static_delegate_original_awaits_user_revision_at` is never used | +| W117 | `src/editor_adapters.rs:22` | struct `RunnerManagedEditorAdapter` is never constructed | +| W118 | `src/editor_adapters/execution.rs:518` | function `unity_execution_fence_path` is never used | +| W119 | `src/editor_adapters/execution.rs:521` | function `unity_uncertain_fence_path` is never used | +| W120 | `src/editor_adapters/execution.rs:524` | function `mark_unity_execution_uncertain_at` is never used | +| W121 | `src/editor_adapters/execution.rs:527` | function `unity_execute_receipt_is_valid` is never used | +| W122 | `src/editor_adapters/execution.rs:530` | function `unity_editor_rpc_owned` is never used | +| W123 | `src/editor_adapters/execution.rs:537` | function `acknowledge_unity_editor_delivery` is never used | +| W124 | `src/error_report/queue.rs:188` | function `generation` is never used | +| W125 | `src/goal.rs:1037` | function `mark_game_creator_agent_goal_cleared_for_runtime_at` is never used | +| W126 | `src/patchset.rs:33` | methods `operation`, `before_sha256`, `after_sha256`, `before_bytes`, and `after_bytes` are never used | +| W127 | `src/patchset.rs:74` | method `is_empty` is never used | +| W128 | `src/platform_session.rs:705` | function `platform_session_service_identity` is never used | +| W129 | `src/plugin_host.rs:1876` | methods `register_editor_adapter`, `detect_editor`, `connect_editor`, `disconnect_editor`, and `translate_editor_rpc` are never used | +| W130 | `src/preview.rs:15` | method `set_running` is never used | +| W131 | `src/process_session/lifecycle.rs:231` | function `start_process_session_at` is never used | +| W132 | `src/project/agent_db.rs:2509` | function `read_agent_db_records_matching` is never used | +| W133 | `src/project/agent_db.rs:3189` | function `read_agent_db_lifecycle_transitions_matching_at` is never used | +| W134 | `src/project/agent_db.rs:4785` | function `append_jsonl_lines` is never used | +| W135 | `src/project/conversation.rs:1083` | function `read_local_conversation_at` is never used | +| W136 | `src/project/conversation.rs:1412` | function `append_local_conversation_message_at` is never used | +| W137 | `src/project/conversation.rs:1444` | function `conversation_file_path` is never used | +| W138 | `src/project/export.rs:573` | function `ensure_project_export_package_dir` is never used | +| W139 | `src/project/external_editor_bindings.rs:47` | associated functions `for_platform` and `for_developer` are never used | +| W140 | `src/project/memory.rs:97` | function `delete_local_game_memory_at` is never used | +| W141 | `src/project/verification.rs:290` | function `resolve_project_verification_spec_at` is never used | +| W142 | `src/project/verification.rs:674` | function `run_project_verification_at` is never used | +| W143 | `src/runner/client.rs:18` | constant `AGENT_RUNNER_CLIENT_EXIT_TIMEOUT` is never used | +| W144 | `src/runner/client.rs:667` | function `read_external_agent_runner_endpoint_for_shutdown` is never used | +| W145 | `src/runner/client.rs:1068` | function `shutdown_external_agent_runner` is never used | +| W146 | `src/runner/client.rs:1355` | function `shutdown_external_agent_runner_for_client_exit_at` is never used | +| W147 | `src/runner/client.rs:1405` | function `shutdown_external_agent_runner_for_client_exit` is never used | +| W148 | `src/runner/client.rs:1566` | function `ensure_external_agent_runner_started_for_gui` is never used | +| W149 | `src/runner/client.rs:1594` | function `parse_external_agent_runner_notification_kind` is never used | +| W150 | `src/runner/client.rs:1839` | function `disconnect_external_managed_editor` is never used | +| W151 | `src/runner/client.rs:2154` | function `notify_external_agent_runner` is never used | +| W152 | `src/runner/dispatch.rs:98` | function `apply_external_agent_runner_gui_owner_platform_session` is never used | +| W153 | `src/runner/server.rs:23` | function `bind_external_agent_runner_listener_with` is never used | +| W154 | `src/runner/state.rs:248` | method `runtime_directory` is never used | +| W155 | `src/swarm_cli/conversation.rs:223` | function `summarize_new_assistant_messages` is never used | +| W156 | `src/swarm_cli/conversation.rs:301` | function `print_settled_parent_reply` is never used | +| W157 | `src/swarm_cli/report.rs:5` | constant `SWARM_TURN_FAILED_ERROR` is never used | +| W158 | `src/swarm_cli/report.rs:6` | constant `SWARM_TURN_INCOMPLETE_ERROR` is never used | +| W159 | `src/swarm_cli/report.rs:7` | constant `SWARM_TURN_RECONCILIATION_ERROR` is never used | +| W160 | `src/swarm_cli/turn_wait.rs:7` | struct `SwarmTurnObservation` is never constructed | +| W161 | `src/swarm_cli/turn_wait.rs:396` | function `runtimes_are_busy` is never used | +| W162 | `src/ui_editor/html_renderer/mod.rs:17` | function `render_ui_design_state_html` is never used | +| W163 | `src/ui_editor/html_renderer/mod.rs:139` | function `render_tree` is never used | +| W164 | `src/ui_editor/html_renderer/mod.rs:157` | function `render_node` is never used | +| W165 | `src/ui_editor/workflow.rs:158` | function `run_ui_workflow_at` is never used | + +### unused_imports(44 条) + +| 编号 | 位置 | 诊断 | +| --- | --- | --- | +| W166 | `src/main.rs:13` | unused import: `std::process::Command` | +| W167 | `src/agent/codex_app_server/mod.rs:11` | unused import: `uuid::Uuid` | +| W168 | `src/agent/direct_codex_user_item/mod.rs:8` | unused imports: `DirectCodexUserAttachmentReferencePart`, `DirectCodexUserContentPart`, `DirectCodexUserMessageItem`, `DirectCodexUserRole`, and `DirectCodexUserRuntimeRegionPart` | +| W169 | `src/agent/direct_codex_user_item/mod.rs:14` | unused import: `direct_codex_user_item_to_wire_input` | +| W170 | `src/agent/direct_project_context.rs:9` | unused import: `PathBuf` | +| W171 | `src/agent/direct_runtime/mod.rs:5` | unused import: `std::future::Future` | +| W172 | `src/agent/direct_runtime/mod.rs:12` | unused import: `normalize_direct_client_turn_id` | +| W173 | `src/agent/direct_tool_bridge.rs:2` | unused import: `Query` | +| W174 | `src/agent/direct_tool_bridge.rs:3` | unused import: `get` | +| W175 | `src/agent/generation.rs:29` | unused imports: `ExternalGenerationInitialResponse`, `classify_external_generation_initial_response`, `external_generation_result_has_download_reference`, `external_generation_submit_rejection_is_definitive`, `submit_external_generation_request`, and `wait_for_external_generation_result_with_access` | +| W176 | `src/agent/runtime_actions.rs:52` | unused imports: `agent_runtime_git_commit_safe_detail_value` and `append_agent_runtime_action_receipt` | +| W177 | `src/agent/runtime_actions.rs:60` | unused import: `execute_game_creator_agent_runtime_tool_action_with_action_id` | +| W178 | `src/agent/runtime_actions.rs:76` | unused import: `game_creator_agent_runtime_parallel_read_batch_path` | +| W179 | `src/agent/runtime_actions.rs:88` | unused import: `agent_runtime_contains_secret_key_prefix` | +| W180 | `src/agent/runtime_actions.rs:98` | unused imports: `agent_runtime_observation_advances_project_revision`, `project_verification_completion_blocker`, and `try_acquire_game_creator_agent_runtime_project_write_lock` | +| W181 | `src/agent/runtime_actions.rs:144` | unused import: `tool_plan_protocol::parse_game_creator_agent_tool_plan_response` | +| W182 | `src/agent/runtime_driver.rs:309` | unused import: `agent_runtime_tool_requires_repository_context_fingerprint_gate` | +| W183 | `src/agent/runtime_driver.rs:331` | unused import: `autonomous_manifest_parent_wake_error_is_transient` | +| W184 | `src/agent/runtime_protocol.rs:35` | unused imports: `build_game_creator_agent_runtime_context_bundle`, `game_creator_agent_runtime_context_bundle_path`, and `write_game_creator_agent_runtime_context_bundle` | +| W185 | `src/agent/runtime_protocol.rs:43` | unused import: `agent_runtime_context_window_applies` | +| W186 | `src/agent/runtime_protocol.rs:73` | unused import: `real_e2e_checkpoint::AgentRuntimeRealE2eAckPublishPhase` | +| W187 | `src/agent/runtime_protocol.rs:75` | unused import: `game_creator_agent_runtime_response_stream_path` | +| W188 | `src/agent/runtime_protocol.rs:80` | unused imports: `game_creator_agent_runtime_project_revision_path` and `game_creator_agent_runtime_run_profile_binding_path` | +| W189 | `src/agent/runtime_protocol.rs:86` | unused imports: `acquire_game_creator_agent_runtime_steer_project_write_lock_with_wait` and `game_creator_agent_runtime_steer_ledger_path` | +| W190 | `src/agent/runtime_protocol.rs:103` | unused import: `game_creator_agent_runtime_verification_gate_path` | +| W191 | `src/agent/runtime_tools.rs:60` | unused import: `observe_agent_runtime_agent_delegate` | +| W192 | `src/agent.rs:54` | unused import: `direct_codex_canonical_project_identity_for_commands as direct_codex_canonical_project_identity` | +| W193 | `src/browser/playtest/mod.rs:18` | unused imports: `finish_generic_stability_observation`, `generic_non_loss_progression_phase_is_valid`, `generic_primary_action_phase_is_valid`, `generic_restart_phase_is_valid`, `generic_start_phase_is_valid`, and `validate_generic_stability_sample` | +| W194 | `src/browser/playtest/mod.rs:28` | unused imports: `LaneBattleProgress` and `lane_enemy_state_changes` | +| W195 | `src/browser.rs:11` | unused import: `discovery::discover_chrome_or_edge` | +| W196 | `src/browser.rs:24` | unused import: `validate_local_preview_in_browser_with_interaction` | +| W197 | `src/runner/server.rs:2` | unused import: `Sha256` | +| W198 | `src/runner/server.rs:3` | unused import: `std::fs` | +| W199 | `src/runner.rs:27` | unused import: `disconnect_external_managed_editor` | +| W200 | `src/tool_plan_handoff/discovery.rs:5` | unused imports: `TOOL_PLAN_HANDOFF_MAX_DISCOVERED_AGENTS` and `TOOL_PLAN_HANDOFF_MAX_DISCOVERED_FILES` | +| W201 | `src/tool_plan_handoff.rs:35` | unused imports: `AgentRuntimeToolPlanHandoffLedger` and `TOOL_PLAN_HANDOFF_SCHEMA_VERSION` | +| W202 | `src/ui_editor/commands/recognition.rs:15` | unused import: `NodeId` | +| W203 | `src/ui_editor/commands/separation/image_preprocess.rs:3` | unused import: `RgbaImage` | +| W204 | `src/ui_editor/commands/separation/persistence.rs:2` | unused import: `crate::ui_editor::commands::separation::*` | +| W205 | `src/ui_editor/persistence.rs:15` | unused import: `File` | +| W206 | `src/ui_editor/workflow.rs:22` | unused import: `Digest` | +| W207 | `src/agent/codex_provider_proxy.rs:7` | unused import: `StreamExt` | +| W208 | `src/assets.rs:2` | unused import: `Digest` | +| W209 | `src/runner/server.rs:2` | unused import: `Digest` | + +### unused_variables(13 条) + +| 编号 | 位置 | 诊断 | +| --- | --- | --- | +| W210 | `src/agent/runtime_actions/project_gates.rs:1207` | unused variable: `root` | +| W211 | `src/agent/runtime_actions/project_gates.rs:1208` | unused variable: `agent_id` | +| W212 | `src/agent/runtime_actions/project_gates.rs:1209` | unused variable: `required_run_id` | +| W213 | `src/agent/runtime_actions/provider_request_builders.rs:181` | unused variable: `project_lock` | +| W214 | `src/agent/runtime_actions/tool_plan_protocol.rs:45` | unused variable: `agent_id` | +| W215 | `src/agent/runtime_driver/task_start.rs:328` | unused variable: `project_write_lock` | +| W216 | `src/agent/runtime_driver/task_start.rs:1687` | unused variable: `task_id` | +| W217 | `src/agent/runtime_protocol/json_sidecar.rs:31` | unused variable: `path` | +| W218 | `src/agent/runtime_protocol/json_sidecar.rs:32` | unused variable: `label` | +| W219 | `src/agent_native_tools.rs:283` | unused variable: `agent_id` | +| W220 | `src/commands.rs:4800` | unused variable: `asset_id` | +| W221 | `src/project/manifest.rs:1125` | unused variable: `root` | +| W222 | `src/ui_editor/html_renderer/mod.rs:140` | unused variable: `image` | + +### unused_mut(11 条) + +| 编号 | 位置 | 诊断 | +| --- | --- | --- | +| W223 | `src/agent/codex_app_server/mod.rs:3209` | variable does not need to be mutable | +| W224 | `src/agent/codex_app_server/mod.rs:3210` | variable does not need to be mutable | +| W225 | `src/agent/codex_app_server/mod.rs:3211` | variable does not need to be mutable | +| W226 | `src/agent/codex_app_server/mod.rs:3259` | variable does not need to be mutable | +| W227 | `src/agent/runtime_actions/context_compaction.rs:63` | variable does not need to be mutable | +| W228 | `src/agent/direct_tool_bridge.rs:780` | variable does not need to be mutable | +| W229 | `src/agent/runtime_actions/provider_request_builders.rs:606` | variable does not need to be mutable | +| W230 | `src/agent/runtime_protocol/autonomous_completion.rs:6325` | variable does not need to be mutable | +| W231 | `src/commands.rs:2243` | variable does not need to be mutable | +| W232 | `src/platform_session.rs:189` | variable does not need to be mutable | +| W233 | `src/main.rs:2466` | variable does not need to be mutable | + +### unused_assignments(3 条) + +| 编号 | 位置 | 诊断 | +| --- | --- | --- | +| W234 | `src/agent/direct_runtime/mod.rs:5328` | value assigned to `response` is never read | +| W235 | `src/config.rs:3642` | value assigned to `changed` is never read | +| W236 | `src/runner/endpoint.rs:1043` | value assigned to `last_error` is never read | + +### unused_doc_comments(1 条) + +| 编号 | 位置 | 诊断 | +| --- | --- | --- | +| W237 | `src/resource_inspect.rs:354` | unused doc comment | diff --git a/docs/【协作规范】文档生命周期与现状索引-2026-09-12.md b/docs/【协作规范】文档生命周期与现状索引-2026-09-12.md index 62302d25d..967ec141a 100644 --- a/docs/【协作规范】文档生命周期与现状索引-2026-09-12.md +++ b/docs/【协作规范】文档生命周期与现状索引-2026-09-12.md @@ -77,6 +77,7 @@ 当前 `open-todo`: +- `docs/project-memory/todos/【待解决】主要构建入口编译警告清单-2026-09-23.md` - `docs/project-memory/todos/【待解决】AI游戏创作高风险审批Rank-2026-07-20.md` - `docs/project-memory/todos/【待评估】UI编辑器字体跨运行时像素一致性-2026-08-19.md` - `docs/project-memory/todos/【已知问题】AppConfig与AppState调试输出敏感配置泄漏-Master遗留-2026-08-07.md`