Files
pikasTech-unidesk/docs/MDTODO/details/github-pr-draft-ready-command/R2_Task_Report.md
T
2026-07-14 20:30:50 +02:00

2.3 KiB
Raw Blame History

R2 任务报告

结论

  • pikainc/pikaoa 继续使用 config/unidesk-cli.yaml#github.auth.repositoryOverrides 中既有的 pikainc-selfmedia-gh-token.txt;未修改 Secret sourceRef、运行面 Secret 或 PikaOA 业务。
  • 先前“该 token 只能读、不能 merge”的根因假设已被真实原入口证伪:主代理使用同一受控入口首次成功合并 pikainc/pikaoa#9merge commit 为 0142d2ff47ccfa4eb7543dcee11dd05e0bae2c6c,远端 head branch 删除成功。
  • gh auth status --repo 现在分别披露 repo read、基于 HTTPS git push --dry-run 的 write capability 和 PR merge eligibility。write 探针使用临时 askpass、随机 ref 与 --dry-run,固定报告 writesRemote=false、mutation=false、valuesPrinted=false。
  • PR merge eligibility 只覆盖 token 与仓库写权限;分支保护、检查和 PR 状态仍由 guarded gh pr merge 判定。

非阻塞判定

  • write capability 不可用或未知时,auth status 仍保持可读认证成功,返回 warning=true、blocking=false,不成为业务发布门禁。
  • 使用公开只读仓验证了 repo-read=ok、repo-write/pr-merge=unavailable 且命令退出码为 0。
  • 未新增权限阈值、版本门禁或 YAML 数值策略;探针复用既有 GitHub 请求超时预算。

验证

  • bun --check scripts/src/gh/repository-capability.ts
  • bun --check scripts/src/gh/auth-pr-read.ts
  • bun --check scripts/src/gh/default-render.ts
  • bun --check scripts/src/gh/help.ts
  • bun test scripts/src/gh-token-repository-override.test.ts6 pass0 fail。
  • bun scripts/cli.ts gh auth status --repo pikainc/pikaoaread/write/pr-merge 均 availablewarnings=0valuesPrinted=false。
  • 从 /tmp 调用同一 auth status:成功,证明探针不依赖调用方 cwd。
  • bun scripts/cli.ts gh auth status --repo octocat/Hello-Worldread availablewrite/pr-merge unavailable,非阻塞返回。
  • bun scripts/cli.ts gh pr view 9 --repo pikainc/pikaoa --json title,state,stateDetail,merged,mergedAt,mergeCommit,head,basestateDetail=mergedmerge commit 与主代理证据一致。
  • git diff --check:通过。

风险

  • git push --dry-run 证明 Git contents 写能力,不替代最终 PR merge 的分支保护与检查判断;CLI 已在帮助和输出中明确这一边界。
  • 本任务没有再次执行真实 merge,也没有修改或生成任何 Secret。