docs(ai-plan): 更新告警批处理恢复点

- 更新 analyzer warning reduction 的 active todo 为 RP-048 当前真值
- 补充 plain dotnet build 成功与最新 origin/main baseline
- 记录当前批处理已到自然停点并收敛下一步建议
This commit is contained in:
gewuyou 2026-04-24 12:59:03 +08:00
parent 77e332fd44
commit a98d1cb8d0
2 changed files with 32 additions and 43 deletions

View File

@ -6,36 +6,28 @@
## 当前恢复点
- 恢复点编号:`ANALYZER-WARNING-REDUCTION-RP-047`
- 当前阶段:`Phase 47`
- 恢复点编号:`ANALYZER-WARNING-REDUCTION-RP-048`
- 当前阶段:`Phase 48`
- 当前焦点:
- 已重新用经典 logger 形态执行 `dotnet build GFramework.sln -c Release -tl:off -nologo`,当前 solution 基线是 `0 Warning(s)` / `0 Error(s)`
- 受影响项目 `GFramework.Game``GFramework.SourceGenerators.Tests` 的 Release build 也已通过,当前工作树中的 warning-reduction 切片至少在编译层面成立
- 当前 baseline 仍为 `origin/main``e692ed3`, `2026-04-24 09:36:17 +0800`batch stop condition 仍为 branch diff 接近 `75` 个文件
- 当前已提交 branch diff 仍只有 `3` 个文件、`234` 行,距离 stop condition 很远;工作树另外保留一批未提交切片待整理与提交
- 当前 baseline 为 `origin/main``a8447a6`, `2026-04-24 12:53:39 +0800`batch stop condition 仍为 branch diff 接近 `75` 个文件
- 当前 branch diff 为 `6` 个文件、`1566` 行(相对 `origin/main...HEAD`),距离 stop condition 仍有空间
- 当前 warning-reduction 代码切片已经提交到 `77e332f``fix(analyzer): 收口当前批次警告切片`
- 当前工作树除未跟踪的 `.codex` 目录外无活动代码修改
## 当前活跃事实
- `UnifiedSettingsFile.Sections` 已抽象为 `IDictionary<string, string>``UnifiedSettingsDataRepository.CloneFile` 会在底层仍是 `Dictionary` 时保留 comparer避免改变既有键比较语义
- `LocalizationMap` 通过私有 `Dictionary` 字段配合 `IReadOnlyDictionary` 暴露映射,继续避免把可变集合直接暴露给调用方
- `CqrsHandlerRegistryGeneratorTests.cs` 已把一批大型 fixture 提升到类级常量,当前目标是以更低噪音方式消化 `MA0051`
- 当前工作树的 tracked 变更集中在:
- `GFramework.Game/Data/UnifiedSettingsFile.cs`
- `GFramework.Game/Data/UnifiedSettingsDataRepository.cs`
- `GFramework.Godot/Setting/Data/LocalizationMap.cs`
- `GFramework.SourceGenerators.Tests/Cqrs/CqrsHandlerRegistryGeneratorTests.cs`
- `docs/zh-CN/contributing.md`
- `docs/zh-CN/troubleshooting.md`
- 当前还存在未跟踪的 `scripts/dotnet-wsl.sh`,用于 WSL Windows-backed worktree 下统一 `dotnet` 环境参数
- `CqrsHandlerRegistryGeneratorTests.cs` 已把一批大型 fixture 提升到类级常量,以更低噪音方式消化 `MA0051`
- 通过仓库根目录直接执行 `dotnet build` 已再次确认当前 solution 默认构建成功
- 本地当前没有新的低风险 warning hotspot继续扩展 batch 会先增加 branch 体积,而不是继续降低 warning
## 当前风险
- `dotnet build` 默认 terminal logger 输出会折叠成进度视图,不适合作为 warning 基线采样入口
- 缓解措施:继续使用 `-tl:off` 收集 warning 计数
- 当前工作树仍有多处未提交修改;如果直接继续扩展批次,会降低 reviewability
- 缓解措施:先整理并提交当前切片,再决定是否继续下一轮 warning cleanup
- `scripts/dotnet-wsl.sh` 与文档更新属于环境治理切片,是否与本轮 warning-reduction 一起提交需要显式判断
- 缓解措施:提交前按主题拆分 staging避免把环境文档与 warning 修正混成一个提交
- active todo / trace 在 RP-047 之后一度滞后于仓库真值,曾错误保留“工作树仍有未提交切片”的描述
- 缓解措施:已在 RP-048 回写提交状态、默认 build 验证结果与最新 baseline
- 当前 solution warning 已为 `0`,若继续按 warning-reduction 名义扩展分支reviewability 收益会快速下降
- 缓解措施:将本轮 batch 视为自然停点;仅在出现新的 warning hotspot 或明确新切片目标后再继续
## 活跃文档
@ -48,15 +40,11 @@
## 验证说明
- `dotnet build GFramework.Game/GFramework.Game.csproj -c Release`
- 结果:成功
- `dotnet build GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -c Release`
- 结果:成功
- `dotnet build GFramework.sln -c Release -tl:off -nologo`
- 结果:成功;`0 Warning(s)``0 Error(s)``Time Elapsed 00:00:12.72`
- `dotnet build`
- 结果成功solution 默认构建通过,`Build succeeded in 16.2s`
## 下一步建议
1. 先把当前工作树中的 warning-reduction 切片与环境文档切片拆分清楚,避免混合提交
2. 若确认本轮目标只是收口 warning reduction则优先提交 `Game` / `Godot` / `SourceGenerators.Tests` 相关修改
3. `scripts/dotnet-wsl.sh` 与中文文档属于独立环境治理工作,则单独跟踪或另起提交
1. 将当前 warning-reduction batch 视为已到自然停点,不再为了“凑批次”继续扩大 branch diff
2. 若后续仍要继续 warning work先重新定位新的 warning hotspot 或回归来源,再开启下一轮批处理
3. 继续下一轮前优先保持与 `origin/main` 的基线同步,避免在已清零 warning 的前提下无收益扩分支

