WIP: 清理 AGC 壳热点模块编译 warning(#649) #651

Closed
suzmii wants to merge 0 commits from chore/agc-compile-warnings into master
Member

关联

范围(本条 lane:AGC 壳热点模块)

只处理 AGC 壳(apps/ai-game-creator-shell/src-tauri)的三个热点模块,目标 0 条 warning:

模块 基线
src/repository_context.rs 119
src/git_inspect.rs 88
src/patchset.rs 65

本条 lane 不含其他模块:另有 3 条 lane 分别处理 process_session / project、agent、以及其余文件。

关键决策

  1. git_inspect.rs、patchset.rs 整文件删除:两者是 master 839051f53(退役 AGC 独立 Agent Runtime 与 CLI 执行面)的漏删残留,无现役调用方,不靠 #[allow] 或假引用维持。
  2. repository_context.rs 保留 6 个顶层现役符号:redact_absolute_path_tokens、starts_absolute_path、starts_forward_slash_unc_path、starts_file_uri、is_path_boundary、consume_path_token(FILE_URI_PREFIX 是函数内局部 const,不计顶层符号),另保留 2 条测试;现役调用方是 src/agent/redaction.rs:88 与 src/agent/generation/canvas_generation.rs:1080。评审复算:本次删除 118 个顶层名字(此前正文写的 113 是 bin 口径的 warning 数,两者口径不同)。
  3. 三文件内部仍有 #[cfg(unix)] / #[cfg(windows)] 的生产 / 测试分支,但无被外部引用的 cfg 分支。
  4. 不为消警删除测试、不制造假引用、不新增 #[allow(dead_code)];main.rs 只随之删掉对已删模块的 4 行引用(mod git_inspect;、mod patchset;、use git_inspect::*;、use patchset::*;)。

验证命令

AGC 壳 [features] default = [],不带编辑器 feature 时 build.rs 的随包资源校验会 panic,因此两条命令都必须带 feature:

# bin 目标
cargo check \
  --features cocos-editor-execute,unity-editor-execute,godot-editor-execute \
  --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml

# 同口径的测试目标
cargo check --all-targets \
  --features cocos-editor-execute,unity-editor-execute,godot-editor-execute \
  --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml

自证口径(bin 与 --all-targets 两个口径都要看)

本 lane 的文件在两个口径下都是 0 条,门禁自证与清零点按两口径分别给出:

  • bin:cargo check --features cocos-editor-execute,unity-editor-execute,godot-editor-execute --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml
  • 测试目标:同 feature 加 --all-targets

全 crate 计数(lane A 实跑):bin 613 → 339;--all-targets 1214 事件 / 1034 唯一 → 938。

本 PR 之外的已知残留(非本 PR 引入)

project.git_inspect / project.git_commit / project.patchset 字符串另有 91 处残留(Rust 契约 11 / 前端共享契约 11 / verification.rs:821 / 提示词 15 / 文档 53),全部来自 839051f53 退役时未同步,非本 PR 引入,将由独立批次收尾。

## 关联 - Issue #649 ## 范围(本条 lane:AGC 壳热点模块) 只处理 AGC 壳(`apps/ai-game-creator-shell/src-tauri`)的三个热点模块,目标 **0 条 warning**: | 模块 | 基线 | | --- | --- | | `src/repository_context.rs` | 119 | | `src/git_inspect.rs` | 88 | | `src/patchset.rs` | 65 | 本条 lane **不含**其他模块:另有 3 条 lane 分别处理 `process_session` / `project`、`agent`、以及其余文件。 ## 关键决策 1. **`git_inspect.rs`、`patchset.rs` 整文件删除**:两者是 master `839051f53`(退役 AGC 独立 Agent Runtime 与 CLI 执行面)的漏删残留,**无现役调用方**,不靠 `#[allow]` 或假引用维持。 2. **`repository_context.rs` 保留 6 个顶层现役符号**:`redact_absolute_path_tokens`、`starts_absolute_path`、`starts_forward_slash_unc_path`、`starts_file_uri`、`is_path_boundary`、`consume_path_token`(`FILE_URI_PREFIX` 是函数内局部 const,不计顶层符号),另保留 2 条测试;现役调用方是 `src/agent/redaction.rs:88` 与 `src/agent/generation/canvas_generation.rs:1080`。**评审复算**:本次删除 **118 个顶层名字**(此前正文写的 113 是 bin 口径的 warning 数,两者口径不同)。 3. 三文件内部仍有 `#[cfg(unix)]` / `#[cfg(windows)]` 的生产 / 测试分支,但**无被外部引用的** cfg 分支。 4. 不为消警删除测试、不制造假引用、不新增 `#[allow(dead_code)]`;`main.rs` 只随之删掉对已删模块的 4 行引用(`mod git_inspect;`、`mod patchset;`、`use git_inspect::*;`、`use patchset::*;`)。 ## 验证命令 AGC 壳 `[features] default = []`,**不带编辑器 feature 时 `build.rs` 的随包资源校验会 panic**,因此两条命令都必须带 feature: ```bash # bin 目标 cargo check \ --features cocos-editor-execute,unity-editor-execute,godot-editor-execute \ --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml # 同口径的测试目标 cargo check --all-targets \ --features cocos-editor-execute,unity-editor-execute,godot-editor-execute \ --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml ``` ## 自证口径(bin 与 `--all-targets` 两个口径都要看) 本 lane 的文件在两个口径下都是 **0 条**,门禁自证与清零点按两口径分别给出: - bin:`cargo check --features cocos-editor-execute,unity-editor-execute,godot-editor-execute --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml` - 测试目标:同 feature 加 `--all-targets` 全 crate 计数(lane A 实跑):bin **613 → 339**;`--all-targets` **1214 事件 / 1034 唯一 → 938**。 ## 本 PR 之外的已知残留(非本 PR 引入) `project.git_inspect` / `project.git_commit` / `project.patchset` 字符串另有 **91 处**残留(Rust 契约 11 / 前端共享契约 11 / `verification.rs:821` / 提示词 15 / 文档 53),全部来自 `839051f53` 退役时未同步,**非本 PR 引入**,将由独立批次收尾。
suzmii added 1 commit 2026-10-06 16:28:33 +08:00
清理 AGC 热点三模块不可达实现(272 条 warning)
Project CI / AI game creator shell Rust crates (pull_request) Successful in 6m5s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m2s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 8m0s
Project CI / Backend tests (pull_request) Successful in 8m58s
Project CI / Frontend tests (pull_request) Successful in 3m11s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m47s
Project CI / Repository checks (pull_request) Successful in 6m38s
Project CI / Native shell tests (pull_request) Successful in 8m34s
6d5436541c
根因:退役提交 839051f5「退役AGC独立Agent Runtime与CLI执行面」删除 agent/runtime_tools 等调用面时漏删这三个模块,此后三者均无现役调用方(bin 与 --all-targets 两种口径下 dead_code 计数相同,且文件内无 cfg(feature/cfg(windows) 分支)。

- 删除 src/git_inspect.rs 全部实现(88 条 dead_code):文件内部互相调用不构成活根;同时删除 main.rs 的 `mod git_inspect;`、`use git_inspect::*;` 与文件内 #[cfg(test)] 模块 23 例。失去的行为覆盖:受控本地提交事务、Windows index 替换语义、Git 控制文件硬链接/重解析点拒绝、fingerprint 稳定性;当前文件级补丁与提交路径为 agent/direct_patch.rs,不含多文件提交事务语义。
- 删除 src/patchset.rs 全部实现(65 条 dead_code):多文件原子 patchset 应用已被 agent/direct_patch.rs 取代,无任何调用方;同时删除 main.rs 的 `mod patchset;`、`use patchset::*;` 与 mod tests 9 例。失去的行为覆盖:patchset 输入解析与七字段严格校验、预检/应用/回滚事务、路径冲突与敏感路径拒绝、正文大小预算。
- 收敛 src/repository_context.rs(119 条 → 0):仅保留现役脱敏链 redact_absolute_path_tokens 及私有 helper starts_absolute_path / starts_forward_slash_unc_path / starts_file_uri / is_path_boundary / consume_path_token(经 main.rs glob 供 agent/redaction.rs:88 与 agent/generation/canvas_generation.rs:1080 使用);删除仓库启动上下文扫描与渲染的其余 113 条实现、全部常量与 20 例测试,保留仍覆盖保留函数的 2 例路径脱敏测试。失去的行为覆盖:仓库扫描/清单与 Skill 摘要/文档预算/Git 状态采集与渲染/fingerprint。
- 删除 tests/prompt_source_boundaries.rs 中 src/repository_context.rs 的源码边界用例:其断言对象 render_repository_startup_context_for_prompt 已随实现删除。

口径:cargo check --features cocos-editor-execute,unity-editor-execute,godot-editor-execute
Author
Member

内容已并入 #650(单 PR 口径:用户要求不再按模块拆分 PR,避免逐分支功能测试)。分支 chore/agc-compile-warnings 保留在远端作为历史,不再单独合并。

内容已并入 #650(单 PR 口径:用户要求不再按模块拆分 PR,避免逐分支功能测试)。分支 `chore/agc-compile-warnings` 保留在远端作为历史,不再单独合并。
suzmii closed this pull request 2026-10-06 16:58:32 +08:00
Some checks are pending
Project CI / AI game creator shell Rust crates (pull_request) Successful in 6m5s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m2s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 8m0s
Project CI / Backend tests (pull_request) Successful in 8m58s
Project CI / Frontend tests (pull_request) Successful in 3m11s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m47s
Project CI / Repository checks (pull_request) Successful in 6m38s
Project CI / Native shell tests (pull_request) Successful in 8m34s

Pull request closed

Sign in to join this conversation.