diff --git a/ai-plan/public/documentation-full-coverage-governance/todos/documentation-full-coverage-governance-tracking.md b/ai-plan/public/documentation-full-coverage-governance/todos/documentation-full-coverage-governance-tracking.md index 220eba28..88bcfa09 100644 --- a/ai-plan/public/documentation-full-coverage-governance/todos/documentation-full-coverage-governance-tracking.md +++ b/ai-plan/public/documentation-full-coverage-governance/todos/documentation-full-coverage-governance-tracking.md @@ -13,14 +13,15 @@ - 恢复点编号:`DOCUMENTATION-FULL-COVERAGE-GOV-RP-055` - 当前阶段:`Phase 5 - Governance Maintenance` - 当前焦点: - - 处理 PR `#308` 当前 latest-head review 与 outside-diff review 中经本地复核仍成立的 reader-facing 文档表述问题,并清理 active `ai-plan` 对旧结论的漂移 + - 处理 PR `#308` 当前 latest-head review 与 outside-diff review 中经本地复核仍成立的 reader-facing 文档与 active `ai-plan` 漂移问题 - 当前事实: - - `2026-05-01` 重新抓取 `$gframework-pr-review` 后确认:PR `#308` 处于 `OPEN`,latest reviewed commit 已前进到 `4fdb1e7398e4f114757b5c988698af203dce24c8` - - 当前 `CodeRabbit` 仍有 `2` 条 latest-head open threads 和 `1` 条 outside-diff comment;本地复核后真正成立的是 `2` 条 reader-facing 文档问题,分别位于 `schema-config-generator.md` 与 `cqrs-handler-registry-generator.md` 的测试入口表述 + - `2026-05-01` 重新抓取 `$gframework-pr-review` 后确认:PR `#308` 处于 `OPEN`,latest reviewed commit 已前进到 `896e3efaa9c7496043fdaeee4dceff3d0e46b318` + - 当前 `CodeRabbit` 仍有 `3` 条 latest-head open threads 和 `1` 条 outside-diff comment;`Greptile` / `Gemini Code Assist` 当前无 open thread + - 本地复核后真正仍成立的 `4` 条问题已经全部在当前工作树完成修复:`cqrs-handler-registry-generator.md` 的 fallback 条件说明、`schema-config-generator.md` 的 `configRootPath` 示例、active trace 的显式风险段,以及 active tracking 的验证摘要压缩 - `docs/zh-CN/source-generators/schema-config-generator.md` 已包含独立的“迁移与兼容性”章节,因此对应 major open thread 现阶段应视为 stale,等待提交推送后再由远端重新计算 - - GitHub Test Reporter 汇总为 `2222 passed / 0 failed` + - GitHub Test Reporter 汇总为 `2247 passed / 0 failed` - `Title check` 仍为 `Inconclusive`,属于 PR 元数据问题,不是仓库文件内可直接修复的阻塞项 - - 本地对 review 指向文件的修复在提交推送前,不会改变远端 latest reviewed commit 与 open-thread 统计 + - 本地修复尚未推送前,不会改变远端 latest reviewed commit 与 open-thread 统计 - 当前风险: - 如果 active tracking / trace 继续保留旧的 commit SHA 和 review 归因,会让后续恢复点重复处理已经本地闭环的问题 - 在变更推送前,PR 页面仍会继续展示旧的 open-thread / outside-diff 数量,容易把 stale 线程误判为新的本地缺陷 @@ -57,29 +58,13 @@ ## 最新验证 -- `2026-05-01` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/schema-config-generator.md` - - 结果:通过;在把测试入口改成语义化链接后,页面的 frontmatter、链接与代码块校验仍然通过。 -- `2026-05-01` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/cqrs-handler-registry-generator.md` - - 结果:通过;测试源码路径改成语义化链接标签后,页面的 frontmatter、链接与代码块校验通过。 -- `2026-05-01` `bun run build`(工作目录:`docs/`) - - 结果:通过;两篇 source-generators 页面链接改写与 active `ai-plan` 事实更新后站点仍可构建,仅保留既有大 chunk warning。 -- `2026-05-01` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json` - - 结果:通过;PR `#308` 处于 `OPEN`,latest reviewed commit 为 `4fdb1e7398e4f114757b5c988698af203dce24c8`,`CodeRabbit` 当前有 `2` 条 latest-head open threads 和 `1` 条 outside-diff comment,测试汇总为 `2222 passed / 0 failed`,`Greptile` / `Gemini Code Assist` 当前无 open thread。 -- `2026-04-30` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/schema-config-generator.md` - - 结果:通过;`Schema 配置生成器` 专题页的 frontmatter、链接与代码块校验通过。 -- `2026-04-30` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/index.md` - - 结果:通过;source-generators landing 的链接与结构校验通过。 -- `2026-04-30` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/cqrs-handler-registry-generator.md` - - 结果:通过;`Cqrs` generator 专题页在补足 fallback 精度说明后校验通过。 -- `2026-04-30` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/cqrs.md` - - 结果:通过;`CQRS` 运行时页在补足 generated registry 协作说明后校验通过。 -- `2026-04-30` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/api-reference/index.md` - - 结果:通过;API 入口页在补充 source-generator 阅读路线后校验通过。 -- `2026-04-30` `bun run build`(工作目录:`docs/`) - - 结果:通过;新增 source-generators 专题页与侧栏入口后站点仍可构建,仅保留既有大 chunk warning。 +- `2026-05-01` 本轮关键验证结论:`$gframework-pr-review` 重新抓取通过,确认 PR `#308` 的 latest reviewed commit 为 `896e3efaa9c7496043fdaeee4dceff3d0e46b318`,`CodeRabbit` 当前仍有 `3` 条 latest-head open threads 与 `1` 条 outside-diff comment;两篇 source-generators 页面校验通过,`docs/` 站点构建通过并仅保留既有大 chunk warning。 +- 逐条命令与详细结果见: + - `ai-plan/public/documentation-full-coverage-governance/archive/todos/documentation-full-coverage-governance-validation-history-rp-049-to-rp-052-2026-05-01.md` + - `ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-rp-049-to-rp-052-2026-05-01.md` ## 下一步 -1. 提交并推送本轮 source-generators 文档 follow-up,然后重新抓取 `$gframework-pr-review`。 +1. 提交并推送本轮 source-generators 文档与 active `ai-plan` follow-up,然后重新抓取 `$gframework-pr-review`。 2. 若 remote open threads 只剩 stale 的“迁移与兼容性”线程或 `Title check` 这类 metadata 项,则停止本轮仓库内修复。 3. 若 review 线程清空或只剩 metadata 项,再按 `$gframework-batch-boot 50` 继续挑选新的 coverage 切片,避免在同一轮混入无关改稿。 diff --git a/ai-plan/public/documentation-full-coverage-governance/traces/documentation-full-coverage-governance-trace.md b/ai-plan/public/documentation-full-coverage-governance/traces/documentation-full-coverage-governance-trace.md index 0b0dbdd7..240f6767 100644 --- a/ai-plan/public/documentation-full-coverage-governance/traces/documentation-full-coverage-governance-trace.md +++ b/ai-plan/public/documentation-full-coverage-governance/traces/documentation-full-coverage-governance-trace.md @@ -4,28 +4,34 @@ ### 当前恢复点:RP-055 -- 通过 `$gframework-pr-review` 重新抓取当前分支 PR `#308`,确认 latest reviewed commit 已前进到 `4fdb1e7398e4f114757b5c988698af203dce24c8`,当前 `CodeRabbit` 仍有 `2` 条 latest-head open threads 和 `1` 条 outside-diff comment。 -- 本地复核确认真正仍成立的是 `2` 条 reader-facing 文档表述问题:`cqrs-handler-registry-generator.md` 与 `schema-config-generator.md` 都直接暴露了测试源码路径;`schema-config-generator.md` 的“迁移与兼容性”建议则已经本地满足,应视为 stale。 -- GitHub Test Reporter 当前汇总为 `2222 passed / 0 failed`;`Title check` 仍然只是 PR 元数据问题,因此不纳入仓库文件修复范围。 +- 通过 `$gframework-pr-review` 重新抓取当前分支 PR `#308`,确认 latest reviewed commit 已前进到 `896e3efaa9c7496043fdaeee4dceff3d0e46b318`,当前 `CodeRabbit` 仍有 `3` 条 latest-head open threads 和 `1` 条 outside-diff comment。 +- 本地复核确认真正仍成立的 `4` 条问题已经全部在当前工作树完成修复:`cqrs-handler-registry-generator.md` 的 fallback 条件说明、`schema-config-generator.md` 的 `configRootPath` 示例、active trace 的显式风险段,以及 active tracking 的“最新验证”压缩;`schema-config-generator.md` 的“迁移与兼容性”建议则已经本地满足,应视为 stale。 +- GitHub Test Reporter 当前汇总为 `2247 passed / 0 failed`;`Title check` 仍然只是 PR 元数据问题,因此不纳入仓库文件修复范围。 ### 当前决策(RP-055) -- 把两处测试源码路径改成语义化 GitHub 链接标签,避免把原始文件路径暴露成 reader-facing 导航文本。 -- active tracking 与 active trace 改写为与本次 PR 抓取一致的事实,修正 latest reviewed commit、线程来源和本地结论。 +- 补齐 `cqrs-handler-registry-generator.md` 的 fallback 条件说明,以及 `schema-config-generator.md` 的自包含运行时示例。 +- active tracking 与 active trace 改写为与本次 PR 抓取一致的事实,修正 latest reviewed commit、线程数量、本地结论与验证摘要。 - 本轮只做 PR review 精确收口,不扩展到新的 docs coverage 批次。 +### 当前风险(RP-055) + +- 在本轮提交推送前,PR 页面仍会继续展示基于旧 diff 的 open threads,因此远端线程数量短时间内不会反映本地已修复状态。 +- `schema-config-generator.md` 的“迁移与兼容性”线程已经由当前文件内容满足,但仍需依赖远端下一次 review 重新计算后才能从 open thread 列表中消失。 +- `Title check` 仍是 PR 元数据层面的 `Inconclusive` 项;即使仓库文件全部修完,也不能仅凭本地改动让该检查转绿。 + ### 当前验证(RP-055) - PR review 抓取: - `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json` - - 结果:通过;PR `#308` 处于 `OPEN`,latest reviewed commit 为 `4fdb1e7398e4f114757b5c988698af203dce24c8`,`CodeRabbit` 当前有 `2` 条 latest-head open threads 和 `1` 条 outside-diff comment,测试汇总为 `2222 passed / 0 failed`。 + - 结果:通过;PR `#308` 处于 `OPEN`,latest reviewed commit 为 `896e3efaa9c7496043fdaeee4dceff3d0e46b318`,`CodeRabbit` 当前有 `3` 条 latest-head open threads 和 `1` 条 outside-diff comment,测试汇总为 `2247 passed / 0 failed`。 - 页面校验: - `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/schema-config-generator.md` - `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/cqrs-handler-registry-generator.md` - - 结果:通过;两篇 source-generators 页面在改成语义化 GitHub 链接后,frontmatter、链接与代码块校验均通过。 + - 结果:通过;fallback 条件说明与自包含示例改动后,两篇页面的 frontmatter、链接与代码块校验仍然通过。 - 站点构建: - `bun run build`(工作目录:`docs/`) - - 结果:通过;两篇 source-generators 页面链接改写与 active `ai-plan` 事实更新后站点仍可构建,仅保留既有大 chunk warning。 + - 结果:通过;source-generators 页面与 active `ai-plan` 更新后站点仍可构建,仅保留既有大 chunk warning。 ### 归档指针 diff --git a/docs/zh-CN/source-generators/cqrs-handler-registry-generator.md b/docs/zh-CN/source-generators/cqrs-handler-registry-generator.md index e0cd2853..e96815f2 100644 --- a/docs/zh-CN/source-generators/cqrs-handler-registry-generator.md +++ b/docs/zh-CN/source-generators/cqrs-handler-registry-generator.md @@ -88,7 +88,7 @@ RegisterCqrsHandlersFromAssemblies( 3. 若生成注册器同时提供 request invoker provider / descriptor,registrar 会把这些 request invoker 元数据预先登记到 dispatcher 缓存 4. 若生成注册器同时提供 stream invoker provider / descriptor,runtime 也会优先消费对应的 generated stream invoker 元数据;未命中时仍回退到既有反射 stream binding 5. 若生成元数据损坏、registry 不可激活,记录告警并回退到反射路径 -6. 若存在 `CqrsReflectionFallbackAttribute`,只补扫剩余 handler +6. 若存在 `CqrsReflectionFallbackAttribute`,优先按其中携带的 `Type` 或类型名补扫剩余 handler;若元数据为空或只保留 marker 语义,则退回整程序集补扫 7. 同一程序集按稳定键去重,避免重复注册 这个行为由 diff --git a/docs/zh-CN/source-generators/schema-config-generator.md b/docs/zh-CN/source-generators/schema-config-generator.md index c16cf066..9f5936fc 100644 --- a/docs/zh-CN/source-generators/schema-config-generator.md +++ b/docs/zh-CN/source-generators/schema-config-generator.md @@ -154,6 +154,8 @@ loader.RegisterAllGeneratedConfigTables(); using GFramework.Game.Config; using GFramework.Game.Config.Generated; +var configRootPath = Path.Combine(AppContext.BaseDirectory, "schemas"); + var bootstrap = new GameConfigBootstrap( new GameConfigBootstrapOptions {