Merge pull request #299 from GeWuYou/docs/sdk-update-documentation

Documentation: migrate from ai-libs examples to generic guidance
This commit is contained in:
gewuyou 2026-04-28 17:15:47 +08:00 committed by GitHub
commit 0e32dab4a2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 313 additions and 225 deletions

View File

@ -0,0 +1,135 @@
# Documentation Full Coverage Governance Validation History (RP-041 to RP-048)
## 2026-04-28 / RP-048 active tracking follow-up
### PR review 抓取
- `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --format json --json-output /tmp/current-pr-review.json`
- 结果通过PR `#299` 处于 `OPEN`latest head review 有 `1``CodeRabbit` open thread 与 `1` 条 nitpick`Greptile` / `Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,仅剩 `Title check` inconclusive。
### 站点构建
- `bun run build`(工作目录:`docs/`
- 结果通过active tracking 收口与时间线归档瘦身后站点仍可构建,仅保留既有大 chunk warning。
## 2026-04-28 / RP-048
### PR review 抓取
- `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --format json --json-output /tmp/current-pr-review.json`
- 结果通过PR `#299` 处于 `OPEN`latest head review 有 `3``CodeRabbit` open thread`Greptile` / `Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,仅剩 `Title check` inconclusive。
### 页面校验
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions/index.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/lifecycle.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/state-machine-tutorial.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/resource-management.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/save-system.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/pause-system.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/large-project-organization.md`
- 结果:通过。
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/troubleshooting.md`
- 结果:通过。
### 站点构建
- `bun run build`(工作目录:`docs/`
- 结果:通过;站点仍可构建,仅保留既有大 chunk warning。
## 2026-04-27 / RP-045 到 RP-047
### 第 1 批次 reader-facing 入口收口
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/api-reference/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/setting.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions/index.md`
- `bun run build`(工作目录:`docs/`
- 结果:通过;第 1 批次 5 个入口页校验与站点构建通过。
### 第 2 批次去内部参考路径暴露
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/ui.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/signal.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/godot-project-generator.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/get-node-generator.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/bind-node-signal-generator.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/auto-register-exported-collections-generator.md`
- `bun run build`(工作目录:`docs/`
- 结果:通过;第 2 批次 6 个公开页面校验与站点构建通过。
### 第 3、4 批次旧入口/旧文档对比收口
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/query.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/command.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/context.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/scene.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/ui.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/ui.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/priority-generator.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/lifecycle.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/scene.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/context-aware-generator.md`
- `bun run build`(工作目录:`docs/`
- 结果:通过;第 3、4 批次 10 个公开页面校验与站点构建通过。
### PR review follow-up 与 README / landing 补充验证
- `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Game.SourceGenerators/README.md GFramework.Game/README.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/godot-integration.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/extensions.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Core.Abstractions/README.md GFramework.Game.Abstractions/README.md GFramework.Game.SourceGenerators/README.md GFramework.Ecs.Arch.Abstractions/README.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/getting-started`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/config-system.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/basic`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Game/README.md GFramework.Game.Abstractions/README.md GFramework.Godot/README.md GFramework.Cqrs.Abstractions/README.md GFramework.Ecs.Arch/README.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/ui.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/scene.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/signal.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/api-reference/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/getting-started/quick-start.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/cqrs.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/scene.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/ui.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/ecs/arch.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/godot-integration.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/setting.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/serialization.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/index.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/architecture.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/storage.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/logging.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/setting.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/extensions.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/architecture.md`
- `bun run build`(工作目录:`docs/`
- 结果:通过;相关 README、landing page 与 review follow-up 页面校验通过,站点构建通过。
## 2026-04-25 到 2026-04-26 / carry-over
### 代表性验证命令
- `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/gframework-current-pr-review.json`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Core/README.md GFramework.Ecs.Arch/README.md GFramework.Game/README.md`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials`
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/troubleshooting.md`
- `dotnet build GFramework.csproj -c Release`
- `bun run build`(工作目录:`docs/`
- `bun run test`(工作目录:`tools/gframework-config-tool/`
- `bun run package:vsix`(工作目录:`tools/gframework-config-tool/`
- 结果:通过;更早一轮的 README、导航、教程、排障、工具 README 与元包校验结果仍由这些命令覆盖,详细结论可结合 trace 中的 RP-041 到 RP-047 条目与 Git 历史继续追溯。

View File

@ -0,0 +1,55 @@
# Documentation Full Coverage Governance Trace History (RP-041 to RP-048)
## Scope
- 该归档记录 `RP-041``RP-048` 从 active trace 迁出的阶段性时间线,保留每轮恢复点、主要决策与停止条件。
- 逐命令验证明细继续保存在:
`ai-plan/public/documentation-full-coverage-governance/archive/todos/documentation-full-coverage-governance-validation-history-rp-041-to-rp-048-2026-04-28.md`
## 2026-04-28 / RP-048
- 通过 `$gframework-pr-review` 重新抓取 PR `#299` 后确认latest head review 只剩 `1``CodeRabbit` open thread 与 `1` 条 nitpick且都指向 active tracking 文档,而非公开文档页面本身。
- 本地复核确认此前对抽象层入口语义化链接、生命周期入口示例与教程 / 排障页的修正已不再构成当前 remote latest-head review 的剩余阻塞。
- 因此本轮收敛为 active tracking 收口:补齐 `RP-048` 下一步,并将 `RP-045``RP-047` 的逐命令历史从 active trace 下沉到 archive。
## 2026-04-27 / RP-047
- 第 `2` 批次提交 `2d2cd0c`branch diff 相对 `origin/main``13` files / `124` lines仍明显低于 `$gframework-batch-boot 50` 的 stop condition。
- 最后一批集中收口 `core/query.md``core/command.md``core/context.md``game/scene.md``godot/ui.md``source-generators/priority-generator.md``core/lifecycle.md``game/ui.md``godot/scene.md``source-generators/context-aware-generator.md` 中依赖“旧文档 / 旧入口”对比的句式。
- 在这里停止,不是因为达到阈值,而是因为剩余命中已转成需要人工判断是否保留迁移边界或 README 交叉引用的问题。
## 2026-04-27 / RP-046
- 第 `1` 批次提交 `c56260b`branch diff 相对 `origin/main``7` files / `68` lines仍远低于 stop condition。
- 本轮继续处理 `docs/zh-CN/game/ui.md``godot/signal.md` 以及 `4` 个 source-generators 专题页,把直接暴露 `ai-libs/CoreGrid` 路径的公开说明改写为项目侧常见实现或典型入口组织方式。
- 决策上继续保持单页文字级边界,不把 `ai-libs/**` 当成公开导航或消费者说明,并在每个稳定批次校验通过后立即提交,以便精确计量 branch diff。
## 2026-04-27 / RP-045
- 通过 `$gframework-batch-boot 50` 从零 diff 状态重新进入,沿用显式 `--git-dir` / `--work-tree` 绑定,确认当前分支仍为 `docs/sdk-update-documentation`baseline 固定到最新本地 `origin/main` `7cfdd2c`
- 第 `1` 批次先处理 `docs/zh-CN/source-generators/index.md``game/index.md``api-reference/index.md``godot/setting.md``abstractions/index.md` 的 reader-facing 标题、描述与导航措辞,不改示例代码,也不扩栏目结构。
- 当轮下一候选批次被限定为继续清理 `ai-libs/CoreGrid` 与“旧文档”式指向表达,保持风险最低且适合批处理。
## 2026-04-27 / RP-044
- 本轮从 `$gframework-pr-review` 重新进入,抓取 PR `#296` 后确认 latest reviewed commit 为 `5778782df05e22dd24dc95189dd768458afb8537`,共有 `4` 条 open thread。
- 接受的仍成立问题集中在 `GFramework.Game.SourceGenerators/README.md` 的表头语义、`GFramework.Game/README.md` 的重复 `storage.md` 链接,以及 `docs/zh-CN/tutorials/godot-integration.md``docs/zh-CN/godot/extensions.md` 的 reader-facing 措辞收口。
- 唯一 failed check `Title check` 被明确排除在仓库文件修复范围之外,本轮只做 review 指向文件的最小修正并同步 tracking / trace。
## 2026-04-27 / RP-043
- 在提交 `docs(reader-facing): 统一站内入口与公开术语`branch diff 已到 `46` changed files接近 `$gframework-batch-boot 50` 的停止线。
- 因此最后只接受 `10` 个还没进入 branch diff 的文件,包括 `tutorials/godot-integration.md``game/setting.md``game/serialization.md``godot/index.md``godot/architecture.md``godot/storage.md``godot/logging.md``godot/setting.md``godot/extensions.md``core/architecture.md`
- 这些修正统一把 `旧文档``ai-libs``.Wait()``family` 等维护 / 内部口吻改成当前采用指导,并在验证通过后立即停止扩批。
## 2026-04-27 / RP-042
- 用户明确允许在 stop condition 内循环推进,并接受使用 subagent 降低主线程上下文压力;主线程保留实现与验证,把热点识别交给 `3` 个 explorer。
- 接受的结论主要是:入口页应统一为 reader-facing 骨架GitHub blob README 不应继续作为公开主导航;多个 README 与 Godot 页面还残留 `ai-libs``family``seam``ReadMe.md` 等对外不友好的表述。
- 基于这些结论连续落地了入口页改写、README / Godot 页面去内部口吻、以及 GitHub blob README 外链回归站内入口等 `3` 组低风险切片。
## 2026-04-27 / RP-041
- 这一轮用于提交后重算 branch diff并确认在继续补一批新文件后工作树已经来到 `46` changed files足够触发“接近 stop condition 时收口”的策略。
- 因此最后批次刻意限制在 `10` 个尚未进入 branch diff 的文件,并保持全部为 reader-facing 文案修正,不扩大到新结构或示例体系重写。
- 验证通过后,将后续恢复建议切换为“下一轮从 PR review 或剩余未触达细页重新开一轮”,而不是在同一轮继续堆文件数。

View File

@ -12,17 +12,20 @@
## 当前恢复点
- 恢复点编号:`DOCUMENTATION-FULL-COVERAGE-GOV-RP-044`
- 恢复点编号:`DOCUMENTATION-FULL-COVERAGE-GOV-RP-048`
- 当前阶段:`Phase 5 - Governance Maintenance`
- 当前焦点:
- 继续以最新 `origin/main``617e0bf``2026-04-26 12:17:15 +08:00`)作为 baseline当前批处理 stop condition 仍是 branch diff vs baseline 接近 `50` changed files
- 本轮从 `$gframework-pr-review` 重新抓取当前 PR `#296`,确认 latest reviewed commit 为 `5778782df05e22dd24dc95189dd768458afb8537`,剩余 open thread 都落在 reader-facing 文案与 README 导航收口上
- 当前工作树相对 `origin/main` 的 tracked diff 仍接近 `50` files因此本轮只接受 latest-head review 中仍成立的 4 条低风险修正,不再扩新栏目或新专题页
- 已确认 `Title check` 的 inconclusive 仅是 GitHub PR 标题元数据提示,不属于仓库文件内可修复范围;本轮只处理本地仍成立的文档线程
- 按 `$gframework-pr-review` 复核 PR `#299` 的 latest-head review并收口当前仍成立的 active tracking 问题:补齐 `RP-048` 下一步,以及把 `RP-045``RP-047` 的逐命令历史迁入归档
- 本轮通过 `$gframework-batch-boot 50` 重新进入后确认 `HEAD == origin/main`,当前已提交 branch diff 为 `0` files / `0` lines因此可以从新的低风险文档批次重新累计阈值
- 当前已完成 4 个低风险批次,并在本轮额外完成 1 次 review-driven 收口:入口页 reader-facing 标题统一、内部参考路径去暴露,以及 `Core` / `Game` / `Godot` / `source-generators` 多个页面中“旧文档式对比”提示的直接契约化改写
- 第 2 个已提交批次结束时branch diff 相对 `origin/main``13` files / `124` lines本轮最后一批提交后仍会明显低于 `50` 文件 stop condition
- 本轮已确认 `Architecture` 只暴露 `OnInitialize()``AbstractArchitecture` 通过 `InstallModules()` 暴露模块注册入口,而组件级 `OnInit()` 仍然是当前有效生命周期
- 当前建议在本轮停止active tracking 收口完成并推送后,只需重新抓取 PR `#299`,确认剩余项是否只剩 GitHub 侧 `Title check` 元数据提示
## 当前状态摘要
- `Core``Ecs.Arch``Cqrs``Game``Godot` 五个模块族当前都已有 README / landing / topic / API 参考层级的已验证入口。
- `2026-04-28` 已重新抓取 PR `#299` 并复核 latest-head reviewremote 当前只剩 `1``CodeRabbit` open thread 与 `1` 条 nitpick且都指向 active tracking 文档;`Greptile` / `Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed``Title check` 仍是 PR 元数据问题。
- `2026-04-25` 已重新抓取 PR `#290` 并确认latest reviewed commit 为 `54b8e5770af9ab3c8a86a396ffa4794fe4bb5181`open thread 聚焦在 `docs/.vitepress/config.mts` 的侧栏重复 / 标签不一致,以及 `GFramework.Core``GFramework.Ecs.Arch``GFramework.Game` README 的 reader-facing 表格残留治理字段。
- `2026-04-25` `docs/.vitepress/config.mts` 已保留 `source-generators` 栏目自有子页导航,但不再让 `api-reference` 侧栏重复跳回 `core``game``godot``ecs` 等独立栏目入口。
- `2026-04-25` `GFramework.Core/README.md``GFramework.Ecs.Arch/README.md``GFramework.Game/README.md` 当前把 XML 阅读表统一收敛为“代表类型 + 阅读重点”,不再暴露日期、覆盖计数或 `已覆盖` 这类治理式字段。
@ -35,6 +38,9 @@
- `2026-04-27` `GFramework.Core.Abstractions/README.md``GFramework.Game.Abstractions/README.md``GFramework.Game.SourceGenerators/README.md``GFramework.Ecs.Arch.Abstractions/README.md` 当前都已把 XML 阅读入口改写为“代表类型 + 阅读重点”,不再暴露覆盖计数、日期或 `已覆盖` 这类治理字段。
- `2026-04-27` `docs/zh-CN/game/config-system.md``docs/zh-CN/tutorials/basic/index.md` 已把维护者 / 指挥式措辞改成中性的采用建议与阅读入口,避免公开页面继续暴露内部决策口吻。
- `2026-04-27` `docs/zh-CN/getting-started/index.md``core/index.md``game/index.md``api-reference/index.md``source-generators/index.md` 已统一收敛为“适用场景 / 起步路线 / 继续阅读”式 reader-facing 入口,不再把 GitHub blob README 或治理说明当作主导航。
- `2026-04-27` 新一轮 batch boot 第 1 批次已进一步收口 `docs/zh-CN/source-generators/index.md``game/index.md``api-reference/index.md``godot/setting.md``abstractions/index.md` 的标题与导航口吻,去掉 `family`、自我指涉标题、原始 `README.md` 文件名提示和“先理解…”式栏目标题。
- `2026-04-27` 新一轮 batch boot 第 2 批次已把 `docs/zh-CN/game/ui.md``godot/signal.md``source-generators/godot-project-generator.md``get-node-generator.md``bind-node-signal-generator.md``auto-register-exported-collections-generator.md` 中直接暴露 `ai-libs/CoreGrid` 的路径型说明改成项目侧常见实现说明。
- `2026-04-27` 新一轮 batch boot 第 3、4 批次已把 `core/query.md``core/command.md``core/context.md``core/lifecycle.md``game/scene.md``game/ui.md``godot/ui.md``godot/scene.md``source-generators/priority-generator.md``context-aware-generator.md` 中依赖“旧文档/旧入口”对比的句式改成直接陈述当前契约与推荐入口。
- `2026-04-27` `GFramework.Game/README.md``GFramework.Game.Abstractions/README.md``GFramework.Godot/README.md``GFramework.Cqrs.Abstractions/README.md``GFramework.Ecs.Arch/README.md` 已收口 `ai-libs``family``seam``ReadMe.md` 等内部化或文件名式表述。
- `2026-04-27` `docs/zh-CN` 当前已清空所有指向 `github.com/GeWuYou/GFramework/blob/main/.../README.md` 的公开外链,相关入口统一回到站内栏目页、专题页或 API 导航。
- `2026-04-27` `docs/zh-CN/tutorials/godot-integration.md``game/setting.md``game/serialization.md``godot/index.md``godot/architecture.md``godot/storage.md``godot/logging.md``godot/setting.md``godot/extensions.md``core/architecture.md` 已把 `旧文档` / `ai-libs` / `.Wait()` / `family` 这类维护与内部语气改写成当前采用说明。
@ -58,7 +64,8 @@
`MSB4276` / `MSB4018`;这是已知环境阻塞,不属于本轮文档回归。
- 当前 WSL 会话里 `git.exe` 可解析但不能执行,应继续使用显式 `--git-dir` / `--work-tree` 绑定作为默认 Git 策略。
- `dotnet build GFramework.csproj -c Release` 当前仍会输出仓库既有 analyzer warnings`MA0158``MA0051``MA0004`);本轮仅修改文档与 package metadata不扩展到 warning 清理。
- PR `#296` 当前 review 线程仍主要来自 CodeRabbit 与 Greptile对 reader-facing 文案和文档入口连通性要求较细;本轮提交后仍需重新抓取 latest-head review确认 open thread 是否已自动关闭。
- 当前 batch boot 已从 `origin/main` 零 diff 状态重新起步并完成 4 个低风险文案批次;剩余命中更偏向是否保留迁移说明的编辑判断,不再适合继续按同一批处理模式机械推进。
- PR `#299` 在 remote latest-head review 中仍显示 `1` 条 open thread 与 `1` 条 nitpick直到本轮 `ai-plan` 改动推送后才会反映关闭状态;`Title check` 仍需要直接修改 GitHub 上的 PR 标题。
## 归档指针
@ -72,174 +79,23 @@
`ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-through-rp-016.md`
- 时间线归档(`RP-023``RP-025`
`ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-rp-023-to-rp-025-2026-04-24.md`
- 时间线归档(`RP-041``RP-048`
`ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-rp-041-to-rp-048-2026-04-28.md`
- 验证历史归档(`RP-041``RP-048`
`ai-plan/public/documentation-full-coverage-governance/archive/todos/documentation-full-coverage-governance-validation-history-rp-041-to-rp-048-2026-04-28.md`
## 最新验证
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Game.SourceGenerators/README.md GFramework.Game/README.md`
- 结果:通过;本轮 2 个 README 的 reader-facing 表格与导航去重调整后链接目标有效。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/godot-integration.md`
- 结果通过Godot 集成教程的措辞收口后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/extensions.md`
- 结果通过Godot 扩展页去自我指涉表述后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bun run build`(工作目录:`docs/`
- 结果:通过;本轮 PR `#296` review 收口后的站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-27` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json`
- 结果通过PR `#296` 处于 `OPEN`latest head review 共有 `4` 条 open thread其中 `3` 条文档问题与 `1` 条措辞 nitpick 在本地复核后仍成立;测试汇总为 `2156 passed`,仅剩 `Title check` inconclusive。
- `2026-04-25` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/gframework-current-pr-review.json`
- 结果通过PR `#290` 处于 `OPEN`latest head commit `54b8e5770af9ab3c8a86a396ffa4794fe4bb5181``2` 条 open threadCodeRabbit `1`、Greptile `1`),测试汇总为 `2156 passed`,无 failed checks。
- `2026-04-25` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/gframework-current-pr-review.json`
- 结果通过PR `#292` 处于 `OPEN`latest head commit `b96565ffa367bade30f44c2d4e8955143fbff85e``2` 条 CodeRabbit open thread测试汇总为 `2156 passed`,无 failed tests另有 `Title check` inconclusive属于 PR 标题元数据问题,不是仓库文件阻塞。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Core/README.md GFramework.Ecs.Arch/README.md GFramework.Game/README.md`
- 结果:通过;本轮 3 个模块 README 调整后链接目标仍然有效。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Core.Abstractions/README.md GFramework.Game.Abstractions/README.md GFramework.Game.SourceGenerators/README.md GFramework.Ecs.Arch.Abstractions/README.md`
- 结果通过4 个公开模块 README 的 reader-facing 改写后链接目标仍然有效。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/getting-started`
- 结果:通过;`installation.md` 更新后 `getting-started` 栏目的 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/config-system.md`
- 结果:通过;`config-system.md` 的工具形态建议改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/basic`
- 结果:通过;基础教程入口的阅读路径改写后栏目校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Game/README.md GFramework.Game.Abstractions/README.md GFramework.Godot/README.md GFramework.Cqrs.Abstractions/README.md GFramework.Ecs.Arch/README.md`
- 结果:通过;本轮 5 个模块 README 的 reader-facing 术语与入口改写后链接目标有效。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/index.md`
- 结果:通过;教程页受众表述改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/ui.md`
- 结果通过Godot UI 页的接法示例与 reader-facing 术语改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/scene.md`
- 结果通过Godot 场景页的接法示例与 reader-facing 术语改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/signal.md`
- 结果:通过;信号页切回站内生成器入口后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions`
- 结果通过3 个抽象层页改回站内入口后栏目校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators`
- 结果:通过;生成器栏目及受影响专题页改回站内入口后栏目校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/index.md`
- 结果通过Core 入口页 reader-facing 改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/index.md`
- 结果通过Game 入口页 reader-facing 改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/api-reference/index.md`
- 结果通过API 入口页导航改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/getting-started/quick-start.md`
- 结果:通过;快速开始页切回站内安装入口后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/cqrs.md`
- 结果通过CQRS 页继续阅读入口改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/scene.md`
- 结果通过Game 场景页相关推荐改回站内入口后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/ui.md`
- 结果通过Game UI 页相关推荐改回站内入口后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/ecs/arch.md`
- 结果通过ECS Arch 页入口改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/godot-integration.md`
- 结果通过Godot 集成教程的接线口吻改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/setting.md`
- 结果:通过;设置系统页初始化语义改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/serialization.md`
- 结果:通过;序列化页生命周期说明改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/index.md`
- 结果通过Godot landing page 的采用说明改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/architecture.md`
- 结果通过Godot 架构页异步初始化口吻改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/storage.md`
- 结果通过Godot 存储页示例口吻改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/logging.md`
- 结果通过Godot 日志页 provider 接线说明改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/setting.md`
- 结果通过Godot 设置页 applicator 接线口吻改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/extensions.md`
- 结果通过Godot 扩展页边界说明改写后页面校验通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/architecture.md`
- 结果通过Core 架构页旧初始化入口改写后页面校验通过。
- `2026-04-27` `bun run build`(工作目录:`docs/`
- 结果:通过;本轮 README、安装页与公开文案改写后站点仍可构建仅保留既有大 chunk warning。
- `2026-04-25` `bun run build`(工作目录:`docs/`
- 结果:通过;移除 `api-reference` 侧栏重复项并统一 `source-generators` 标签后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh README.md GFramework.Core/README.md GFramework.Core.Abstractions/README.md GFramework.Game/README.md GFramework.Game.Abstractions/README.md GFramework.Game.SourceGenerators/README.md GFramework.Ecs.Arch/README.md GFramework.Ecs.Arch.Abstractions/README.md`
- 结果:通过;根 README 与本轮触达的模块 README 链接目标有效。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials`
- 结果:通过;本轮新增触达的 10 个教程页与其余教程页 frontmatter、链接、代码块校验均通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/best-practices`
- 结果:通过;`index.md``architecture-patterns.md` 的代码块标记补齐后栏目验证通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/troubleshooting.md`
- 结果:通过;错误输出与完整错误信息块补齐为 `text` 后页面验证通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/contributing.md`
- 结果:通过;嵌套 fenced 示例已改写为转义围栏文本,`docs/zh-CN/contributing.md` 不再保留代码块语言警告。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN`
- 结果:通过;当前 `docs/zh-CN` 全量 frontmatter、链接与代码块校验均通过不再保留既有代码块语言警告。
- `2026-04-25` `bun run build`(工作目录:`docs/`
- 结果:通过;`contributing.md` 的 Mermaid 示例改写后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators`
- 结果:通过;`source-generators` 栏目触达页 frontmatter、链接与代码块校验均通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game`
- 结果:通过;新增 `config-tool.md``Game` 栏目触达页 frontmatter、链接与代码块校验均通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/cqrs.md`
- 结果:通过;`CQRS` 页补充 `Request` / stream 变体与协程入口后链接和代码块校验通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/index.md`
- 结果:通过;首页 hero actions 与 feature 文案更新后 frontmatter、代码块校验通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh README.md tools/gframework-config-tool/README.md GFramework.SourceGenerators.Common/README.md GFramework.Core.SourceGenerators.Abstractions/README.md GFramework.Godot.SourceGenerators.Abstractions/README.md`
- 结果:通过;根 README、config tool README 与新增 3 个 support README 的链接目标有效。
- `2026-04-25` `dotnet build GFramework.csproj -c Release`
- 结果:通过;元包工程与聚合依赖可编译,输出 `357` 条既有 analyzer warnings无新增错误。
- `2026-04-25` `bun run build`(工作目录:`docs/`
- 结果通过meta-package / config tool / source-generators / CQRS 多批次文档更新后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/resource.md`
- 结果:通过;`Godot` 资源页剩余 bare opening fence 已补齐语言标记。
- `2026-04-25` `bun run build`(工作目录:`docs/`
- 结果通过本轮导航补齐、README reader-facing 改写与教程 / 排障 / 资源页代码块语言标记更新后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Core/README.md`
- 结果通过README 链接目标有效。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Core.SourceGenerators/README.md`
- 结果通过README 链接目标有效。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Cqrs.SourceGenerators/README.md`
- 结果通过README 链接目标有效。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Ecs.Arch/README.md`
- 结果通过README 链接目标有效。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-links.sh GFramework.Game.SourceGenerators/README.md`
- 结果通过README 链接目标有效。
- `2026-04-25` `rg -n '\\[[^\\]]*(README\\.md|\\.md|\\.md/|/zh-CN/[^\\]]*)\\]\\([^)]*\\)' GFramework.Core/README.md GFramework.Core.SourceGenerators/README.md GFramework.Cqrs.SourceGenerators/README.md GFramework.Ecs.Arch/README.md GFramework.Game.SourceGenerators/README.md`
- 结果:无命中;本轮 5 个 README 已无可见路径式 / 文件名式 Markdown 链接标签残留。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core`
- 结果:通过;`Core` 栏目本轮触达页面的 frontmatter、链接与代码块校验均通过。
- `2026-04-25` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/basic`
- 结果:通过;基础教程栏目本轮触达页面的 frontmatter、链接与代码块校验均通过。
- `2026-04-25` `bun run build`(工作目录:`docs/`
- 结果通过README 标签修正与 `Core` / 基础教程代码块语言标记补齐后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-24` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json`
- 结果通过PR `#284` 处于 `OPEN`latest head commit `77540c07f0890cc05b10a849722c87b8bed8f561``3` 条 CodeRabbit 与 `1` 条 Greptile open thread测试汇总为 `2156 passed`,仅剩 `Title check` 的 inconclusive PR 元数据提示。
- `2026-04-24` `rg -n --pcre2 '\\]\\(/zh-CN/[^)]+(?<!\\.md)\\)' docs/zh-CN/troubleshooting.md`
- 结果:当前无命中;`/zh-CN/core/architecture``/zh-CN/faq` 已统一补成显式 `.md` 链接。
- `2026-04-24` `bun run build`(工作目录:`docs/`
- 结果:通过;文档标题本地化、站内链接修正与 `ai-plan` 归档瘦身落地后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-24` `python3 - <<'PY' ...`(扫描 `docs/zh-CN/**/*.md` frontmatter 是否缺 `title` / `description`
- 结果:通过;当前带 frontmatter 的 `docs/zh-CN` 页面已无 `title` / `description` 缺口。
- `2026-04-24` `bun run build`(工作目录:`docs/`
- 结果:通过;首页与基础教程 metadata 补齐后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-24` `python3 - <<'PY' ...`(扫描 `docs/zh-CN/**/*.md` 中以 `./``../``/zh-CN/` 开头且未带扩展名的 Markdown 链接)
- 结果:通过;当前 `docs/zh-CN` 站内 Markdown 链接已无缺失扩展名的命中。
- `2026-04-24` `bun run build`(工作目录:`docs/`
- 结果:通过;`25` 个页面的站内链接补齐为显式 `.md` / `index.md` 后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-24` `bun run build`(工作目录:`docs/`
- 结果:通过;模块 README、中文落地页 reader-facing 文档入口对齐,以及 `docs/index.md` metadata 调整后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-24` `python3 - <<'PY' ...`(扫描 `docs/zh-CN/**/*.md` 中纯英文 `title`
- 结果:通过;经过三轮标题本地化后,仅剩 `CQRS``GFramework` 两个品牌/缩写型标题。
- `2026-04-24` `bun run build`(工作目录:`docs/`
- 结果:通过;根 `README.md` reader-friendly 链接标签修正与 `docs/zh-CN` 多页标题本地化落地后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-25` `python3 .agents/skills/gframework-doc-refresh/scripts/scan_module_evidence.py Core`
- 结果:通过;技能仍能正常解析 `Core` 模块证据面,说明新增的 reader-facing 输出约束未破坏模块扫描主流程。
- `2026-04-25` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json`
- 结果通过PR `#287` 处于 `OPEN`latest head commit `8209d7a29f35d969fca6258b9817da9b33a203a3` 仅剩
`1` 条 Greptile open thread无 failed checks测试汇总为 `2156 passed`
- `2026-04-25` `bun run build`(工作目录:`docs/`
- 结果:通过;`docs/zh-CN/api-reference/index.md` 的站内入口标签统一为语义化写法后站点仍可正常构建,仅保留既有大 chunk warning。
- `2026-04-26` `bun run test`(工作目录:`tools/gframework-config-tool/`
- 结果:通过;`122` 个测试全部通过,说明 README 收口没有影响该工具现有测试面。
- `2026-04-26` `bun run package:vsix`(工作目录:`tools/gframework-config-tool/`
- 结果:通过;成功生成 `gframework-config-tool-0.0.3.vsix`,满足本轮工具模块的最小 build validation。
- `2026-04-28` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --format json --json-output /tmp/current-pr-review.json`
- 结果通过PR `#299` 处于 `OPEN`latest head review 有 `1``CodeRabbit` open thread 与 `1` 条 nitpick`Greptile` / `Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,仅剩 `Title check` inconclusive。
- `2026-04-28` `bun run build`(工作目录:`docs/`
- 结果通过active tracking 收口与时间线归档瘦身后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-27``2026-04-28` 的详细逐命令验证历史已迁入:
`ai-plan/public/documentation-full-coverage-governance/archive/todos/documentation-full-coverage-governance-validation-history-rp-041-to-rp-048-2026-04-28.md`
## 下一步
1. 提交当前接近阈值的稳定批次后,优先重新抓取 `$gframework-pr-review` 或在新一轮里按 `46 / 50` 的 branch diff 重新评估是否还适合继续扩批。
2. 若后续还要继续文档治理,优先复核尚未触达的 `Game` persistence、Godot runtime 细页与少量残余 `ai-libs` 口吻,而不是继续扩大同一轮 review 面。
3. 若后续分支继续调整 `Game` persistence runtime、README 或公共 API优先复核 `docs/zh-CN/game/data.md`
`storage.md``serialization.md``setting.md` 与 landing page 是否仍保持同一套职责边界。
4. 若后续分支继续调整 `Godot` generator 接法,优先复核 `GFramework.Godot.SourceGenerators/README.md`
`docs/zh-CN/tutorials/godot-integration.md` 与相关专题页是否仍保持一致。
1. 推送本轮提交后,优先重新抓取 `$gframework-pr-review`,确认 PR `#299` 仅剩标题元数据提示或已全部清空。
2. 若 remote review 清空后仍继续文档治理,优先人工复核尚未触达的 `Game` persistence、Godot runtime 细页与少量残余迁移边界表述,而不是继续按关键词机械扩批。
3. 若后续分支继续调整 `Game` persistence runtime、README 或公共 API优先复核 `docs/zh-CN/game/data.md``storage.md``serialization.md``setting.md` 与 landing page 是否仍保持同一套职责边界。
4. 若后续分支继续调整 `Godot` generator 接法,优先复核 `GFramework.Godot.SourceGenerators/README.md``docs/zh-CN/tutorials/godot-integration.md` 与相关专题页是否仍保持一致。

View File

@ -1,7 +1,48 @@
# Documentation Full Coverage Governance Trace
## 2026-04-28
### 当前恢复点RP-048
- 本轮按 `$gframework-pr-review` 抓取当前 PR `#299`,确认 latest head review 当前只剩 `1``CodeRabbit` open thread 与 `1` 条 nitpick两者都指向 active tracking 文档本身,`Greptile``Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,另有 `Title check` inconclusive。
- 本地复核后确认:此前针对 `docs/zh-CN/abstractions/index.md``docs/zh-CN/core/lifecycle.md` 与相关教程 / 排障页的 review follow-up 已不再是当前 remote latest-head review 的剩余阻塞项。
- 当前仍需收口的只剩两件事:为 `RP-048` 补齐明确的“下一步”段落,以及把 `RP-045``RP-047` 的逐命令时间线从 active trace 下沉到归档文件。
### 当前决策RP-048
- 本轮限定只修改 `ai-plan/public/documentation-full-coverage-governance` 下的 tracking / trace 文档,不再扩展到已经收口的公开文档页面。
- active trace 只保留当前恢复点、验证结论、下一步与归档指针;`RP-041``RP-048` 的阶段细节转入专门的 trace archive逐命令验证继续保留在 validation history archive。
- 不把 `Title check` 当成仓库文件修复项;本轮完成后只需要在提交推送后重新抓取 PR review确认 remote 线程状态是否清空。
### 当前验证RP-048
- PR review 抓取:
- `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --format json --json-output /tmp/current-pr-review.json`
- 结果通过PR `#299` 处于 `OPEN`latest head review 有 `1``CodeRabbit` open thread 与 `1` 条 nitpick`Greptile` / `Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,仅剩 `Title check` inconclusive。
- 站点构建:
- `bun run build`(工作目录:`docs/`
- 结果通过active tracking 收口与时间线归档瘦身后站点仍可构建,仅保留既有大 chunk warning。
- 详细时间线归档:
- `ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-rp-041-to-rp-048-2026-04-28.md`
- 详细验证归档:
- `ai-plan/public/documentation-full-coverage-governance/archive/todos/documentation-full-coverage-governance-validation-history-rp-041-to-rp-048-2026-04-28.md`
### 下一步RP-048
1. 提交本轮 active tracking 收口改动,并将提交推送到 PR `#299`
2. 推送后重新抓取 `$gframework-pr-review`,确认 latest-head review 是否只剩 `Title check` 或已全部清空。
3. 若仍有新的文档 review 线程,继续按 latest-head review 精确收口,不恢复关键词驱动的机械扩批。
## 2026-04-27
### 已归档历史RP-041 到 RP-047
- `RP-045``RP-047` 的 batch boot 逐阶段时间线、branch diff 计量与 review follow-up 决策,已迁入专门的 trace archive避免 active trace 继续保留逐命令历史。
- 对应的页面校验、README 链接校验与站点构建命令,继续保留在 validation history archive 中,供后续追溯。
- 归档路径:
- `ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-rp-041-to-rp-048-2026-04-28.md`
- `ai-plan/public/documentation-full-coverage-governance/archive/todos/documentation-full-coverage-governance-validation-history-rp-041-to-rp-048-2026-04-28.md`
### 当前恢复点RP-044
- 本轮从 `$gframework-pr-review` 重新进入,继续沿用显式 `--git-dir` / `--work-tree` 绑定确认当前分支仍为 `docs/sdk-update-documentation`,并通过 `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --json-output /tmp/current-pr-review.json` 抓取当前 PR `#296`

View File

@ -21,9 +21,9 @@ description: GFramework 各抽象层模块的阅读入口与使用边界。
## 使用建议
- 如果你只是想直接使用框架功能,优先从对应运行时模块`README.md` 和栏目页开始。
- 如果你只是想直接使用框架功能,优先从对应运行时模块说明和栏目页开始。
- 只有在明确需要“契约层而非实现层”时,才单独依赖 `*.Abstractions` 包。
- 抽象层页面会解释接口分组与职责;实际安装与接入路径,仍应以运行时模块 README 与 `getting-started` 为主。
- 抽象层页面会解释接口分组与职责;实际安装与接入路径,仍应以对应运行时模块说明和[快速开始](../getting-started/)为主。
## 当前边界

View File

@ -5,7 +5,7 @@ description: GFramework 的 API 阅读入口,按模块映射 README、专题
# API 参考
这页不是签名索引,而是“先看哪个模块入口、再回哪里读 XML 文档”的导航
本页聚焦“先看哪个模块入口、再回哪里读 XML 文档”的 API 阅读导航。
最常见的阅读顺序是:
@ -15,14 +15,14 @@ description: GFramework 的 API 阅读入口,按模块映射 README、专题
## 阅读顺序
### 想确认“该装哪个包、先看哪类 API”
### 安装与选包入口
先读站内入口页:
- 入门入口:[入门指南](../getting-started/index.md)
- 安装与选包:[安装配置](../getting-started/installation.md)
### 想确认“这个功能属于哪个模块”
### 模块定位入口
按下面的模块映射进入对应入口:

View File

@ -20,7 +20,7 @@ description: 说明 GFramework.Core.Command 旧命令体系的兼容定位、可
- `AbstractCommand<TInput, TResult>`
- 有输入、有返回值
注意一个和旧文档不同的点:泛型命令现在通过构造函数接收输入,而不是依赖 `Input` 可写属性。
当前泛型命令通过构造函数接收输入,而不是依赖 `Input` 可写属性。
## 无输入命令

View File

@ -18,14 +18,14 @@ description: 说明 IArchitectureContext 与 ArchitectureContext 的统一上下
## 先记住一个事实
如果你还在找旧文档里的这些属性
如果你正在寻找这些属性式总线入口
- `CommandBus`
- `QueryBus`
- `EventBus`
- `Container`
那说明你看到的是旧写法。当前推荐入口是方法,不是这些属性式总线。
当前公开入口是方法,不是这些属性式总线。
## 组件访问

View File

@ -89,7 +89,9 @@ protected override void OnInitialize()
## 组件自己的生命周期
大多数组件不需要手写 `Initialize()`;继承框架基类即可:
大多数组件不需要手写 `Initialize()`;继承框架基类即可。
这里的 `OnInit()` 是组件级入口,用来初始化单个 `Model` / `System`;上面的 `OnInitialize()` 则用于架构级注册:
```csharp
public sealed class PlayerModel : AbstractModel
@ -159,7 +161,7 @@ architecture.PhaseChanged += (_, args) =>
## 推荐做法
- 新代码优先使用 `InitializeAsync()` / `DestroyAsync()`
- 把注册逻辑放在 `OnInitialize()`,不要沿用旧文档里的 `Init()`
- 把架构级注册逻辑放在 `OnInitialize()`;组件自己的初始化仍然使用 `OnInit()`,不要再尝试重写 `Init()` 这类旧入口
- 让 `Utility` 承载底层能力,让 `Model` 承载状态,再让 `System` 消费两者
- 跨组件阶段逻辑优先写成 `IArchitectureLifecycleHook`

View File

@ -18,7 +18,7 @@ description: 说明 GFramework.Core.Query 旧查询体系的兼容定位、可
- `AbstractQuery<TInput, TResult>`
- 带输入查询
与旧文档不同,带输入查询现在通过构造函数接收输入,不再依赖 `Input` 属性赋值。
当前带输入查询通过构造函数接收输入,不再依赖 `Input` 属性赋值。
## 无输入查询

View File

@ -1,6 +1,6 @@
---
title: Game 模块
description: GFramework.Game family 的运行时入口、采用顺序与源码阅读导航。
description: GFramework.Game 运行时模块的入口、采用顺序与源码阅读导航。
---
# Game 模块

View File

@ -76,7 +76,7 @@ description: 说明 GFramework.Game 场景路由的当前入口、项目侧接
- `PopAsync`
- 对栈顶执行离开检查,通过后退出并卸载它,再从 `ISceneRoot` 移除,然后恢复新的栈顶。
当前还有两个容易被旧文档误导的点:
当前还有两个容易混淆的点:
- `SceneRouterBase` 默认不允许同一个 `sceneKey` 在栈中重复存在;内部会先做 `Contains(sceneKey)` 检查
- 框架不会替你实现“场景键 -> 具体场景实例”的注册逻辑;这仍然是 `ISceneFactory` 或项目注册表的职责

View File

@ -113,7 +113,7 @@ description: 说明 GFramework.Game UI 路由当前的页面栈、层级 UI、
- `Page` 层属于栈语义,用 `PushAsync` / `ReplaceAsync` / `PopAsync`
- `Overlay``Modal``Toast``Topmost` 属于层级语义,用 `Show` / `Hide` / `Resume`
`Show(..., UiLayer.Page)` 在当前实现里会直接抛异常,因此旧文档里那种“所有 UI 都统一通过 Show 进入”的写法不再准确
`Show(..., UiLayer.Page)` 在当前实现里会直接抛异常`Page` 层应通过 `PushAsync` / `ReplaceAsync` / `PopAsync` 进入
### 输入不是页面自己抢,而是 router 先仲裁
@ -211,7 +211,7 @@ public sealed class GameUiRouter : UiRouterBase
- `AddUiPage(IUiPageBehavior child, UiLayer layer, int orderInLayer = 0)`
- `RemoveUiPage(IUiPageBehavior child)`
当前 `ai-libs/` 的参考实现就是在项目自己的 `CanvasLayer` 上为每个 `UiLayer` 建独立容器,再在 `_Ready()` 时执行
一种常见的项目侧实现方式,是在自己的 `CanvasLayer` 上为每个 `UiLayer` 建独立容器,再在 `_Ready()` 时执行
`_uiRouter.BindRoot(this)`
### 4. 装配 router 与 factory

View File

@ -290,8 +290,7 @@ await sceneRouter.PopAsync();
### 没有 `GodotSceneRouter`
仓库当前不存在 `GodotSceneRouter` 类型。旧文档里把它写成默认入口是失真的;实际入口仍然是项目侧继承
`SceneRouterBase` 的 router。
仓库当前不存在 `GodotSceneRouter` 类型;实际入口仍然是项目侧继承 `SceneRouterBase` 的 router。
### 没有自动注册所有场景

View File

@ -133,12 +133,12 @@ await settingsSystem.Apply<GodotAudioSettings>();
## 什么时候应该改看别的入口
### 先理解设置模型和仓库
### 相关设置模型
如果你想先理解 `ISettingsData``IResetApplyAbleSettings``SettingsModel``SettingsSystem` 与设置迁移,先看
[Game 设置系统](../game/setting.md)。
### 先理解设置如何被持久化
### 相关持久化入口
如果你关注的是统一设置文件、备份、数据位置和底层存储实现,应该回到:

View File

@ -120,7 +120,7 @@ private void OnStartPressed()
- 运行时选出的 signal 名称
- 需要临时追加监听的 dock、panel、overlay
`ai-libs/CoreGrid` 当前就有这类用法
项目侧常见也会这样写
```csharp
_quitConfirmDialog.Signal("Confirmed")

View File

@ -68,7 +68,7 @@ Godot runtime 的页面行为包装基类。它把 `IUiPageBehavior` 的这些
- `UiLayer.Toast` -> `ToastLayerUiPageBehavior<T>`
- `UiLayer.Topmost` -> `TopmostLayerUiPageBehavior<T>`
几个容易被旧文档写偏的默认语义如下:
几个容易混淆的默认语义如下:
- `Page`
- 不可重入,阻断输入
@ -319,7 +319,7 @@ uiRouter.Hide(handle, UiLayer.Modal);
### 没有 `GodotUiRouter`
仓库当前没有这个类型。旧文档把它写成默认入口是不准确的;真实入口仍然是项目侧的 `UiRouterBase` 派生类。
仓库当前没有这个类型;真实入口仍然是项目侧的 `UiRouterBase` 派生类。
### UI 工厂不会自动补 behavior

View File

@ -161,7 +161,7 @@ public List<IntConfig>? Values { get; } = new();
## 真实采用路径
`ai-libs/CoreGrid/global/GameEntryPoint.cs` 是当前最直接的消费者参考
一个典型的项目侧入口会这样组织导出集合
- `UiPageConfigs`
- `GameSceneConfigs`

View File

@ -130,7 +130,7 @@ private void OnAnyButtonPressed()
当前生成器会为每个特性都生成一条 `+=` 和一条 `-=`
`ai-libs/CoreGrid` 里的 `GameplayHud``PauseMenu``OptionBrowser` 都在大量使用这种声明式绑定方式。
项目侧的 HUD、菜单和选项面板节点通常都会大量使用这种声明式绑定方式。
## 与 GetNode 的协作边界

View File

@ -102,7 +102,7 @@ public partial class PlayerController : IController
- 不维护共享 provider
- 默认直接回退到 `GameContext.GetFirstArchitectureContext()`
因此,旧文档里把两条路径混写成“只是写法不同”已经不准确
因此,这两条路径不是“只是写法不同”,而是共享 provider 策略和实例缓存边界都不同
## 何时使用 `[ContextAware]`

View File

@ -179,7 +179,7 @@ public override void _Ready()
先注入节点,再绑定事件;否则 `BindNodeSignal` 对应的字段还没完成解析。
这也是 `ai-libs/CoreGrid` 里项目侧节点类的实际用法。
这也是项目侧节点类的常见接法。
## 什么时候适合用 `[GetNode]`

View File

@ -200,8 +200,8 @@ AutoLoad 名称也遵循同样的冲突处理策略。
- 节点字段注入:`[GetNode]`
- 节点 CLR event 订阅:`[BindNodeSignal]`
`ai-libs/CoreGrid` 中,这三类能力是并行使用的`project.godot` 负责 AutoLoad / Input Action具体 UI 或场景节点再通过
`[GetNode]``[BindNodeSignal]` 处理。
一个同时使用这些生成器的项目里,这三类能力通常并行存在`project.godot` 负责 AutoLoad / Input Action具体 UI
或场景节点再通过 `[GetNode]``[BindNodeSignal]` 处理。
## 诊断与约束

View File

@ -70,7 +70,7 @@ GFramework 当前发布的生成器包是:
- 再根据 attribute 或 diagnostics 回到对应专题页
- 只有在排查生成失败原因时,才继续下钻到这些共享支撑目录
## 这个栏目怎么读
## 阅读路线
### Core 侧通用生成器

View File

@ -68,7 +68,7 @@ var handlers = container.GetAllByPriority<IMyHandler>();
- `this.GetModelsByPriority<TModel>()`
- `this.GetUtilitiesByPriority<TUtility>()`
这比旧文档里反复出现的 `this.GetAllByPriority<T>()` 更贴近当前公开扩展方法
当前公开扩展方法就是按角色拆分的这些 API而不是泛化的 `this.GetAllByPriority<T>()`
## 最小接入示例

View File

@ -150,7 +150,7 @@ if (!arch.IsInitialized)
// ✅ 更好:使用单例模式
public class GameArchitecture : Architecture&lt;GameArchitecture&gt;
{
protected override void Init()
protected override void OnInitialize()
{
// 注册组件
}
@ -176,7 +176,7 @@ InvalidOperationException: No service for type 'IPlayerService' has been registe
// ❌ 错误:未注册服务
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
// 忘记注册 IPlayerService
}
@ -187,7 +187,7 @@ var service = arch.GetService&lt;IPlayerService&gt;(); // 抛出异常
// ✅ 正确:先注册服务
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
// 注册服务
RegisterService&lt;IPlayerService, PlayerService&gt;();
@ -216,14 +216,14 @@ NullReferenceException: Object reference not set to an instance of an object
```csharp
// ❌ 错误SystemB 依赖 ModelA但 ModelA 后注册
protected override void Init()
protected override void OnInitialize()
{
RegisterSystem(new SystemB()); // SystemB.OnInit() 中访问 ModelA 失败
RegisterModel(new ModelA());
}
// ✅ 正确:先注册依赖项
protected override void Init()
protected override void OnInitialize()
{
// 1. 先注册 Model
RegisterModel(new ModelA());
@ -306,7 +306,7 @@ var model = arch.GetModel<PlayerModel>(); // 抛出异常
// ✅ 正确:先注册再获取
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
RegisterModel(new PlayerModel()); // 注册模型
}
@ -523,7 +523,7 @@ arch.RegisterEvent&lt;GameEvent&gt;(OnGameEvent);
3. **检查事件总线是否正确注册**
```csharp
protected override void Init()
protected override void OnInitialize()
{
// 确保注册了事件总线
RegisterSystem(new EventBusModule());
@ -825,7 +825,7 @@ else
// ✅ 使用资源管理器
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
RegisterSystem(new ResourceManager());
}
@ -1153,7 +1153,7 @@ public partial class Player : Node
// ✅ 使用 Godot 模块
public class GameArchitecture : AbstractArchitecture
{
protected override void Init()
protected override void InstallModules()
{
// 注册 Godot 模块
this.RegisterGodotModule&lt;PlayerModule&gt;();
@ -1176,7 +1176,7 @@ await uiRouter.PushAsync("MainMenu"); // 失败:页面未注册
// ✅ 正确:先注册 UI 页面
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
var uiRegistry = new GodotUiRegistry();
uiRegistry.Register("MainMenu", "res://ui/main_menu.tscn", UiLayer.Page);
@ -1467,7 +1467,7 @@ _coroutineQueue.Enqueue(MyCoroutine());
// 使用 GFramework 日志系统
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
// 注册日志工厂
RegisterUtility&lt;ILoggerFactory&gt;(new GodotLoggerFactory());
@ -1554,7 +1554,7 @@ public class EventTracer : AbstractSystem
// 在架构中启用事件追踪
#if DEBUG
protected override void Init()
protected override void OnInitialize()
{
RegisterSystem(new EventTracer());
}
@ -1679,7 +1679,7 @@ System.Collections.Generic.KeyNotFoundException: 未找到类型为 'PlayerModel
// 在架构中注册组件
public class GameArchitecture : Architecture
{
protected override void Init()
protected override void OnInitialize()
{
RegisterModel(new PlayerModel());
RegisterSystem(new PlayerSystem());
@ -1745,7 +1745,7 @@ var model = this.GetModel&lt;PlayerModel&gt;(); // 返回 null
model.Health.Value = 100; // 抛出异常
// ✅ 正确:先注册
protected override void Init()
protected override void OnInitialize()
{
RegisterModel(new PlayerModel());
}
@ -1814,20 +1814,20 @@ System.ArgumentException: An item with the same key has already been added. Key:
```csharp
// ❌ 错误:重复注册
protected override void Init()
protected override void OnInitialize()
{
RegisterModel(new PlayerModel());
RegisterModel(new PlayerModel()); // 重复注册
}
// ✅ 正确:只注册一次
protected override void Init()
protected override void OnInitialize()
{
RegisterModel(new PlayerModel());
}
// ✅ 如果需要多个实例,使用不同的键
protected override void Init()
protected override void OnInitialize()
{
RegisterModel(new PlayerModel(), "Player1");
RegisterModel(new PlayerModel(), "Player2");

View File

@ -162,7 +162,7 @@ namespace MyGame.Core.Architecture
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;
@ -857,7 +857,7 @@ namespace MyGame.Core.Architecture
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;

View File

@ -38,7 +38,7 @@ namespace MyGame
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;
@ -631,7 +631,7 @@ namespace MyGame
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;

View File

@ -220,7 +220,7 @@ namespace MyGame
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;

View File

@ -671,7 +671,7 @@ namespace MyGame
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;

View File

@ -356,7 +356,7 @@ namespace MyGame
{
public static IArchitecture Interface { get; private set; }
protected override void Init()
protected override void OnInitialize()
{
Interface = this;