mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 更新 AGENTS.md,优先使用显式 --git-dir 与 --work-tree 绑定操作 worktree Git - 补充 git.exe 在当前会话不可执行时的 fallback 规则,避免重复命中 Exec format error - 更新 documentation-full-coverage-governance 的 tracking 与 trace,记录已验证的 Git 使用方式
12 KiB
12 KiB
Documentation Full Coverage Governance Trace
2026-04-22
当前恢复点:RP-001
- 按长期治理计划新建 active topic
documentation-full-coverage-governance - 在
ai-plan/public/README.md中将当前分支docs/sdk-update-documentation映射到该 topic - 复核已知缺口模块的
*.csproj后确认:GFramework.Ecs.Arch.Abstractions是可打包消费模块,需要独立 READMEGFramework.Core.SourceGenerators.Abstractions、GFramework.Godot.SourceGenerators.Abstractions、GFramework.SourceGenerators.Common都是IsPackable=false的内部支撑模块
- 基于该结论,本轮没有为内部支撑模块新增独立 README,而是在根 README 与 abstractions / API 入口中明确其 owner
当前决策
- 新主题的完成条件采用长期治理口径:
P0清零、无 README 缺失、无导航死链,并完成连续两轮稳定巡检 - 本轮先做治理基础设施与 inventory,不把整个长期计划伪装成单轮完成
api-reference页面改为“模块 -> README / docs / XML / tutorial”的阅读链路入口,避免继续维护失真的伪签名列表Ecs.Archfamily 被列为高优先 backlog:抽象层入口已补齐,但 runtime docs 仍需按源码重写Core/Core.Abstractions波次先收口 README、landing page 和 abstractions 页的目录映射,再补显式 XML 覆盖 inventory- VitePress 站内页面不直接链接仓库根模块
README.md;站内仅保留可构建的 docs 链接,模块 README 以文本路径或仓库 README 承接
当前恢复点:RP-002
- 完成
Core/Core.Abstractions的类型族级 XML inventory:GFramework.Core/README.mdGFramework.Core.Abstractions/README.mddocs/zh-CN/core/index.mddocs/zh-CN/abstractions/core-abstractions.md
- 通过顶层目录轻量盘点确认:
GFramework.Core当前各目录族的公开 / 内部类型声明都已带 XML 注释GFramework.Core.Abstractions当前各契约目录族的公开 / 内部类型声明都已带 XML 注释
- 这轮 inventory 明确限定为“类型声明级基线”,不把结果表述成成员级 XML 合规审计
当前决策(RP-002)
- XML inventory 同时落在模块 README 和站内 landing page:
- README 提供仓库侧入口,方便从包目录直接恢复上下文
- docs landing 提供更细的类型族 / 代表类型 / 阅读重点表格,方便站内导航
Core波次在补齐基线后转入巡检,不继续在本轮展开成员级<param>/<returns>审计- 下一恢复点切换到
Ecs波次,优先处理仍明显失真的 runtime docs
当前验证
- 文档校验:
validate-all.sh docs/zh-CN/abstractions/index.md:通过validate-all.sh docs/zh-CN/abstractions/ecs-arch-abstractions.md:通过validate-all.sh docs/zh-CN/api-reference/index.md:通过validate-all.sh docs/zh-CN/core/index.md:通过validate-all.sh docs/zh-CN/abstractions/core-abstractions.md:通过
- 构建校验:
cd docs && bun run build:通过DOTNET_CLI_HOME=/tmp/dotnet-home dotnet build GFramework.Core.Abstractions/GFramework.Core.Abstractions.csproj -c Release -p:RestoreFallbackFolders=:通过,0 Warning(s) / 0 Error(s)dotnet build GFramework.Ecs.Arch.Abstractions/GFramework.Ecs.Arch.Abstractions.csproj -c Release -p:RestoreFallbackFolders=:通过,0 Warning(s) / 0 Error(s)
当前验证(RP-002)
- 文档校验:
validate-all.sh docs/zh-CN/core/index.md:通过validate-all.sh docs/zh-CN/abstractions/core-abstractions.md:通过
- 构建校验:
cd docs && bun run build:通过;仅保留 VitePress 大 chunk warning,无构建失败
当前恢复点:RP-003
- 完成
Ecs.Arch波次的运行时文档刷新:docs/zh-CN/ecs/index.mddocs/zh-CN/ecs/arch.mdGFramework.Ecs.Arch/README.md
- 为
Ecs.Arch.Abstractions补齐与运行时页同粒度的 XML inventory:GFramework.Ecs.Arch.Abstractions/README.mddocs/zh-CN/abstractions/ecs-arch-abstractions.md
- 明确记录一个关键采用事实:
UseArch(...)必须早于Initialize()调用- 该结论以
ArchExtensions的模块注册方式和ExplicitRegistrationTests为证据
- 将
Ecs.Archfamily 从“入口存在但失真”推进到“README / landing / abstractions / XML inventory 已对齐源码与测试”
当前决策(RP-003)
Ecs波次继续采用与Core相同的治理粒度:- 模块 README 承担仓库入口
docs/zh-CN/ecs/index.md承担模块族 landingdocs/zh-CN/ecs/arch.md承担运行时默认实现专题页docs/zh-CN/abstractions/ecs-arch-abstractions.md承担契约边界专题页
EnableStatistics当前仅保留在公开配置面上;文档不再把它写成已验证的运行时行为- 下一恢复点切换到
Cqrs波次,优先解决入口分散和 API / XML 阅读链路不统一的问题
当前验证(RP-003)
- 文档校验:
validate-all.sh docs/zh-CN/ecs/index.md:通过validate-all.sh docs/zh-CN/ecs/arch.md:通过validate-all.sh docs/zh-CN/abstractions/ecs-arch-abstractions.md:通过
- 构建校验:
cd docs && bun run build:通过;仅保留 VitePress 大 chunk warning,无构建失败
下一步
- 在
Cqrs波次核对模块 README、docs/zh-CN/core/cqrs.md与docs/zh-CN/source-generators/**的真实 owner - 决定
Cqrsfamily 是补 dedicated landing 还是拆分现有入口页
当前恢复点:RP-004
- 完成
Cqrs波次的模块族入口刷新:- 重写
docs/zh-CN/core/cqrs.md - 新建
docs/zh-CN/source-generators/cqrs-handler-registry-generator.md - 更新
docs/zh-CN/source-generators/index.md - 更新
docs/zh-CN/api-reference/index.md - 更新
docs/.vitepress/config.mts
- 重写
- 将
Cqrsfamily 从“README 已存在但 generator 入口分散”推进到“runtime / abstractions / source generator 都有明确站内入口” - 为
GFramework.Cqrs/Internal/CqrsHandlerRegistrar.cs与GFramework.Cqrs.SourceGenerators/Cqrs/CqrsHandlerRegistryGenerator.cs中缺失的内部类型补齐 XML 注释 - 基于轻量扫描确认:
GFramework.Cqrs.Abstractions/Cqrs/当前类型声明级 XML 覆盖为20/20GFramework.Cqrs根入口与Internal/已补到19/19GFramework.Cqrs.SourceGenerators/Cqrs/当前类型声明级 XML 覆盖为3/3
当前决策(RP-004)
docs/zh-CN/core/cqrs.md继续保留在Core栏目,但其角色调整为Cqrsfamily landing,而不再只是 runtime 简介页Cqrs.SourceGenerators不单独新建一级导航栏目,而是在source-generators栏目内补一个专用专题页,保持站点 taxonomy 稳定- generator 入口以“专题页 + API reference 链接 + sidebar”三点联动,而不是只在
source-generators/index.md留一个段落链接 - XML inventory 仍维持“类型声明级基线”口径,不在本轮扩展成成员级
param/returns/exception细审
当前验证(RP-004)
- 文档校验:
validate-all.sh docs/zh-CN/core/cqrs.md:通过validate-all.sh docs/zh-CN/source-generators/cqrs-handler-registry-generator.md:通过
- 轻量 XML inventory:
GFramework.Cqrs/Internal/:14/14GFramework.Cqrs.Abstractions/Cqrs/:20/20GFramework.Cqrs.SourceGenerators/Cqrs/:3/3
- 构建校验:
dotnet build GFramework.Cqrs.SourceGenerators/GFramework.Cqrs.SourceGenerators.csproj -c Release -p:RestoreFallbackFolders=:通过cd docs && bun run build:通过;仅保留 VitePress 大 chunk warning,无构建失败dotnet build GFramework.Cqrs/GFramework.Cqrs.csproj -c Release:失败;当前 WSL / dotnet 环境仍引用失效的 Windows fallback package folder,并在多目标 inner build 阶段触发MSB4276/MSB4018
下一步
- 切换到
Gamefamily 波次,按Core/Ecs/Cqrs已验证模板继续补 XML inventory 与教程链路 - 把
GFramework.Cqrs的本地构建阻塞留给后续环境治理或构建脚本清理,不在本 topic 内扩张为环境修复任务
当前恢复点:RP-005
- 完成
Game波次的模块族入口刷新:- 更新
GFramework.Game/README.md - 更新
GFramework.Game.Abstractions/README.md - 更新
GFramework.Game.SourceGenerators/README.md - 更新
docs/zh-CN/game/index.md - 重写
docs/zh-CN/abstractions/game-abstractions.md
- 更新
- 将
Gamefamily 从“README / 页面存在但缺少可审计 XML 入口,且 abstractions 页失真”推进到“runtime / abstractions / source generator 都有声明级 XML inventory 与真实采用边界” - 基于轻量扫描确认:
GFramework.Game当前类型声明级 XML 覆盖为56/56GFramework.Game.Abstractions当前类型声明级 XML 覆盖为80/80GFramework.Game.SourceGenerators当前类型声明级 XML 覆盖为2/2
当前决策(RP-005)
docs/zh-CN/abstractions/game-abstractions.md不再维护虚构接口摘录,而是与源码中的Config/Data/Setting/Scene/UI/Routing契约分组保持一致Game.SourceGenerators继续以README + docs/zh-CN/game/config-system.md + docs/zh-CN/source-generators/index.md组成入口,不额外新增只为凑数量的专题页docs/zh-CN/game/index.md补 frontmatter,并承担Gamefamily 的 XML 基线入口;更细的类型族说明继续留在模块 README 与 abstractions 页
当前验证(RP-005)
- 文档校验:
validate-all.sh docs/zh-CN/abstractions/game-abstractions.md:通过validate-all.sh docs/zh-CN/game/index.md:通过
- 轻量 XML inventory:
GFramework.Game:56/56GFramework.Game.Abstractions:80/80GFramework.Game.SourceGenerators:2/2
- 构建校验:
cd docs && bun run build:通过;仅保留 VitePress 大 chunk warning,无构建失败
下一步
- 进入
Gamefamily 巡检,优先检查config-system.md、scene.md、ui.md与source-generators/index.md的交叉引用是否回漂 - 评估是否需要把
Godotfamily 的关键 XML inventory 摘要迁回 active topic,减少对 archive 的依赖
当前恢复点:RP-006
- 更新
AGENTS.md的 WSL Git 规则:- 将显式
git --git-dir=<...> --work-tree=<...>绑定提升为高于git.exe的默认优先级 - 明确 plain Linux
git命中 worktree 路径翻译错误时,应先切到显式绑定而不是直接改用git.exe - 明确
git.exe只有在当前会话可执行时才作为次级 fallback
- 将显式
- 记录本次恢复任务的环境偏差:
git.exe在当前 WSL 会话中可解析,但执行会触发Exec format error- plain
git会把 worktree 元数据路径翻译错并报“not a git repository” - 显式
--git-dir/--work-tree绑定是本次已验证可用的 Git 操作方式
当前决策(RP-006)
- 把 Git 回退顺序写进
AGENTS.md,而不是只留在一次性的聊天上下文里 - 不额外扩张
gframework-bootskill,因为它本身不内嵌 Git 选择逻辑,继续由AGENTS.md作为唯一准则 - 继续把
git.exe保留为 fallback,而不是完全删除,避免在可执行的 WSL 会话里丢掉可用路径
当前验证(RP-006)
- 构建校验:
cd docs && bun run build:通过;仅保留 VitePress 大 chunk warning,无构建失败
下一步
- 继续
Gamefamily 巡检,优先检查config-system.md、scene.md、ui.md与source-generators/index.md的交叉引用是否回漂 - 评估是否需要把
Godotfamily 的关键 XML inventory 摘要迁回 active topic,减少对 archive 的依赖