GFramework/ai-plan/public/analyzer-warning-reduction/todos/analyzer-warning-reduction-tracking.md
gewuyou 1f560635a8 fix(analyzer): 收口PR评审遗留问题
- 修复 AsyncExtensionsTests 中 ArgumentException 的 ParamName 传递与断言契约

- 更新 analyzer warning reduction 的 active todo 与 trace 真值

- 归档 RP073-RP078 的历史恢复文档以收紧当前入口
2026-04-27 09:19:13 +08:00

5.1 KiB
Raw Blame History

Analyzer Warning Reduction 跟踪

目标

继续以“直接看构建输出、直接修构建 warning”为原则推进当前分支并保持 active recovery 文档只保留当前真值。

当前恢复点

  • 恢复点编号:ANALYZER-WARNING-REDUCTION-RP-079
  • 当前阶段:Phase 79
  • 当前焦点:
    • 2026-04-27 已按 PR #295 的 latest-head review 收口本地仍成立的问题:AsyncExtensionsTestsArgumentException.ParamName 契约与 active ai-plan 文档过长问题
    • 当前轮次已重新确认 origin/main 基线与 HEAD 同为 617e0bf;当前已提交 HEAD 的 stop metric 仍为 30 / 50 files、642 changed lines本轮 PR review 同步尚未提交入该指标
    • 当前剩余 warning 主要集中在 YamlConfigSchemaValidator*YamlConfigLoader.cs 与大批量 MA0048 文件名拆分;这些 slice 仍高于本轮 PR review 收口的低风险边界

当前活跃事实

  • 当前 origin/main 基线提交为 617e0bf2026-04-26T12:17:15+08:00)。
  • 当前 PR review 真值:
    • python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output <current-pr-review-json>
      • 最新结果:成功;当前分支对应 PR 为 #295
      • latest-head review 在本轮修复前共有 2 条 open thread分别指向 GFramework.Core.Tests/Extensions/AsyncExtensionsTests.cs 与 active trace
    • 本轮已在本地收口上述两类问题,待提交后可重新执行 $gframework-pr-review 确认线程自动收口
  • 提权后的直接验证当前确认为:
    • dotnet build GFramework.Core.Tests/GFramework.Core.Tests.csproj -c Release
      • 最新结果:成功;126 Warning(s)0 Error(s)
      • 当前仍可见的既有 warning IDCS8766CS8625CS8602CS8618MA0048MA0002MA0008
  • 当前分支 stop-condition 指标:
    • git diff --name-only refs/remotes/origin/main...HEAD | wc -l
      • 最新结果:30
    • git diff --numstat refs/remotes/origin/main...HEAD
      • 最新结果:642 changed lines
  • 当前批次摘要:
    • 三轮低风险 warning 清理已在此前验证中将仓库根 warning 从 639 降到 397
    • 当前批次的已完成 slice 明细已迁移到归档active todo 仅保留恢复真值
  • 当前建议保留到下一波次的候选:
    • GFramework.Game/Config/YamlConfigLoader.csMA0158(单点可修,但文件本身同时承载其他高耦合 warning
    • 测试项目中的 MA0048 文件名拆分波次(会显著增加 changed-file 数)

当前风险

  • GFramework.Game/Config/YamlConfigSchemaValidator*.cs 仍然聚集多类高耦合 warning。
    • 缓解措施:本轮先避开该热点,只清理低风险且 ownership 清晰的文件集合。
  • MA0158 迁移涉及 net8.0 / net9.0 / net10.0 多目标兼容。
    • 缓解措施:复用 StoreSelection.cs 已存在的 #if NET9_0_OR_GREATER 专用锁模式,不在 net8.0 引入不兼容 API。
  • 当前 PR open thread 的自动收口仍依赖新提交进入远端 PR head。
    • 缓解措施:本轮提交后重新执行 $gframework-pr-review,仅以最新 head review 为准。

活跃文档

验证说明

  • 权威验证结果统一维护在“当前活跃事实”。
  • GFramework.Core.Tests 当前仍有既有 analyzer / nullable warning 基线,因此本轮验证只证明 PR review 修复未引入构建错误,未将该项目 warning 清零。
  • 后续若刷新构建或 PR review 真值,只更新上述权威区块,不在本节重复抄录。

下一步建议

  1. 提交本轮 PR review 修复与 ai-plan 精简同步,再重跑 $gframework-pr-review 验证 PR #295 的 open thread 是否随新 head 收口。
  2. 若后续继续推进 warning reduction建议另开下一波次优先明确是否接受 YamlConfigLoader.cs 热点触碰,或是否要专门做测试项目 MA0048 拆分波次。
  3. 默认在当前恢复点停下因为继续推进已不再符合本轮“PR review 收口 + 少文件同步”的边界。