docs(governance): 收口 PR 审查遗留文档问题

- 修复抽象层入口页与生命周期文档中的语义化导航和初始化入口说明
- 更新教程与排障文档中过时的架构级 Init() 示例,区分 OnInitialize()、InstallModules() 与 OnInit()
- 归档 active tracking 的详细验证历史并补充 RP-048 trace
This commit is contained in:
gewuyou 2026-04-28 08:52:07 +08:00
parent 289f12f309
commit 121479835a
11 changed files with 214 additions and 242 deletions

View File

@ -0,0 +1,123 @@
# Documentation Full Coverage Governance Validation History (RP-041 to RP-048)
## 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

@ -12,18 +12,20 @@
## 当前恢复点 ## 当前恢复点
- 恢复点编号:`DOCUMENTATION-FULL-COVERAGE-GOV-RP-047` - 恢复点编号:`DOCUMENTATION-FULL-COVERAGE-GOV-RP-048`
- 当前阶段:`Phase 5 - Governance Maintenance` - 当前阶段:`Phase 5 - Governance Maintenance`
- 当前焦点: - 当前焦点:
- 继续以最新 `origin/main``7cfdd2c``2026-04-27 16:59:57 +08:00`)作为 baseline当前批处理 stop condition 仍是 branch diff vs baseline 接近 `50` changed files - `$gframework-pr-review` 复核 PR `#299` 的 latest-head review并收口仍然成立的 3 条文件内问题抽象层入口语义化链接、架构生命周期入口示例、active tracking 验证历史归档瘦身
- 本轮通过 `$gframework-batch-boot 50` 重新进入后确认 `HEAD == origin/main`,当前已提交 branch diff 为 `0` files / `0` lines因此可以从新的低风险文档批次重新累计阈值 - 本轮通过 `$gframework-batch-boot 50` 重新进入后确认 `HEAD == origin/main`,当前已提交 branch diff 为 `0` files / `0` lines因此可以从新的低风险文档批次重新累计阈值
- 当前已完成 4 个低风险批次:入口页 reader-facing 标题统一、内部参考路径去暴露,以及 `Core` / `Game` / `Godot` / `source-generators` 多个页面中“旧文档式对比”提示的直接契约化改写 - 当前已完成 4 个低风险批次,并在本轮额外完成 1 次 review-driven 收口:入口页 reader-facing 标题统一、内部参考路径去暴露,以及 `Core` / `Game` / `Godot` / `source-generators` 多个页面中“旧文档式对比”提示的直接契约化改写
- 第 2 个已提交批次结束时branch diff 相对 `origin/main``13` files / `124` lines本轮最后一批提交后仍会明显低于 `50` 文件 stop condition - 第 2 个已提交批次结束时branch diff 相对 `origin/main``13` files / `124` lines本轮最后一批提交后仍会明显低于 `50` 文件 stop condition
- 当前建议在本轮停止:剩余命中更多是运行时迁移边界或模块 README 之间的正常交叉引用,不再属于同一类可机械批处理的低风险 reader-facing 收口 - 本轮已确认 `Architecture` 只暴露 `OnInitialize()``AbstractArchitecture` 通过 `InstallModules()` 暴露模块注册入口,而组件级 `OnInit()` 仍然是当前有效生命周期
- 当前建议在本轮停止PR `#299` 剩余 `Title check` 只是 GitHub 侧 PR 标题元数据提示,不是仓库文件内的阻塞问题
## 当前状态摘要 ## 当前状态摘要
- `Core``Ecs.Arch``Cqrs``Game``Godot` 五个模块族当前都已有 README / landing / topic / API 参考层级的已验证入口。 - `Core``Ecs.Arch``Cqrs``Game``Godot` 五个模块族当前都已有 README / landing / topic / API 参考层级的已验证入口。
- `2026-04-28` 已抓取 PR `#299` 并复核 latest-head review`CodeRabbit``3` 条 open thread 在本地都仍成立,现已分别收口为抽象层入口语义化链接、生命周期入口澄清、以及 active tracking 验证历史归档;`Greptile` / `Gemini Code Assist` 当前无 open thread`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` 已重新抓取 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` `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 阅读表统一收敛为“代表类型 + 阅读重点”,不再暴露日期、覆盖计数或 `已覆盖` 这类治理式字段。 - `2026-04-25` `GFramework.Core/README.md``GFramework.Ecs.Arch/README.md``GFramework.Game/README.md` 当前把 XML 阅读表统一收敛为“代表类型 + 阅读重点”,不再暴露日期、覆盖计数或 `已覆盖` 这类治理式字段。
@ -63,6 +65,7 @@
- 当前 WSL 会话里 `git.exe` 可解析但不能执行,应继续使用显式 `--git-dir` / `--work-tree` 绑定作为默认 Git 策略。 - 当前 WSL 会话里 `git.exe` 可解析但不能执行,应继续使用显式 `--git-dir` / `--work-tree` 绑定作为默认 Git 策略。
- `dotnet build GFramework.csproj -c Release` 当前仍会输出仓库既有 analyzer warnings`MA0158``MA0051``MA0004`);本轮仅修改文档与 package metadata不扩展到 warning 清理。 - `dotnet build GFramework.csproj -c Release` 当前仍会输出仓库既有 analyzer warnings`MA0158``MA0051``MA0004`);本轮仅修改文档与 package metadata不扩展到 warning 清理。
- 当前 batch boot 已从 `origin/main` 零 diff 状态重新起步并完成 4 个低风险文案批次;剩余命中更偏向是否保留迁移说明的编辑判断,不再适合继续按同一批处理模式机械推进。 - 当前 batch boot 已从 `origin/main` 零 diff 状态重新起步并完成 4 个低风险文案批次;剩余命中更偏向是否保留迁移说明的编辑判断,不再适合继续按同一批处理模式机械推进。
- PR `#299` 当前仅剩 `Title check` inconclusive这需要直接修改 GitHub 上的 PR 标题,而不是继续改仓库文件。
## 归档指针 ## 归档指针
@ -76,220 +79,31 @@
`ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-through-rp-016.md` `ai-plan/public/documentation-full-coverage-governance/archive/traces/documentation-full-coverage-governance-trace-history-through-rp-016.md`
- 时间线归档(`RP-023``RP-025` - 时间线归档(`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` `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/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-all.sh docs/zh-CN/core/query.md` - `2026-04-28` `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --format json --json-output /tmp/current-pr-review.json`
- 结果通过Core query 页去旧文档对比表述后页面 frontmatter、链接与代码块校验均通过。 - 结果通过PR `#299` 处于 `OPEN`latest head review 有 `3``CodeRabbit` open thread`Greptile` / `Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,仅剩 `Title check` inconclusive。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/command.md` - `2026-04-28` 页面校验:
- 结果通过Core command 页改成直接陈述当前输入契约后页面 frontmatter、链接与代码块校验均通过。 - `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions/index.md`
- `2026-04-27` `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/core/lifecycle.md`
- 结果通过Core context 页去旧总线入口对比表述后页面 frontmatter、链接与代码块校验均通过。 - `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/state-machine-tutorial.md`
- `2026-04-27` `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/tutorials/resource-management.md`
- 结果通过Game scene 页改成直接提示当前语义边界后页面 frontmatter、链接与代码块校验均通过。 - `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/save-system.md`
- `2026-04-27` `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/tutorials/pause-system.md`
- 结果通过Godot UI 页默认语义与入口说明收口后页面 frontmatter、链接与代码块校验均通过。 - `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/tutorials/large-project-organization.md`
- `2026-04-27` `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/troubleshooting.md`
- 结果通过Priority 生成器页改成直接陈述当前 API 形态后页面 frontmatter、链接与代码块校验均通过。 - 结果:通过;本轮触达页面的 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/lifecycle.md` - `2026-04-28` `bun run build`(工作目录:`docs/`
- 结果通过Core lifecycle 页旧入口提示收口后页面 frontmatter、链接与代码块校验均通过。 - 结果通过PR `#299` review follow-up 的文档修正与 active tracking 归档瘦身后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/scene.md` - `2026-04-27``2026-04-28` 的详细逐命令验证历史已迁入:
- 结果通过Godot scene 页默认入口说明收口后页面 frontmatter、链接与代码块校验均通过。 `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-all.sh docs/zh-CN/source-generators/context-aware-generator.md`
- 结果通过ContextAware 生成器页路径差异说明收口后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bun run build`(工作目录:`docs/`
- 结果:通过;本轮 batch boot 第 3、4 批次的 10 个公开页面 reader-facing 收口后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/ui.md`
- 结果通过Game UI 页去 `ai-libs/` 路径化说明后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/signal.md`
- 结果通过Godot signal 页改成项目侧示例口吻后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/godot-project-generator.md`
- 结果通过Godot project 生成器页去内部参考项目路径后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/get-node-generator.md`
- 结果通过GetNode 生成器页改成通用项目侧用法说明后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/bind-node-signal-generator.md`
- 结果通过BindNodeSignal 生成器页去具体内部项目名后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/auto-register-exported-collections-generator.md`
- 结果:通过;导出集合自动注册页改成通用入口描述后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bun run build`(工作目录:`docs/`
- 结果:通过;本轮 batch boot 第 2 批次的 6 个公开页面 reader-facing 收口后站点仍可构建,仅保留既有大 chunk warning。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/source-generators/index.md`
- 结果:通过;`source-generators` 入口页标题收口后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/game/index.md`
- 结果:通过;`Game` 入口页描述调整后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/api-reference/index.md`
- 结果通过API 导航页 reader-facing 标题调整后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/godot/setting.md`
- 结果通过Godot 设置页继续阅读标题收口后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions/index.md`
- 结果:通过;抽象层入口页去文件名式提示后页面 frontmatter、链接与代码块校验均通过。
- `2026-04-27` `bun run build`(工作目录:`docs/`
- 结果:通过;本轮 batch boot 第 1 批次的 5 个入口页 reader-facing 收口后站点仍可构建,仅保留既有大 chunk warning。
- `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。
## 下一步 ## 下一步
1. 提交当前接近阈值的稳定批次后,优先重新抓取 `$gframework-pr-review` 或在新一轮里按 `46 / 50` 的 branch diff 重新评估是否还适合继续扩批。 1. 推送本轮提交后,优先重新抓取 `$gframework-pr-review`,确认 PR `#299` 仅剩标题元数据提示或已全部清空。
2. 若后续还要继续文档治理,优先复核尚未触达的 `Game` persistence、Godot runtime 细页与少量残余 `ai-libs` 口吻,而不是继续扩大同一轮 review 面。 2. 若后续继续文档治理,优先人工复核尚未触达的 `Game` persistence、Godot runtime 细页与少量残余迁移边界表述,而不是继续按关键词机械扩批。
3. 若后续分支继续调整 `Game` persistence runtime、README 或公共 API优先复核 `docs/zh-CN/game/data.md` 3. 若后续分支继续调整 `Game` persistence runtime、README 或公共 API优先复核 `docs/zh-CN/game/data.md``storage.md``serialization.md``setting.md` 与 landing page 是否仍保持同一套职责边界。
`storage.md``serialization.md``setting.md` 与 landing page 是否仍保持同一套职责边界。 4. 若后续分支继续调整 `Godot` generator 接法,优先复核 `GFramework.Godot.SourceGenerators/README.md``docs/zh-CN/tutorials/godot-integration.md` 与相关专题页是否仍保持一致。
4. 若后续分支继续调整 `Godot` generator 接法,优先复核 `GFramework.Godot.SourceGenerators/README.md`
`docs/zh-CN/tutorials/godot-integration.md` 与相关专题页是否仍保持一致。

View File

@ -1,5 +1,38 @@
# Documentation Full Coverage Governance Trace # Documentation Full Coverage Governance Trace
## 2026-04-28
### 当前恢复点RP-048
- 本轮按 `$gframework-pr-review` 抓取当前 PR `#299`,并确认 latest head review 仍有 `3``CodeRabbit` open thread`Greptile``Gemini Code Assist` 当前无 open thread测试汇总为 `2159 passed`,仅剩 `Title check` inconclusive。
- 本地复核源码后确认:`GFramework.Core/Architectures/Architecture.cs` 只暴露架构级 `OnInitialize()``GFramework.Godot/Architectures/AbstractArchitecture.cs` 通过 `InstallModules()` 暴露模块注册入口;组件级 `OnInit()` 仍是 `Model` / `System` 的正确生命周期。
- 仍成立的文件内问题只有三类:`docs/zh-CN/abstractions/index.md` 的原始文件名式导航、`docs/zh-CN/core/lifecycle.md``tutorials` / `troubleshooting` 里的架构级旧 `Init()` 示例、以及 active tracking 中过长的逐命令验证历史。
### 当前决策RP-048
- 在同一轮里收口所有仍然适用于仓库文件的 open thread不把 `Title check` 当成仓库文件修复项。
- 普通 `Architecture` 示例统一改回 `OnInitialize()``AbstractArchitecture` 示例改成 `InstallModules()`,组件级 `OnInit()` 示例保持不变。
- 将 active tracking 的“最新验证”压缩为摘要,把详细命令历史迁入新的 `archive/todos` 文件,避免默认恢复入口继续膨胀。
### 当前验证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`
- 结果:通过;本轮触达页面的 frontmatter、链接与代码块校验均通过。
- 站点构建:
- `bun run build`(工作目录:`docs/`
- 结果通过PR `#299` review follow-up 的文档修正与 active tracking 归档瘦身后站点仍可构建,仅保留既有大 chunk warning。
## 2026-04-27 ## 2026-04-27
### 当前恢复点RP-047 ### 当前恢复点RP-047

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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