GFramework/ai-plan/public/analyzer-warning-reduction/todos/analyzer-warning-reduction-tracking.md
gewuyou a75194337e fix(pr-review): 收口当前 PR 仍有效的 review 建议
- 修复 AGENTS 中 latest-head review thread 指向的英文标点一致性问题

- 删除 MediatorAdvancedFeaturesTests 中未使用的 TestLoggingBehavior 测试基础设施

- 重构 VersionedMigrationRunner 的迁移执行上下文传递并补充对应 XML 文档

- 更新 analyzer warning reduction 的 active tracking 与 trace,记录 PR #291 复核结果和 639 条根构建基线
2026-04-25 17:18:01 +08:00

88 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Analyzer Warning Reduction 跟踪
## 目标
继续以“直接看构建输出、直接修构建 warning”为原则推进当前分支并保持 active recovery 文档只保留当前真值。
## 当前恢复点
- 恢复点编号:`ANALYZER-WARNING-REDUCTION-RP-070`
- 当前阶段:`Phase 70`
- 当前焦点:
- `2026-04-25` 主线程按 `$gframework-pr-review` 复核当前分支 PR `#291` 的 latest-head AI review threads、nitpick 与 MegaLinter 信号
- 当前批次只吸收本地仍成立且修复成本明确的 3 项:`AGENTS.md` 英文标点一致性、`MediatorAdvancedFeaturesTests.cs` 中未使用的 `TestLoggingBehavior``VersionedMigrationRunner.cs` 的迁移上下文参数对象化
- `dotnet clean` + `dotnet build` 的直接仓库根基线已从 `640 Warning(s)` 降至 `639 Warning(s)`,说明本轮 PR review follow-up 继续有效
- `GFramework.Game` 的直接受影响 `Release` build 当前为 `326 Warning(s)``0 Error(s)``GFramework.Cqrs.Tests``149 Warning(s)``0 Error(s)`
- CodeRabbit 提到的 `TestLogger` 重复实现与 `YamlConfigLoaderTests.cs` 常量位置仅属于可选整理,本轮未纳入修复写集
## 当前活跃事实
- 当前 `origin/main` 基线提交为 `4ad880c``2026-04-25T14:35:38+08:00`)。
- 提权后的直接仓库根验证当前确认为:
- `dotnet clean`
- 结果:成功;此前沙箱内 “Build FAILED but 0 errors” 的 clean 结果不是仓库真值
- `dotnet build`
- 最新结果:成功;`639 Warning(s)``0 Error(s)`
- 已提交的低风险批次文件:
- `AGENTS.md`
- `GFramework.Core.Tests/Logging/LogContextTests.cs`
- `GFramework.Core.Tests/Logging/LoggerTests.cs`
- `GFramework.Cqrs.Tests/Cqrs/CqrsHandlerRegistrarTests.cs`
- `GFramework.Cqrs.Tests/Logging/TestLogger.cs`
- `GFramework.Cqrs.Tests/Mediator/MediatorAdvancedFeaturesTests.cs`
- `GFramework.Ecs.Arch.Tests/Ecs/EcsAdvancedTests.cs`
- `GFramework.Game.Tests/Config/GameConfigBootstrapTests.cs`
- `GFramework.Game.Tests/Config/GeneratedConfigConsumerIntegrationTests.cs`
- `GFramework.Game.Tests/Config/YamlConfigLoaderTests.cs`
- `GFramework.Game.Tests/Config/YamlConfigTextValidatorTests.cs`
- `GFramework.Game/Internal/VersionedMigrationRunner.cs`
- `ai-plan/public/analyzer-warning-reduction/todos/analyzer-warning-reduction-tracking.md`
- `ai-plan/public/analyzer-warning-reduction/traces/analyzer-warning-reduction-trace.md`
- 当前批次验证结果:
- `dotnet build GFramework.Game/GFramework.Game.csproj -c Release`
- 最新主线程结果:成功;`326 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Cqrs.Tests/GFramework.Cqrs.Tests.csproj -c Release`
- 最新主线程结果:成功;`149 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Core.Tests/GFramework.Core.Tests.csproj -c Release`
- 上一轮主线程结果:成功;`0 Warning(s)``0 Error(s)`
## 当前风险
- active `ai-plan` 之外的历史归档仍保留一部分沙箱内 workaround / 假阻塞记录。
- 缓解措施active todo/trace 已刷新为新真值;历史归档保留为时间线,不再作为默认恢复入口。
- 当前 worktree 仍存在未跟踪的 `.codex` 目录。
- 缓解措施:提交时只暂存 analyzer-warning-reduction 相关源码与 `ai-plan` / `AGENTS.md` 变更。
- `GFramework.Core``GFramework.Game``GFramework.Core.Tests``GFramework.Cqrs.Tests` 仍有较大 warning 基线。
- 缓解措施:后续批次继续优先挑低风险、少文件、可独立验证的测试与局部逻辑切片。
## 活跃文档
- 当前轮次归档:
- [analyzer-warning-reduction-history-rp042-rp048.md](../archive/todos/analyzer-warning-reduction-history-rp042-rp048.md)
- 历史跟踪归档:
- [analyzer-warning-reduction-history-rp001.md](../archive/todos/analyzer-warning-reduction-history-rp001.md)
- [analyzer-warning-reduction-history-rp002-rp041.md](../archive/todos/analyzer-warning-reduction-history-rp002-rp041.md)
- 历史 trace 归档:
- [analyzer-warning-reduction-history-rp001.md](../archive/traces/analyzer-warning-reduction-history-rp001.md)
- [analyzer-warning-reduction-history-rp002-rp041.md](../archive/traces/analyzer-warning-reduction-history-rp002-rp041.md)
- [analyzer-warning-reduction-history-rp042-rp048.md](../archive/traces/analyzer-warning-reduction-history-rp042-rp048.md)
## 验证说明
- `dotnet clean`
- 当前结果:成功;在提权后的直接 shell 中可正常完成仓库根 clean
- `dotnet build`
- 当前结果:成功;`639 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Game/GFramework.Game.csproj -c Release`
- 当前结果:成功;`326 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Cqrs.Tests/GFramework.Cqrs.Tests.csproj -c Release`
- 当前结果:成功;`149 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Core.Tests/GFramework.Core.Tests.csproj -c Release`
- 当前结果:成功;`0 Warning(s)``0 Error(s)`
## 下一步建议
1. 以当前 `639 Warning(s)` 根基线为新恢复点,继续按 `$gframework-batch-boot 50` 规则重算 branch diff并挑选下一个 1-3 文件的低风险热点。
2. 下一轮优先从 `GFramework.Game``GFramework.Cqrs.Tests` 中继续选择单文件 `MA0051``MA0016` 或 review 新暴露的低风险 warning 切片,避免把“可选整理”与 warning 收敛混成大改。
3. 后续凡是沙箱内 `.NET` 验证再次出现无诊断失败、pipe/socket 权限问题或与普通 shell 不一致的结果,直接申请沙箱外重跑同一命令,不再扩散 workaround 型命令噪音。