GFramework/ai-plan/public/archive/analyzer-warning-reduction/todos/analyzer-warning-reduction-tracking.md
gewuyou 0ad2ed1761 fix(game): 修复空对象配置比较键并归档 warning reduction 主题
- 修复 YamlConfigAllowedValue 与 YamlConfigConstantValue 对空对象 const 或 enum 比较键的误判,同时继续拒绝非空纯空白输入
- 补充 YamlConfigModelContractTests 对空比较键与纯空白比较键的回归覆盖,并验证空对象 const 场景
- 更新 ai-plan 公共索引并归档 analyzer-warning-reduction 主题,保留最终 PR review 结论与验证记录
2026-04-29 10:27:01 +08:00

5.3 KiB
Raw Blame History

Analyzer Warning Reduction 跟踪

目标

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

当前恢复点

  • 恢复点编号:ANALYZER-WARNING-REDUCTION-RP-096
  • 当前阶段:Completed
  • 当前焦点:
    • 2026-04-29 已完成 PR #301 latest-head review threads 的最终本地复核,并修复仍然成立的空对象 const 比较键回归
    • 当前 topic 已达到归档条件:长期 warning-reduction 分支的实现、PR review follow-up 与最小验证均已完成
    • 当前目录已迁入 ai-plan/public/archive/analyzer-warning-reduction/,后续仅保留历史恢复价值

当前活跃事实

  • 当前 origin/main 基线提交为 0e32dab2026-04-28T17:15:47+08:00)。
  • 当前直接验证结果:
    • dotnet build GFramework.Game/GFramework.Game.csproj -c Release -clp:Summary
      • 最新结果:成功;0 Warning(s)0 Error(s)
    • dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~LoadAsync_Should_Accept_Empty_Object_Schema_Const|FullyQualifiedName~YamlConfigModelContractTests"
      • 最新结果:成功;10 通过、0 失败
    • dotnet test GFramework.Cqrs.Tests/GFramework.Cqrs.Tests.csproj -c Release --filter "FullyQualifiedName~MediatorArchitectureIntegrationTests|FullyQualifiedName~MediatorAdvancedFeaturesTests"
      • 最新结果:成功;25 通过、0 失败
    • dotnet format GFramework.sln --verify-no-changes --include GFramework.Game/Config/YamlConfigAllowedValue.cs GFramework.Game/Config/YamlConfigConstantValue.cs GFramework.Game.Tests/Config/YamlConfigModelContractTests.cs
      • 最新结果:成功;当前修复范围内无格式漂移
    • git diff --check
      • 最新结果:成功;无新增 whitespace / conflict-marker 问题
  • 当前批次摘要:
    • 当前最终收尾切片直接修改 3 个已有文件,不再扩写 warning-batch 的多文件清理范围
    • 这次收尾把 YamlConfigAllowedValue / YamlConfigConstantValuecomparableValue 契约收窄为“允许空字符串,但拒绝非空纯空白”,恢复空对象 const / enum 的合法比较键语义
    • PR review triage 结论:
      • 接受并完成:并发共享状态、阻塞等待、无效约束状态、缺失 <exception> 文档、空对象比较键回归
      • 归档前剩余 open threads 只包含两类:尚未推送折叠的 stale 线程,以及已明确延后 / 驳回的建议(DisplayPath 与枚举特性泛化)

当前风险

  • 当前 GitHub PR 在本地提交并推送前仍可能显示旧的 open threads。
    • 缓解措施:以本文件中的本地验证结果为 archive 真值;若未来需要复查 PR 页面,应从 archive 恢复而不是重新激活 topic。
  • 本轮仅对 GFramework.Game 收尾回归做了受影响模块验证,没有重新建立新的仓库根 clean build 基线。
    • 缓解措施:后续若有新的 warning-reduction 任务,应创建新 topic并重新执行仓库根 dotnet clean + dotnet build 采样。

活跃文档

验证说明

  • 权威验证结果统一维护在“当前活跃事实”。
  • GFramework.Game 当前 Release 构建已清零,并通过空对象 const 回归与模型契约定向测试。
  • GFramework.Cqrs.Tests 当前 PR-review follow-up 定向测试通过,说明并发/缓存测试辅助实现的行为修正没有破坏现有集成断言。
  • dotnet format --verify-no-changes 已确认当前收尾改动未引入新的格式化偏差。
  • git diff --check 结果为空,说明本轮新增改动没有引入新的尾随空格或冲突标记。
  • 本 topic 已进入 archive若未来重启 warning reduction应以新 topic 和新的仓库级 clean build 基线继续。

下一步建议

  1. 保持当前 archive 状态,不要再把该 topic 作为默认 boot 入口。
  2. 若未来需要继续 warning reduction创建新的 active topic并重新建立仓库根 clean build 真值。