GFramework/ai-plan/public/analyzer-warning-reduction/todos/analyzer-warning-reduction-tracking.md
gewuyou 833a95f7f3 fix(analyzer-warning-reduction): 收口PR280评审并压缩恢复入口
- 修复 SchemaConfigGeneratorTests 中冗余的 global:: 返回类型声明
- 归档 analyzer-warning-reduction 主题的 RP-002 至 RP-041 详细 tracking 与 trace 历史
- 更新 RP-042 的 active 跟踪与验证记录以反映 PR #280 follow-up 结论
2026-04-24 07:42:19 +08:00

4.4 KiB
Raw Blame History

Analyzer Warning Reduction 跟踪

目标

继续以“优先低风险、保持行为兼容”为原则收敛当前仓库的 Meziantou analyzer warnings并确保 active recovery 入口保持精简、可恢复。

当前恢复点

  • 恢复点编号:ANALYZER-WARNING-REDUCTION-RP-042
  • 当前阶段:Phase 42
  • 当前焦点:
    • 已于 2026-04-24 使用 gframework-pr-review 复核当前分支 PR #280latest-head review 仍有 3 条 open threads
    • 本地确认仍成立的项只有两类:SchemaConfigGeneratorTests 的冗余 global:: 返回类型,以及 active tracking/trace 需要归档压缩
    • Greptile 指出的返回类型冗余不影响行为;本轮按最小改动收口,避免扩大测试写集
    • RP-041 验证完成时,分支相对 origin/main 的唯一变更文件数为 4;这说明继续只处理同一热点文件时,该指标增长会很慢
    • GFramework.SourceGenerators.TestsRP-042net10.0 Release build 中仍为 10MA0051 warning、0 error剩余热点继续集中在 CqrsHandlerRegistryGeneratorTests.cs

当前状态摘要

  • 已将旧 active tracking / trace 的详细阶段历史归档到主题内 archive/,避免 boot 默认入口继续承载 RP-002RP-041 的长历史
  • 当前 active 文档仅保留恢复点、活跃事实、风险、验证结论与下一步建议
  • PR #280 的 MegaLinter 仍显示 dotnet-format warning但测试报告为 2156 passed / 0 failed;该 warning 目前更像 CI 环境 restore / SDK 噪音,而不是本地代码行为回归

当前活跃事实

  • 当前主题仍保持 active因为 GFramework.SourceGenerators.Tests 尚有剩余 MA0051 warning 需要决定是否继续推进
  • 继续按“单文件单方法”节奏处理 CqrsHandlerRegistryGeneratorTests.cs 可以稳定消除 warning但不利于快速提高唯一变更文件数
  • 当前 PR review 已没有新的 failed-test 信号;后续优先级应回到本地仍成立的 review thread 和剩余 warning 热点

当前风险

  • warning 治理策略风险:如果用户仍以“唯一变更文件数接近 75”作为目标,继续深挖同一测试文件会让目标推进缓慢
    • 缓解措施:下一轮先确认是继续压低 MA0051 基线,还是切换到新的文件写集
  • WSL 构建环境风险:当前 worktree 的 .NET 定向验证仍需显式附带 -p:RestoreFallbackFolders=,并在沙箱外运行以规避命名管道 / socket 限制
    • 缓解措施:后续所有 affected-project Release build 继续复用该参数组合
  • source generator test warning 范围风险:一旦继续触达 GFramework.SourceGenerators.Tests,剩余 warning 会继续成为本轮完成条件的一部分
    • 缓解措施:继续用最小写集和 warnings-only build 锁定范围

活跃文档

验证说明

  • DOTNET_CLI_HOME=/tmp/dotnet-home dotnet restore GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -p:RestoreFallbackFolders=""
    • 结果:通过;重写了受 Windows fallback package folder 影响的测试项目资产文件
  • DOTNET_CLI_HOME=/tmp/dotnet-home dotnet build GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -c Release -t:Rebuild --no-restore --disable-build-servers -m:1 -p:UseSharedCompilation=false -p:RestoreFallbackFolders="" -nologo -clp:"Summary;WarningsOnly"
    • 结果:10 Warning(s)0 Error(s)warning 仍全部来自 CqrsHandlerRegistryGeneratorTests.cs 的既有 MA0051 基线

下一步建议

  1. 提交 RP-042 后重新抓取 PR #280 review确认这 3 条 latest-head open threads 是否随新提交收敛
  2. 若 PR threads 收敛,再决定下一轮是继续清理 CqrsHandlerRegistryGeneratorTests.cs 的剩余 MA0051,还是切换到新的文件写集
  3. 如果仍要继续沿用“唯一变更文件数接近 75”的目标,应优先切到新的 warning 写集,而不是继续深挖同一测试文件