GFramework/ai-plan/public/documentation-governance-and-refresh/traces/documentation-governance-and-refresh-trace.md
GeWuYou fe4fd1aa5e fix(pr-review): 补齐多AI评审覆盖并收口文档层级
- 新增 gframework-pr-review 对 greptile-apps 的 reviewer 摘要、thread 计数与 skill 描述

- 修复 fetch_current_pr_review.py 的 reviewer 聚合输出与函数 docstring 覆盖

- 修复 Scene/UI 文档的最小接入路径标题层级问题

- 修复 validate-code-blocks.sh 的 code fence 判断与 module-config 的 README 映射
2026-04-22 11:05:27 +08:00

3.3 KiB
Raw Blame History

Documentation Governance And Refresh Trace

2026-04-22

当前恢复点RP-010

  • 本轮从 PR #268 的最新 review 数据恢复未发现失败检查CTRF 报告显示 2139 个测试全部通过
  • 本轮复核确认当前 PR 的 latest-head open thread 同时来自 coderabbitai[bot]greptile-apps[bot]
  • 已本地修复仍然成立的 review
    • docs/zh-CN/game/scene.md 把“推荐目录与文件约定(项目侧)”降为“最小接入路径”下的子节
    • docs/zh-CN/game/ui.md 为“最小接入路径”补充导语,并修复同级标题错位
    • .agents/skills/gframework-doc-refresh/scripts/validate-code-blocks.sh 改成 opening / closing fence 状态机
    • .agents/skills/_shared/module-config.sh 补齐缺失模块映射,并让未映射模块返回非零退出码
  • gframework-pr-review 已从文案和输出模型两侧补齐多 reviewer 支持:当前 JSON 会单独给出 review_agents 以及 open_thread_counts_by_user,文本输出会显式列出 CodeRabbit / Greptile
  • fetch_current_pr_review.py 的本地函数 docstring 覆盖率已补到 44/44
  • 已闭环 RP-001 到 RP-008 的执行细节已归档到 ai-plan/public/documentation-governance-and-refresh/archive/traces/documentation-governance-and-refresh-rp-001-through-rp-008.md

当前决策

  • active trace 只保留当前恢复点、关键事实、验证和下一步;完成阶段继续进入 archive/traces/
  • scene.mdui.md 的集成说明除目录布局外,也要保证标题层级能真实反映采用路径语义
  • gframework-pr-review 继续以 latest-head unresolved thread 为主信号,同时显式声明支持的 AI reviewer 名单,避免 skill 声明与实际抓取能力再次漂移

验证

  • python3 -B .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --branch docs/sdk-update-documentation --format json --json-output /tmp/current-pr-review.json
  • python3 -B .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --branch docs/sdk-update-documentation --section open-threads
  • python3 -B -c "import ast, pathlib; path=pathlib.Path('.agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py'); tree=ast.parse(path.read_text(encoding='utf-8')); funcs=[node for node in ast.walk(tree) if isinstance(node,(ast.FunctionDef, ast.AsyncFunctionDef))]; documented=sum(1 for node in funcs if ast.get_docstring(node)); print(f'functions={len(funcs)} documented={documented} coverage={documented/len(funcs):.2%}')"
  • bash .agents/skills/gframework-doc-refresh/scripts/validate-code-blocks.sh docs/zh-CN/game/scene.md
  • bash .agents/skills/gframework-doc-refresh/scripts/validate-code-blocks.sh docs/zh-CN/game/ui.md
  • bash -lc 'source .agents/skills/_shared/module-config.sh && get_readme_paths Core.SourceGenerators.Abstractions && if get_readme_paths Not.Real.Module; then exit 1; else echo unmapped-ok; fi'
  • cd docs && bun run build

下一步

  1. 下一次推送后重新执行 $gframework-pr-review,确认 PR #268 的 CodeRabbit / Greptile open thread 是否关闭或减少
  2. 继续使用 gframework-doc-refreshGodot.SourceGenerators 做真实模块扫描
  3. 优先刷新 godot-project-generator.mdget-node-generator.mdbind-node-signal-generator.md