fix(ai-first-config): 补齐PR审查遗漏的文档与追踪记录

- 补充两个参数化测试方法缺失的 XML param 注释
- 修复 trace 中触发 MD024 的重复三级标题
- 更新 ai-plan 跟踪与 PR #343 follow-up 验证记录
This commit is contained in:
gewuyou 2026-05-09 08:51:51 +08:00
parent 6a582d0b0b
commit a36b5978c4
4 changed files with 49 additions and 9 deletions

View File

@ -1639,6 +1639,8 @@ public class YamlConfigLoaderTests
/// <summary>
/// 验证数组字段声明 tuple / open-array 关键字时,会在 schema 解析阶段被显式拒绝。
/// </summary>
/// <param name="keywordName">待验证的数组形状关键字名称。</param>
/// <param name="keywordValueJson">用于拼接测试 schema 的关键字值 JSON 片段。</param>
[TestCase("prefixItems", """
[
{ "type": "integer" }

View File

@ -2020,6 +2020,8 @@ public class SchemaConfigGeneratorTests
/// <summary>
/// 验证生成器会显式拒绝当前共享子集尚未支持的数组形状关键字。
/// </summary>
/// <param name="keywordName">待验证的数组形状关键字名称。</param>
/// <param name="keywordValueJson">用于拼接测试 schema 的关键字值 JSON 片段。</param>
[TestCase("prefixItems", """
[
{ "type": "integer" }

View File

@ -102,6 +102,7 @@
- 最近验证摘要:`2026-05-06` 已按 PR `#325` latest review follow-up 移除三端开放对象校验中的不可达 `additionalProperties: false` 放行分支,补齐 Tooling 正向回归,并同步拆分 reader-facing docs 对开放对象边界的表述;细节与验证命令保留在 trace 的 `2026-05-06` 追加记录中
- 最近验证摘要:`2026-05-06` 已核对 `extension.js` 的对象数组编辑能力与 reader-facing 文档,确认表单当前支持对象数组项内部继续嵌套的对象数组;`tools/gframework-config-tool/README.md``docs/zh-CN/game/config-tool.md` 已同步收紧回退条件,避免把“仍在共享子集内的嵌套对象数组”误写成默认只能回退 raw YAML细节与验证命令保留在 trace 的 `2026-05-06` 追加记录中
- 最近验证摘要:`2026-05-08` 已把数组形状边界收紧为只接受单个 object-valued `items` schemaRuntime / Generator / Tooling 现统一拒绝 `prefixItems``additionalItems``unevaluatedItems`,并补齐三端回归测试与 reader-facing 文档说明;细节与验证命令保留在 trace 的 `2026-05-08` 记录中
- 最近验证摘要:`2026-05-09` 已按 PR `#343` latest unresolved review threads 补齐两个 public 参数化测试的 XML `<param>` 注释,并为 `2026-05-06` Tooling 文档批次标题追加上下文后缀以消除 `MD024`;细节与定向验证命令保留在 trace 的 `2026-05-09` 记录中
- PR `#306` follow-up 摘要:已按 latest open review threads 补齐 Generator `anyOf` 对称回归、Tooling schema type 白名单、object-array 直系收集边界,以及 reader-facing docs 的显式 `additionalProperties: false` / adoption guidance 说明;细节和验证命令保留在 trace 的 `2026-04-30` 新增阶段记录中
- PR review 跟进指针:当前分支的 latest review follow-up 与后续本地核验结论以 `ai-first-config-system-trace.md` 为准active tracking 不再重复展开逐条命令历史

View File

@ -145,7 +145,7 @@
- 指向真正承载并行批次细节的 backlog 文件
- 本轮不新增代码范围、测试范围或文档范围,只整理 public `ai-plan/**` 的恢复入口表达,避免把治理噪音带回 reader-facing docs
### 关键决定
### 关键决定Tooling 文档与实际编辑边界对齐)
- `C# Runtime + Source Generator + Consumer DX` 仍是默认恢复主线
- Tooling / Docs 可以并发推进,但后续 batch 应直接以 `ai-first-config-system-csharp-experience-next.md` 为入口,而不是继续扩写 active tracking / trace
@ -242,19 +242,19 @@
- `patternProperties``propertyNames``unevaluatedProperties` 当前改为三端直接失败
- reader-facing docs 也已同步更新,避免采用文档继续把这类关键字描述成“也许工具没做但运行时可能支持”的灰区
### 关键决定
### 关键决定Tooling 文档与实际编辑边界对齐)
- `additionalProperties: false` 仍是唯一共享支持的开放对象相关关键字形状
- 任何会重新引入动态字段集的开放对象关键字,都视为当前主线之外的设计,而不是后续工具增强项
- 本轮继续保持主线为 `C# Runtime + Source Generator + Consumer DX`,没有把工作重心切回复杂表单或宿主验证
### Stop Condition
### Stop ConditionTooling 文档与实际编辑边界对齐)
- Batch baseline`origin/main` (`a8c6c11e`, `2026-05-05 13:14:24 +0800`)
- Primary metricbranch diff vs `origin/main` changed files阈值 `50`
- 本轮执行时的 branch diff 指标仍为 `0`,说明当前批次尚未把 `HEAD` 推进到接近阈值reviewability headroom 充足
### 验证
### 验证Tooling 文档与实际编辑边界对齐)
- 2026-05-06`bun run test``tools/gframework-config-tool`
- 结果通过133 tests
@ -275,7 +275,7 @@
- 2026-05-06`git diff --check`
- 结果:通过
### 下一步
### 下一步Tooling 文档与实际编辑边界对齐)
1. 继续盘点下一批不会改变生成类型形状、也不会重新打开对象形状的共享关键字
2. Tooling / Docs 如继续并发推进,优先补真实采用示例,不再重复扩写开放对象边界清单
@ -333,19 +333,19 @@
- `tools/gframework-config-tool/README.md` 不再把“更深层嵌套编辑”笼统描述成默认回退 raw YAML
- `docs/zh-CN/game/config-tool.md` 改为明确:只有当对象数组继续嵌套后的结构超出当前共享子集,才需要回到 raw YAML
### 关键决定
### 关键决定Tooling 文档与实际编辑边界对齐)
- 这轮批次继续遵守“先核对共享契约,再改文档”的 lane 规则,没有为追求批量推进而硬扩一个收益不明确的新关键字
- Tooling 的 reader-facing 说明要以 `extension.js` 当前真实能力为准,避免把已经支持的对象数组路径继续描述成工具缺口
- raw YAML 回退条件保留,但需要收敛为“超出共享子集或当前编辑器边界”而不是“只要更深层对象数组就默认回退”
### Stop Condition
### Stop ConditionTooling 文档与实际编辑边界对齐)
- Batch baseline`origin/main` (`c01abac0`, `2026-05-06 09:40:08 +0800`)
- Primary metricbranch diff vs `origin/main` changed files阈值 `30`
- 本轮开始前 branch diff 指标为 `0` files / `0` changed lines本批次只触碰 reader-facing docs 与 active `ai-plan`,预计仍远低于阈值
### 验证
### 验证Tooling 文档与实际编辑边界对齐)
- 2026-05-06`rg -n "nested object arrays|回退到 raw YAML|更深层对象数组"`(文档 + `extension.js`
- 结果:通过
@ -357,7 +357,7 @@
- 2026-05-06`dotnet build GFramework.Game/GFramework.Game.csproj -c Release`
- 结果通过0 warnings, 0 errors
### 下一步
### 下一步Tooling 文档与实际编辑边界对齐)
1. 继续优先找“实现已存在但 reader-facing 表述漂移”的低风险 lane避免在批处理模式下引入收益不明的新 schema contract
2. 若下一轮回到主线代码批次,再继续盘点不会改变生成类型形状的共享关键字,而不是重复刷新同一组 Tooling 边界说明
@ -389,3 +389,38 @@
1. 若本轮验证通过,继续回到“不会改变生成类型形状”的下一批共享关键字盘点
2. 继续优先寻找“静默接受但主线不支持”的边界收口项,而不是先扩更复杂的组合语义
## 2026-05-09
### 阶段PR #343 review follow-upAI-FIRST-CONFIG-RP-003
- 已用 `gframework-pr-review` 重新抓取当前分支 PR `#343` 的 latest unresolved review threads
- 本轮只处理本地仍成立的 3 条 open threads
- `GFramework.Game.Tests/Config/YamlConfigLoaderTests.cs` 的 public 参数化测试补齐 XML `<param>` 注释
- `GFramework.SourceGenerators.Tests/Config/SchemaConfigGeneratorTests.cs` 的 public 参数化测试补齐 XML `<param>` 注释
- `ai-first-config-system-trace.md``2026-05-06` Tooling 文档批次的重复三级标题加上上下文后缀,消除 `MD024`
- 其余 PR 信号已核对:
- 当前没有 failed checks
- MegaLinter 仅报告 1 条 `dotnet-format` 相关问题;本轮先按 latest open review threads 收口本地仍成立项
- GitHub Test Reporter 显示 `2336` tests passed、`0` failed
### 验证PR #343 review follow-up
- 2026-05-09`python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json`
- 结果:通过
- 备注:确认 PR `#343` 当前仍有 3 条 latest unresolved CodeRabbit threads且都可在本地直接复现
- 2026-05-09`git diff --check -- GFramework.Game.Tests/Config/YamlConfigLoaderTests.cs GFramework.SourceGenerators.Tests/Config/SchemaConfigGeneratorTests.cs ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md`
- 结果:通过
- 2026-05-09`python3 scripts/license-header.py --check --paths GFramework.Game.Tests/Config/YamlConfigLoaderTests.cs GFramework.SourceGenerators.Tests/Config/SchemaConfigGeneratorTests.cs`
- 结果:通过
- 2026-05-09`dotnet build GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release`
- 结果通过0 warnings, 0 errors
- 备注:沙箱内并行 restore 命中了 `.nuget.g.props` 已存在的环境型冲突;已按仓库规则在沙箱外重跑原命令,并以外部结果作为准确信号
- 2026-05-09`dotnet build GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -c Release`
- 结果通过0 warnings, 0 errors
- 备注:已在沙箱外串行重跑原命令,确认本轮 PR review 修复未引入构建问题
### 下一步PR #343 review follow-up
1. 若本轮定向校验通过,重新抓取 PR `#343` review 状态,确认这 3 条 open threads 是否已具备自动折叠条件
2. 若 PR 仍残留 review 信号,继续只处理 latest unresolved thread 中本地仍成立的问题,不回头追旧 summary 噪音