GFramework/ai-plan/public/analyzer-warning-reduction/todos/analyzer-warning-reduction-tracking.md
gewuyou 4edfe53cd9 test(cqrs-tests): 收敛测试日志与行为集合抽象 warning
- 修复 TestLogger 与 MediatorAdvancedFeaturesTests 的集合抽象暴露问题,保持测试语义不变

- 更新 analyzer warning reduction 的 active tracking 与 trace,记录新的 640 条根构建基线和委派范围
2026-04-25 15:54:27 +08:00

84 lines
5.1 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-069`
- 当前阶段:`Phase 69`
- 当前焦点:
- `2026-04-25` 主线程已提交 `58ba6c0` `test(cqrs-tests): 收敛处理器注册缓存测试 warning`
- 当前并行双文件批次聚焦 `GFramework.Cqrs.Tests/Logging/TestLogger.cs``GFramework.Cqrs.Tests/Mediator/MediatorAdvancedFeaturesTests.cs`
- 主线程收敛 `TestLogger.Logs` 的集合抽象暴露问题worker 则在 `MediatorAdvancedFeaturesTests.cs` 内收敛一组低风险 `MA0016`
- 提权后的直接仓库根基线已从 `645 Warning(s)` 降至 `640 Warning(s)`,说明本轮双文件 `Cqrs.Tests` 批次继续有效
- `GFramework.Cqrs.Tests` 的直接受影响 `Release` build 当前为 `0 Warning(s)``0 Error(s)`branch diff 仍显著低于 `$gframework-batch-boot 50` 阈值
## 当前活跃事实
- 当前 `origin/main` 基线提交为 `4ad880c``2026-04-25T14:35:38+08:00`)。
- 提权后的直接仓库根验证当前确认为:
- `dotnet clean`
- 结果:成功;此前沙箱内 “Build FAILED but 0 errors” 的 clean 结果不是仓库真值
- `dotnet build`
- 最新结果:成功;`640 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.Cqrs.Tests/GFramework.Cqrs.Tests.csproj -c Release`
- 最新主线程结果:成功;`0 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`
- 当前结果:成功;`640 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Cqrs.Tests/GFramework.Cqrs.Tests.csproj -c Release`
- 当前结果:成功;`0 Warning(s)``0 Error(s)`
- `dotnet build GFramework.Core.Tests/GFramework.Core.Tests.csproj -c Release`
- 当前结果:成功;`0 Warning(s)``0 Error(s)`
## 下一步建议
1. 以当前 `640 Warning(s)` 根基线为新恢复点,继续按 `$gframework-batch-boot 50` 规则重算 branch diff并挑选下一个 1-3 文件的低风险热点。
2. 下一轮优先从 `GFramework.Cqrs.Tests``GFramework.Core.Tests``GFramework.Game` 中继续选择单文件 `MA0051``MA0016` 或测试噪音切片,避免过早推高 review 范围。
3. 后续凡是沙箱内 `.NET` 验证再次出现无诊断失败、pipe/socket 权限问题或与普通 shell 不一致的结果,直接申请沙箱外重跑同一命令,不再扩散 workaround 型命令噪音。