View File

@ -1,23 +1,24 @@
# Analyzer Warning Reduction 追踪
## 2026-04-24 — RP-047
## 2026-04-24 — RP-048
### 阶段:solution warning 基线复核与 active plan 去噪
### 阶段:plain `dotnet build` 复核与 batch 停点确认
- 触发背景:
- 用户要求继续按 `$gframework-batch-boot 75` 推进,并明确要求“通过 `dotnet build` 检查警告”
- 用户追加要求清理当前计划中的噪音内容,因此本轮除了复核 warning 基线,还要同步压缩 active todo / trace
- 用户继续按 `$gframework-batch-boot 75` 恢复 analyzer warning reduction
- 启动后发现 active todo 仍描述“工作树有未提交 warning 切片”,需要先核对仓库真值
- 用户随后明确要求“用 `dotnet build` 不用加其它参数试试”
- 主线程实施:
- 先读取 active topic 文档、基线信息与 branch diff 指标,确认 baseline 仍是 `origin/main``e692ed3`
- 复查当前工作树中的 warning-reduction 切片,确认主要未提交修改集中在 `GFramework.Game``GFramework.Godot``GFramework.SourceGenerators.Tests`
- 执行 `dotnet build GFramework.Game/GFramework.Game.csproj -c Release``dotnet build GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -c Release`,二者均成功
- 发现默认 terminal logger 输出不利于读取 warning 数,因此改用 `dotnet build GFramework.sln -c Release -tl:off -nologo`
- solution Release build 在经典 logger 形态下成功完成,结果为 `0 Warning(s)` / `0 Error(s)` / `Time Elapsed 00:00:12.72`
- 基于该真值,压缩 active todo / trace移除已经过期的 `891 warnings` 旧基线和过多执行形态细节
- 读取 `AGENTS.md``.ai/environment/tools.ai.yaml``ai-plan/public/README.md` 以及 `analyzer-warning-reduction` 的 active todo / trace
- 使用显式 `git --git-dir/--work-tree` 绑定确认当前分支为 `fix/analyzer-warning-reduction-batch`
- 重新选择 batch baseline 为 `origin/main`,并记录最新可用 ref`a8447a6``2026-04-24 12:53:39 +0800`);不再使用落后的本地 `main``84b40a2`
- 复核 `origin/main...HEAD` 指标,当前 branch diff 为 `6` 个文件、`1566`
- 复核最近提交,确认 warning-reduction 代码切片已经在 `77e332f``fix(analyzer): 收口当前批次警告切片`)落地,工作树当前除 `.codex` 外无活动修改
- 按用户要求在仓库根目录直接执行 `dotnet build`,默认选中 solution 并成功完成,结果为 `Build succeeded in 16.2s`
- 当前结论:
- 当前工作树的 solution warning 基线已经降到 `0 Warning(s)`active plan 中旧的高噪音 warning 基线不再适合作为恢复入口
- `-tl:off` 是当前最可靠的 warning 采样入口;默认 terminal logger 更适合看进度,不适合记录计数
- 当前批次的主要剩余工作不再是继续找 warning而是整理并提交现有切片避免 reviewability 下降
- 当前 solution 在默认 `dotnet build` 路径下可正常通过RP-047 中“需要额外构建参数才能稳定验证”的假设不应继续作为 active 真值
- 当前 warning-reduction branch 已没有新的低风险 warning hotspot继续推进 batch 只会增加 branch 体积,不会继续降低 warning
- 因此本轮批处理应在 `6 / 75` 文件阈值处主动停止,而不是机械地继续扩展
## Archive Context