mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 修复多组 YAML 与 persistence 测试中的 ConfigureAwait 使用与状态校验,清理低风险 analyzer 告警 - 重构 PersistenceTestUtilities 为单类型文件,消除测试辅助模型的文件命名告警 - 更新 analyzer-warning-reduction 跟踪与 trace,记录 RP-054 批次结果与 75 文件阈值停止点
6.2 KiB
6.2 KiB
Analyzer Warning Reduction 跟踪
目标
继续以“直接看构建输出、直接修构建 warning”为原则推进当前分支,并保持 active recovery 文档只保留当前真值。
当前恢复点
- 恢复点编号:
ANALYZER-WARNING-REDUCTION-RP-054 - 当前阶段:
Phase 54 - 当前焦点:
2026-04-24本轮继续按$gframework-batch-boot 75推进,切入GFramework.Game.Tests的低风险测试 warning,而不进入YamlConfigLoaderTests.cs等高上下文热点- 已完成
PersistenceTestUtilities的单类型拆分,并在多组 YAML / persistence 测试中补齐.ConfigureAwait(false)与字段态显式状态检查 GFramework.Game.Tests当前Releasebuild 已从本轮入口观测值116 warning(s)收敛到71 warning(s),且本轮 touched files 已不再出现在 warning 输出里- 当前工作树相对
origin/main的累计 diff 已达到76个文件、986行变更,超过$gframework-batch-boot 75的主停止阈值;本轮必须在提交后停止继续扩批
当前活跃事实
- 之前记录的 plain
dotnet build0 Warning(s)属于增量构建假阴性,不能再作为 warning 检查真值 - 本轮直接执行仓库根目录
dotnet clean仍在ValidateSolutionConfiguration阶段失败,输出未提供具体 error 文本 - 本轮直接执行仓库根目录
dotnet build GFramework.sln -c Release成功,并给出116 warning(s)的当前整仓入口观测值;其中低风险热点主要落在GFramework.Game.Tests dotnet build GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release在本轮收尾验证中为71 Warning(s)、0 Error(s);剩余 warning 已集中在未触碰的YamlConfigLoaderTests.cs、GeneratedConfigConsumerIntegrationTests.cs、GameConfigBootstrapTests.cs、ArchitectureConfigIntegrationTests.cs、JsonSerializerTests.cs- 本轮已验证
dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~YamlConfigLoaderIfThenElseTests|FullyQualifiedName~YamlConfigLoaderDependentSchemasTests|FullyQualifiedName~YamlConfigLoaderDependentRequiredTests|FullyQualifiedName~YamlConfigLoaderNegationTests|FullyQualifiedName~YamlConfigLoaderAllOfTests|FullyQualifiedName~YamlConfigLoaderEnumTests|FullyQualifiedName~YamlConfigTextValidatorTests|FullyQualifiedName~YamlConfigSchemaValidatorTests|FullyQualifiedName~PersistenceTests",结果为Passed: 63 PersistenceTestUtilities.cs已拆分为TestDataLocation.cs、TestSaveData.cs、TestVersionedSaveData.cs、TestSimpleData.cs、TestNamedData.cs,与仓库“一文件一主类型”风格对齐
当前风险
- 如果后续继续依赖增量
dotnet build,容易再次把 warning 数量误判为 0- 缓解措施:每轮 warning 检查前先执行
dotnet clean,再执行目标dotnet build
- 缓解措施:每轮 warning 检查前先执行
- 仓库根目录
dotnet clean目前仍然无法给出新的 clean 基线- 缓解措施:若下一轮继续做整仓 warning reduction,先定位
dotnet clean的 solution-level / project-level 失败原因,或明确继续沿用用户确认的1193 warning(s)clean 基线与本轮 direct build 观测值
- 缓解措施:若下一轮继续做整仓 warning reduction,先定位
- 当前 worktree 仍存在未跟踪的
.codex目录- 缓解措施:提交当前批次时只暂存 analyzer-warning-reduction 相关源码与
ai-plan文件,避免把工作目录辅助文件混入提交
- 缓解措施:提交当前批次时只暂存 analyzer-warning-reduction 相关源码与
- 当前批次已触发
$gframework-batch-boot 75的主停止条件- 缓解措施:本轮提交后停止继续扩批;下一次继续前先评估是否需要基于更新后的
origin/main重新选择基线,或切到新分支 / 新轮次处理剩余GFramework.Game.Tests热点
- 缓解措施:本轮提交后停止继续扩批;下一次继续前先评估是否需要基于更新后的
GFramework.Game.Tests的剩余 warning 主要集中在大文件与集成测试文件- 缓解措施:后续若继续,优先把
YamlConfigLoaderTests.cs单独作为一个高上下文切片处理,不要和其它 warning family 混批
- 缓解措施:后续若继续,优先把
活跃文档
- 当前轮次归档:
- 历史跟踪归档:
- 历史 trace 归档:
验证说明
dotnet clean GFramework.sln -c Release- 结果:失败;停在 solution
ValidateSolutionConfiguration,0 Warning(s)、0 Error(s),未输出更具体的 error 文本
- 结果:失败;停在 solution
dotnet build GFramework.sln -c Release- 结果:成功;
116 Warning(s)、0 Error(s)
- 结果:成功;
dotnet clean GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release- 结果:失败;clean 阶段在 MSBuild 清理路径结束前返回
0 Warning(s)、0 Error(s),未输出额外错误文本
- 结果:失败;clean 阶段在 MSBuild 清理路径结束前返回
dotnet build GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release- 结果:成功;
71 Warning(s)、0 Error(s)
- 结果:成功;
dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~YamlConfigLoaderIfThenElseTests|FullyQualifiedName~YamlConfigLoaderDependentSchemasTests|FullyQualifiedName~YamlConfigLoaderDependentRequiredTests|FullyQualifiedName~YamlConfigLoaderNegationTests|FullyQualifiedName~YamlConfigLoaderAllOfTests|FullyQualifiedName~YamlConfigLoaderEnumTests|FullyQualifiedName~YamlConfigTextValidatorTests|FullyQualifiedName~YamlConfigSchemaValidatorTests|FullyQualifiedName~PersistenceTests"- 结果:成功;
Passed: 63、Failed: 0
- 结果:成功;
下一步建议
- 提交当前
GFramework.Game.Testswarning 清理批次与RP-054tracking 更新,然后停止当前 batch loop,因为 branch diff 已达76/75 - 下一轮若继续 warning reduction,应先决定是重新整理
origin/main基线,还是单独开一个高上下文批次处理YamlConfigLoaderTests.cs