@weotro/dx 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ description: 仅在用户显式调用 $oo-ship-issue-pr、/oo-ship-issue-pr 或
|
|
|
5
5
|
|
|
6
6
|
# OO Ship Issue PR
|
|
7
7
|
|
|
8
|
-
Codex
|
|
8
|
+
Codex 入口:主进程执行轻改动,直接派出 fresh Codex subagent 承接重改动的方案讨论、实现与独立审查;subagent 不可用时由主进程降级接管并如实记录。
|
|
9
9
|
|
|
10
10
|
## 步骤一:加载共享流程
|
|
11
11
|
|
|
@@ -18,7 +18,7 @@ test -f "$SHIP_CORE"
|
|
|
18
18
|
完整读取 `SHIP_CORE` 后执行全部阶段。运行时映射如下:
|
|
19
19
|
|
|
20
20
|
- 主进程:当前 Codex。
|
|
21
|
-
-
|
|
21
|
+
- 外部专家:fresh Codex subagent;每个专家阶段新建独立上下文,不复用方案讨论、实现或修复 agent 执行审查。
|
|
22
22
|
- 入口显示名:`OO Ship Issue PR`。
|
|
23
23
|
- Follow-up:Codex `spawn_agent` 的 `worker` 角色。
|
|
24
24
|
|
|
@@ -2,90 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
仅在共享流程进入外部专家或 follow-up 分支时读取。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Fresh Codex subagent 专家通道
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
共享流程中的“外部专家”在本入口指独立上下文的 Codex subagent,不要求跨模型或第三方 CLI。每个专家阶段直接调用 Codex `spawn_agent` 创建全新的 `worker`,不复用此前 agent,尤其不让实现或修复 agent 审查自己的改动。使用 `fork_turns: "none"`;若当前工具不提供该参数,使用其支持的新会话方式且不传已有会话 ID,在 prompt 中完整提供任务上下文。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
### 派发上下文与权限
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
每次 prompt 必须包含:
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
1. Fable 返回 0:接受结果,不调用 Opus。
|
|
20
|
-
2. Fable 非零,且输出明确表示当前模型的使用额度、配额或 credits 已耗尽(例如 `hit your limit`、`usage limit`、`quota exceeded`、`credit balance is too low`、`insufficient credits` 或带重置时间的额度提示):只重试一次 Opus。
|
|
21
|
-
3. Fable 的失败属于未登录、认证、网络、超时、无效模型、参数、权限、工具或其他非额度错误:保留原错误,不调用 Opus,把 Claude 通道标记为“本次不可用”,立即进入 fresh subagent 回退。
|
|
22
|
-
4. Opus 返回 0:接受 Opus 结果,并在阶段报告中记录本轮实际模型为 `Claude Opus 5`。
|
|
23
|
-
5. Opus 失败:记录 Fable 与 Opus 两次证据,把 Claude 通道标记为“本次不可用”,停止 Claude 重试并立即进入 fresh subagent 回退。不得继续循环或换用其他 Claude 模型。
|
|
24
|
-
|
|
25
|
-
下面命令块中的 `fable` 是首选尝试。命令非零时同时检查 stdout 与 stderr;只有命中上述额度回退条件,才将 `--model fable` 替换为 `--model opus` 原样重跑一次。重试前清空或更换 `RESULT_FILE`,避免把 Fable 的部分输出混入 Opus 结果。
|
|
13
|
+
- 当前 worktree 的绝对路径,以及只在该 worktree 工作。
|
|
14
|
+
- 当前阶段是只读方案讨论、只读 review、adversarial review、实现还是修复;只承接这一阶段,不运行完整 `oo-ship-issue-pr`。
|
|
15
|
+
- Issue 原文、逐条验收标准、base、主进程初步方案或最终方案,以及该阶段所需的 diff、已确认问题和验证上下文。
|
|
16
|
+
- 先读取根与涉及目录的 `AGENTS.md`;它不是代码库中唯一执行者,保护已有未提交改动,不回退其他人的修改。
|
|
17
|
+
- 只读阶段保持工作树不变;实现或修复阶段的所有权限定为 prompt 列出的验收范围和涉及文件,改动留在工作树。
|
|
18
|
+
- 不 commit、不 push、不操作 GitHub、不递归委派;最后返回证据、结论、修改路径和未运行验证。
|
|
26
19
|
|
|
27
20
|
### 只读讨论、review 与 adversarial review
|
|
28
21
|
|
|
29
|
-
|
|
22
|
+
prompt 明确要求只读、不执行任何写操作,并直接读取源码和 `git diff <base>...HEAD` 取证。
|
|
30
23
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
--effort medium \
|
|
35
|
-
--permission-mode plan \
|
|
36
|
-
--tools "Read,Grep,Glob,Bash" \
|
|
37
|
-
--no-session-persistence \
|
|
38
|
-
< "$PROMPT_FILE" > "$RESULT_FILE"
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
prompt 要求只读、不修改文件、不执行 Git/GitHub 写操作、不递归委派,并直接读取源码和 `git diff <base>...HEAD` 取证。
|
|
42
|
-
|
|
43
|
-
- 普通 review 以 findings 为主,按严重级排序;每项包含严重级、`文件:行号`、证据、影响和具体修法。
|
|
44
|
-
- adversarial review 先挑战方案假设、构造反例和失败路径,再输出同样格式的 findings;没有证据的问题不进入报告。
|
|
24
|
+
- 方案讨论:围绕主进程初步方案、备选与取舍、希望裁决的具体问题返回建议;最终方案由主进程拍板。
|
|
25
|
+
- 普通 review:以 findings 为主,按严重级排序;每项包含严重级、`文件:行号`、证据、影响和具体修法。
|
|
26
|
+
- adversarial review:先挑战方案假设、构造反例和失败路径,再输出同样格式的 findings;没有证据的问题不进入报告。
|
|
45
27
|
|
|
46
28
|
### 重改动实现与修复
|
|
47
29
|
|
|
48
|
-
|
|
49
|
-
claude -p \
|
|
50
|
-
--model fable \
|
|
51
|
-
--effort medium \
|
|
52
|
-
--permission-mode acceptEdits \
|
|
53
|
-
--tools "Read,Grep,Glob,Edit,Write,Bash" \
|
|
54
|
-
--no-session-persistence \
|
|
55
|
-
< "$PROMPT_FILE" > "$RESULT_FILE"
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
prompt 必须包含 Issue、逐条验收标准、最终方案、涉及目录和 `AGENTS.md` 路由,并要求只改验收范围、不 commit、不 push、不碰 GitHub、不递归委派、保护已有未提交改动,最后报告修改路径和未运行验证。
|
|
59
|
-
|
|
60
|
-
## Claude 不可用时的 fresh subagent
|
|
61
|
-
|
|
62
|
-
可用性探测失败、当前调用在模型额度回退后仍无有效结果,或因安装、登录、认证、网络、超时、参数、权限、工具等原因无法使用 Claude 时,主进程立即调用 Codex `spawn_agent` 创建一个全新的 `worker` subagent 接管当前外部专家阶段。Claude 通道同时进入“本次不可用”状态,后续外部专家阶段直接走本节,不再尝试 Claude。每次回退都新建 agent,不复用此前 agent;使用 `fork_turns: "none"`,在 prompt 中完整提供任务上下文。
|
|
63
|
-
|
|
64
|
-
fallback prompt 必须包含:
|
|
65
|
-
|
|
66
|
-
- 当前 worktree 的绝对路径,以及只在该 worktree 工作。
|
|
67
|
-
- 当前阶段是只读方案讨论、只读 review、adversarial review、实现还是修复;只承接这一阶段,不运行完整 `oo-ship-issue-pr`。
|
|
68
|
-
- Issue 原文、逐条验收标准、base、主进程初步方案或最终方案,以及该阶段所需的 diff、已确认问题和验证上下文。
|
|
69
|
-
- 先读取根与涉及目录的 `AGENTS.md`;它不是代码库中唯一执行者,保护已有未提交改动,不回退其他人的修改。
|
|
70
|
-
- 只读阶段保持工作树不变;实现或修复阶段的所有权限定为 prompt 列出的验收范围和涉及文件,改动留在工作树。
|
|
71
|
-
- 不 commit、不 push、不操作 GitHub、不调用 Claude、不递归委派;最后返回证据、结论、修改路径和未运行验证。
|
|
72
|
-
|
|
73
|
-
主进程等待 fresh subagent 返回后按外部专家的同一标准逐条复核,再继续共享流程。`spawn_agent` 本身不可用或派发失败时,主进程直接完成同一阶段并记录 `Codex 主进程降级`;Claude 通道不可用和 subagent 派发失败都不得单独中断交付链。
|
|
30
|
+
prompt 附最终方案原文,要求只改验收范围,最后报告修改路径、已运行验证和未运行验证及原因。Git 历史、GitHub、权威验证和最终事实核验始终由 Codex 主进程负责。
|
|
74
31
|
|
|
75
32
|
## 结果、等待与补跑
|
|
76
33
|
|
|
77
|
-
|
|
34
|
+
通过当前运行时提供的等待/结果工具等待本次 agent 完成并读取完整报告;派发成功或拿到 agent ID 不算阶段完成。可写 agent 执行期间主进程不并发修改其所有权范围内的文件,返回且确认不再写入后才接管。
|
|
35
|
+
|
|
36
|
+
`spawn_agent` 不可用、派发失败、执行失败或超时时,记录 agent ID(如有)与原因;若已启动,先终止或确认 agent 已停止,检查部分改动后,再由主进程完成同一阶段并记录 `Codex 主进程降级`。无法确认可写 agent 已停止时,报告阻塞,避免并发覆盖。单纯的 subagent 不可用不应中断交付链,但主进程自审不得冒充独立审查。
|
|
78
37
|
|
|
79
|
-
|
|
38
|
+
subagent 执行过的验证只作参考;prompt 必须附本阶段主进程需补跑的验证清单,要求 subagent 列出因沙箱、权限或依赖限制未运行的项目。阶段五及后续轮次要求的全部权威验证由 Codex 主进程重新执行并阅读最新输出。
|
|
80
39
|
|
|
81
|
-
|
|
40
|
+
fresh subagent 返回后,Codex 主进程逐条直读源码和 diff 复核,合并重复项并记录拒绝依据,再继续共享流程。
|
|
82
41
|
|
|
83
42
|
## 阶段与报告映射
|
|
84
43
|
|
|
85
|
-
-
|
|
86
|
-
- 阶段四实现与阶段 7.4
|
|
87
|
-
- 阶段 7.3:复杂度门禁命中且本 PR 尚未用过外部专家审查时执行 review;需要挑战方案时执行 adversarial review。成功返回的 fresh Codex subagent 计入本 PR 唯一一次外部专家审查,Codex
|
|
88
|
-
- reviewer:`Codex 主进程自审 /
|
|
44
|
+
- 阶段四方案讨论:只读 fresh Codex subagent。
|
|
45
|
+
- 阶段四实现与阶段 7.4 重修复:可写 fresh Codex subagent。
|
|
46
|
+
- 阶段 7.3:复杂度门禁命中且本 PR 尚未用过外部专家审查时执行 review;需要挑战方案时执行 adversarial review。成功返回的 fresh Codex subagent 计入本 PR 唯一一次外部专家审查,Codex 主进程降级不计入;已有报告中的历史外部专家审查仍按共享流程计数。
|
|
47
|
+
- reviewer:`Codex 主进程自审 / fresh Codex subagent review / fresh Codex subagent adversarial review / Codex 主进程降级 review / Codex 主进程降级 adversarial review`,按本轮实际执行者填写;其他专家阶段同样记录实际使用 fresh Codex subagent 或 Codex 主进程降级。
|
|
89
48
|
|
|
90
49
|
## Follow-up
|
|
91
50
|
|