Merge pull request #1840 from pikasTech/fix/1838-pr-create-next
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success

修正 gh pr create 默认 Next
This commit is contained in:
Lyon
2026-07-12 17:14:30 +08:00
committed by GitHub
6 changed files with 182 additions and 23 deletions
@@ -67,6 +67,6 @@
解决 [UniDesk #1837](https://github.com/pikasTech/unidesk/issues/1837):前向兼容 [AgentRun #319](https://github.com/pikasTech/agentrun/issues/319) 的 durable runnerAdmission 成功响应,在 text/JSON/YAML 有界投影中展示 mode/state/reason/disposition、run/command/dispatchIntent/plannedRunner identity、mutation/partialWrite/recoveredPriorPartialWrite、retryability 与正式只读下钻;明确 planned runner 不等于 Kubernetes Job 已创建。旧 manager 未返回该字段时保持现有合同;只做 render-only,不在 UniDesk 实现 dispatcher/session 状态机,先合并 consumer 再合并 AgentRun producer,最终用原 Artificer session 验收,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.7_Task_Report.md)。
### R3.8 [in_progress]
### R3.8 [completed]
解决 [UniDesk #1838](https://github.com/pikasTech/unidesk/issues/1838):清理 gh pr create 默认输出中与自动 PR monitor/自动 CI/CD 冲突的手工 merge 和 preflight --full Next;默认只展示有界 PR observe/preflight/status,并以 typed 状态区分等待自动合并、review/check blocker 与自动链异常。手工 merge、--full/--raw 只在用户明确授权或显式披露时出现;同步修正相关 skill、长期参考和测试 fixture,禁止用错误提示诱导人工补链,完成任务后将详细报告写入[任务报告](./details/cli-output-progressive-disclosure/R3.8_Task_Report.md)。
@@ -0,0 +1,58 @@
# R3.8 任务报告
## 结论
已解决 [UniDesk #1838](https://github.com/pikasTech/unidesk/issues/1838) 中 `gh pr create` 默认 Next 误导问题。
`gh pr create` 默认输出现在只给有界的 PR observe/review/preflight/status
- `gh pr view <pr-number>`
- `gh pr review-plan <pr-number>`
- `gh pr preflight <pr-number>`
- `gh pr view <pr-number> --json headRefName,baseRefName,mergeable,mergeStateStatus,statusCheckRollup`
默认 Next 不再提示:
- `gh pr merge ...`
- `preflight --full``preflight --raw`
- 手工 CI/CD
- mirror sync
- PipelineRun
- Argo refresh。
同时保留主代理受控合并边界:
- `gh pr create` 不把 merge 作为默认下一步;
- 主代理仍可按 `$unidesk-subagent` 完成 review/preflight/merge 判断后,通过 guarded `gh pr merge` 执行授权合并;
- 该限制不能解释成“PR 永远不能人工受控合并”。
## 变更
- `scripts/src/gh/pr-commands.ts`
- 增加 `bounded-pr-create-next` 结构化 `next`
- 增加 `waiting-pr-monitor``review-or-check-blocker``automatic-delivery-anomaly` typed 状态说明;
- 默认文本 Next 改为 observe/review/preflight/status
- Disclosure 改为说明 `--full|--raw` 与 merge/delivery 命令需要显式披露或合并授权。
- `scripts/src/gh-pr-create-render.test.ts`
- 固定 ready PR 创建后的默认 Next 合同;
- 固定 dry-run 不再提示 post-create merge。
- `.agents/skills/unidesk-gh/SKILL.md``references/pull-requests.md`
- 同步 `pr create` 默认 Next 边界;
- 明确主代理受控 merge 仍然允许。
## 验证
- `bun test scripts/src/gh-pr-create-render.test.ts`
- 2 pass0 fail。
- `bun test scripts/src/gh-pr-ready.test.ts`
- 7 pass0 fail。
- `bun scripts/cli.ts gh pr create --repo pikasTech/unidesk --title "R3.8 dry-run" --base master --head fix/1838-pr-create-next --dry-run --body-stdin`
- 默认 Next 只包含 rerun、observe、review、preflight、status 和 `$unidesk-subagent` 流程提示;
- 未出现 `gh pr merge`
- 未出现 `preflight --full`
## 未执行
- 未合并 PR。
- 未部署。
- 未触发 CI/CD、mirror sync、PipelineRun 或 Argo refresh。