feat(ack): add one-off delivery routing
This commit is contained in:
@@ -15,6 +15,16 @@
|
||||
|
||||
## 常见用法
|
||||
|
||||
### 通过 ACK 只创建普通 PR
|
||||
|
||||
```text
|
||||
$ack 把当前分支推送并创建一个指向 main 的 PR,不要合并。
|
||||
```
|
||||
|
||||
ACK 会把这类一次性请求路由到 `manage-release` 的 PR-only 流程。Agent 只核对当前
|
||||
head、base、remote、提交边界、验证和 Forge 账号,然后创建或复用 PR;不会顺带升级
|
||||
版本、创建 release 分支、合并、打 tag 或创建 Forge Release。
|
||||
|
||||
### 确定下一个版本号
|
||||
|
||||
```text
|
||||
@@ -106,5 +116,6 @@ Agent 会先发现项目自己的版本、分支和发布规则,再检查本
|
||||
## 不适用的场景
|
||||
|
||||
普通功能开发、普通 worktree 或 PR/MR 操作、代码审查、构建 Docker 镜像或上传 DEB 包
|
||||
不需要触发 `manage-release`。只有任务明确涉及版本发布、发布分支、版本号、发布 PR/MR
|
||||
或 release tag 时,才交给这个 Skill。
|
||||
不需要直接触发 `manage-release`。只有任务明确涉及版本发布、发布分支、版本号、发布
|
||||
PR/MR 或 release tag,或者用户显式调用 `$ack` 要求 PR-only 委派时,才交给这个
|
||||
Skill。
|
||||
|
||||
@@ -8,6 +8,8 @@ description: >-
|
||||
升版本、提交或合并发布 PR/MR、打 release tag、完成发版、处理 hotfix 或继续未完成
|
||||
发布时使用。只做普通编码、普通 worktree 或 PR/MR 操作、代码审查、构建或上传
|
||||
DEB/Docker 等产物、管理仓库权限时不使用。
|
||||
由显式调用的 `$ack` 根据用户明确的普通 PR/MR 请求路由时,可只执行本文的
|
||||
PR-only 流程,不把它扩大成版本发布。
|
||||
---
|
||||
|
||||
# Manage Release
|
||||
@@ -28,6 +30,18 @@ description: >-
|
||||
|
||||
## 授权边界
|
||||
|
||||
### ACK PR-only 委派
|
||||
|
||||
当且仅当用户显式调用 `$ack`,且 ACK 把用户原始的普通 PR/MR 请求委派给本 Skill 时,
|
||||
使用 PR-only 流程:执行“发现项目规则和当前状态”,锁定准确 head、base、remote、
|
||||
worktree、验证命令与活动 Forge 账号,然后只执行“推送并创建 PR/MR”及其完成检查。
|
||||
用户没有明确要求时,不创建 release 分支、不修改版本或 CHANGELOG、不合并、不打 tag、
|
||||
不创建 Forge Release、不清理分支或 worktree。缺少 head/base/remote、提交边界或平台
|
||||
认证时按硬停止条件报告,不把普通 PR 伪装成发布。
|
||||
|
||||
ACK 只负责路由,不增加授权。Operator 收到的原始请求仍是权限上限;“创建 PR”只授权
|
||||
为准确 head/base 创建或复用 PR,不自动授权合并。
|
||||
|
||||
按用户明确要求执行到对应阶段:
|
||||
|
||||
- 分析版本或检查状态:只执行读取和计算,不修改文件或远端。
|
||||
@@ -46,6 +60,9 @@ description: >-
|
||||
|
||||
## 工作流
|
||||
|
||||
PR-only 仍按以下章节做实时状态发现与安全检查,但跳过与用户请求无关的版本计算、
|
||||
release worktree、版本文件、合并和 tag 阶段。已有用户工作不得被 stash、移动或覆盖。
|
||||
|
||||
### 1. 发现项目规则和当前状态
|
||||
|
||||
从项目根目录开始:
|
||||
|
||||
Reference in New Issue
Block a user