openmatrix 0.1.99 → 0.2.2
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/dist/agents/impl/coder-agent.js +42 -42
- package/dist/agents/impl/executor-agent.js +75 -75
- package/dist/agents/impl/planner-agent.js +63 -63
- package/dist/agents/impl/reviewer-agent.js +66 -66
- package/dist/agents/impl/tester-agent.js +56 -56
- package/dist/cli/commands/auto.js +20 -6
- package/dist/cli/commands/complete.js +1 -1
- package/dist/cli/commands/meeting.js +0 -1
- package/dist/cli/commands/report.js +45 -45
- package/dist/cli/commands/start.js +168 -34
- package/dist/cli/commands/status.js +0 -1
- package/dist/cli/commands/step.js +62 -35
- package/dist/orchestrator/ai-reviewer.d.ts +30 -2
- package/dist/orchestrator/ai-reviewer.js +314 -209
- package/dist/orchestrator/answer-mapper.d.ts +1 -0
- package/dist/orchestrator/answer-mapper.js +5 -2
- package/dist/orchestrator/approval-manager.js +14 -13
- package/dist/orchestrator/executor.d.ts +10 -1
- package/dist/orchestrator/executor.js +62 -2
- package/dist/orchestrator/interactive-question-generator.js +4 -3
- package/dist/orchestrator/meeting-manager.js +32 -31
- package/dist/orchestrator/phase-executor.js +9 -6
- package/dist/orchestrator/scheduler.d.ts +8 -6
- package/dist/orchestrator/scheduler.js +53 -22
- package/dist/orchestrator/state-machine.js +2 -2
- package/dist/orchestrator/task-planner.d.ts +83 -4
- package/dist/orchestrator/task-planner.js +702 -124
- package/dist/storage/state-manager.d.ts +6 -0
- package/dist/storage/state-manager.js +28 -0
- package/package.json +55 -55
- package/scripts/build-check.js +19 -19
- package/scripts/install-skills.js +57 -57
- package/skills/approve.md +250 -250
- package/skills/auto.md +298 -298
- package/skills/meeting.md +324 -324
- package/skills/om.md +112 -112
- package/skills/openmatrix.md +112 -112
- package/skills/start.md +38 -6
- package/dist/cli/commands/upgrade.d.ts +0 -2
- package/dist/cli/commands/upgrade.js +0 -329
- package/dist/orchestrator/task-planner.old.d.ts +0 -87
- package/dist/orchestrator/task-planner.old.js +0 -444
package/skills/approve.md
CHANGED
|
@@ -1,250 +1,250 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: om:approve
|
|
3
|
-
description: 审批待处理项(包括计划、合并、部署、Meeting)
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<NO-OTHER-SKILLS>
|
|
7
|
-
执行此技能时,不得调用 superpowers、gsd 或其他任务编排相关的技能。OpenMatrix 独立运行,不依赖外部任务编排系统。
|
|
8
|
-
</NO-OTHER-SKILLS>
|
|
9
|
-
|
|
10
|
-
<objective>
|
|
11
|
-
处理所有需要人工决策的待审批项,包括阻塞问题、技术决策、计划审批等。
|
|
12
|
-
</objective>
|
|
13
|
-
|
|
14
|
-
<process>
|
|
15
|
-
1. **获取待审批列表**
|
|
16
|
-
```bash
|
|
17
|
-
openmatrix approve
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
2. **如果没有待审批项**
|
|
21
|
-
```
|
|
22
|
-
✅ 没有待审批项
|
|
23
|
-
|
|
24
|
-
当前执行状态:
|
|
25
|
-
- 运行中任务: X
|
|
26
|
-
- 已完成: Y
|
|
27
|
-
- 总计: Z
|
|
28
|
-
|
|
29
|
-
使用 /om:status 查看详情
|
|
30
|
-
```
|
|
31
|
-
如果有多个,让用户选择要处理的审批
|
|
32
|
-
|
|
33
|
-
3. **展示审批内容** (根据类型区分)
|
|
34
|
-
|
|
35
|
-
**Plan 审批:**
|
|
36
|
-
```
|
|
37
|
-
🔔 待审批: APPR-001
|
|
38
|
-
|
|
39
|
-
📋 类型: 📝 Plan 审批
|
|
40
|
-
🎯 任务: TASK-XXX
|
|
41
|
-
|
|
42
|
-
## 执行计划
|
|
43
|
-
|
|
44
|
-
### Phase 1: 设计阶段
|
|
45
|
-
└─ TASK-001: 架构设计 (15min)
|
|
46
|
-
|
|
47
|
-
### Phase 2: 开发阶段
|
|
48
|
-
├─ TASK-002: 数据模型 (20min)
|
|
49
|
-
└─ TASK-003: API 接口 (30min)
|
|
50
|
-
|
|
51
|
-
📊 统计
|
|
52
|
-
- 总任务: 3
|
|
53
|
-
- 预计耗时: ~1小时
|
|
54
|
-
|
|
55
|
-
## 选项
|
|
56
|
-
|
|
57
|
-
[A] ✅ 批准 - 按此计划执行
|
|
58
|
-
[B] ✏️ 修改 - 需要调整计划
|
|
59
|
-
[C] ❌ 拒绝 - 重新规划
|
|
60
|
-
|
|
61
|
-
请选择: _
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**Meeting 审批 (阻塞问题):**
|
|
65
|
-
```
|
|
66
|
-
🔔 待审批: APPR-002
|
|
67
|
-
|
|
68
|
-
📋 类型: 🔴 Meeting (阻塞)
|
|
69
|
-
🎯 任务: TASK-XXX
|
|
70
|
-
|
|
71
|
-
## 阻塞问题描述
|
|
72
|
-
|
|
73
|
-
**原因**: [阻塞原因]
|
|
74
|
-
**时间**: [发生时间]
|
|
75
|
-
|
|
76
|
-
## 影响范围
|
|
77
|
-
|
|
78
|
-
- TASK-XXX: 下游任务1
|
|
79
|
-
- TASK-YYY: 下游任务2
|
|
80
|
-
|
|
81
|
-
## 可选操作
|
|
82
|
-
|
|
83
|
-
[A] 💡 提供信息 - 提供解决阻塞所需的信息
|
|
84
|
-
[B] ⏭️ 跳过任务 - 标记为可选,继续执行
|
|
85
|
-
[C] 🔄 修改方案 - 调整任务方案
|
|
86
|
-
[D] ❌ 取消执行 - 停止整个流程
|
|
87
|
-
|
|
88
|
-
请选择: _
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**Meeting 审批 (技术决策):**
|
|
92
|
-
```
|
|
93
|
-
🔔 待审批: APPR-003
|
|
94
|
-
|
|
95
|
-
📋 类型: 🤔 Meeting (决策)
|
|
96
|
-
🎯 任务: TASK-XXX
|
|
97
|
-
|
|
98
|
-
## 决策点
|
|
99
|
-
|
|
100
|
-
**问题**: [需要决策的技术问题]
|
|
101
|
-
|
|
102
|
-
## 可选方案
|
|
103
|
-
|
|
104
|
-
1. 方案A - [描述] (推荐)
|
|
105
|
-
- 优点: ...
|
|
106
|
-
- 缺点: ...
|
|
107
|
-
|
|
108
|
-
2. 方案B - [描述]
|
|
109
|
-
- 优点: ...
|
|
110
|
-
- 缺点: ...
|
|
111
|
-
|
|
112
|
-
## 选项
|
|
113
|
-
|
|
114
|
-
[A] 选择方案1 (推荐)
|
|
115
|
-
[B] 选择方案2
|
|
116
|
-
[C] 自定义方案 - 输入您自己的方案
|
|
117
|
-
[D] 需要更多信息 - 暂不决策,先获取更多信息
|
|
118
|
-
|
|
119
|
-
请选择: _
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
4. **处理用户选择**
|
|
123
|
-
|
|
124
|
-
使用 `AskUserQuestion` 工具进行交互:
|
|
125
|
-
|
|
126
|
-
```typescript
|
|
127
|
-
AskUserQuestion({
|
|
128
|
-
questions: [{
|
|
129
|
-
question: "请选择审批操作:",
|
|
130
|
-
header: "审批",
|
|
131
|
-
options: [
|
|
132
|
-
{ label: "批准", description: "批准并继续执行" },
|
|
133
|
-
{ label: "修改", description: "需要修改后重新提交" },
|
|
134
|
-
{ label: "拒绝", description: "拒绝此请求" }
|
|
135
|
-
],
|
|
136
|
-
multiSelect: false
|
|
137
|
-
}]
|
|
138
|
-
})
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
如果选择"提供信息"或"自定义方案",追加问题:
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
AskUserQuestion({
|
|
145
|
-
questions: [{
|
|
146
|
-
question: "请输入详细信息:",
|
|
147
|
-
header: "详情",
|
|
148
|
-
options: [] // 允许自由输入
|
|
149
|
-
}]
|
|
150
|
-
})
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
5. **执行审批**
|
|
154
|
-
```bash
|
|
155
|
-
openmatrix approve <approvalId> -d <approve|reject|modify> [-c "备注"] --json
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**注意**: approvalId 是位置参数,不要使用 --id。正确格式: `openmatrix approve APPR-001 -d approve --json`
|
|
159
|
-
|
|
160
|
-
6. **更新状态**
|
|
161
|
-
|
|
162
|
-
- 写入审批结果到 `approvals/{id}.json`
|
|
163
|
-
- 更新状态: approved / rejected
|
|
164
|
-
- 记录决策时间、决策人、决策理由
|
|
165
|
-
|
|
166
|
-
7. **后续处理**
|
|
167
|
-
|
|
168
|
-
**如果批准:**
|
|
169
|
-
- 更新关联任务状态
|
|
170
|
-
- 如果是 Meeting,解决 Meeting 并记录解决方案
|
|
171
|
-
- 自动继续执行
|
|
172
|
-
|
|
173
|
-
**如果拒绝/修改:**
|
|
174
|
-
- 任务进入相应状态
|
|
175
|
-
- 显示后续操作建议
|
|
176
|
-
|
|
177
|
-
</process>
|
|
178
|
-
|
|
179
|
-
<arguments>
|
|
180
|
-
$ARGUMENTS
|
|
181
|
-
|
|
182
|
-
如果提供审批ID,直接处理指定审批。
|
|
183
|
-
如果无参数,列出所有待审批项供选择。
|
|
184
|
-
</arguments>
|
|
185
|
-
|
|
186
|
-
<examples>
|
|
187
|
-
/om:approve # 列出所有待审批
|
|
188
|
-
/om:approve APPR-001 # 直接处理指定审批
|
|
189
|
-
</examples>
|
|
190
|
-
|
|
191
|
-
<notes>
|
|
192
|
-
## 审批类型说明
|
|
193
|
-
|
|
194
|
-
| 类型 | 图标 | 触发条件 | 处理方式 |
|
|
195
|
-
|------|------|---------|---------|
|
|
196
|
-
| plan | 📝 | 任务拆解完成 | 批准/修改/拒绝 |
|
|
197
|
-
| merge | 🔀 | 开发完成 | 批准/拒绝 |
|
|
198
|
-
| deploy | 🚀 | 部署前确认 | 批准/拒绝 |
|
|
199
|
-
| meeting | 🔴/🤔 | 阻塞/决策 | 交互式解决 |
|
|
200
|
-
|
|
201
|
-
## Meeting 审批特殊处理
|
|
202
|
-
|
|
203
|
-
Meeting 审批需要更细致的交互:
|
|
204
|
-
|
|
205
|
-
1. **阻塞问题**
|
|
206
|
-
- 提供信息 → 记录到任务,恢复执行
|
|
207
|
-
- 跳过任务 → 标记可选,继续下游
|
|
208
|
-
- 修改方案 → 调整参数,重新执行
|
|
209
|
-
- 取消执行 → 停止流程
|
|
210
|
-
|
|
211
|
-
2. **技术决策**
|
|
212
|
-
- 选择方案 → 记录决策,继续执行
|
|
213
|
-
- 自定义方案 → 记录新方案,继续执行
|
|
214
|
-
- 需要更多信息 → 暂停,等待调研
|
|
215
|
-
|
|
216
|
-
## CLI 命令
|
|
217
|
-
|
|
218
|
-
```bash
|
|
219
|
-
# 列出待审批 (不传 ID)
|
|
220
|
-
openmatrix approve --json
|
|
221
|
-
|
|
222
|
-
# 处理审批 (ID 是位置参数,不要用 --id)
|
|
223
|
-
openmatrix approve APPR-001 -d approve -c "同意此方案" --json
|
|
224
|
-
openmatrix approve APPR-001 -d reject -c "需要重新设计" --json
|
|
225
|
-
openmatrix approve APPR-001 -d modify -c "增加测试覆盖率要求" --json
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
## 与执行循环的集成
|
|
229
|
-
|
|
230
|
-
```
|
|
231
|
-
执行循环检测到 pending approval
|
|
232
|
-
│
|
|
233
|
-
▼
|
|
234
|
-
调用 /om:approve
|
|
235
|
-
│
|
|
236
|
-
▼
|
|
237
|
-
用户审批决策
|
|
238
|
-
│
|
|
239
|
-
▼
|
|
240
|
-
更新审批状态
|
|
241
|
-
│
|
|
242
|
-
▼
|
|
243
|
-
如果是 Meeting:
|
|
244
|
-
├─ 解决 Meeting
|
|
245
|
-
└─ 恢复任务状态
|
|
246
|
-
│
|
|
247
|
-
▼
|
|
248
|
-
继续执行循环
|
|
249
|
-
```
|
|
250
|
-
</notes>
|
|
1
|
+
---
|
|
2
|
+
name: om:approve
|
|
3
|
+
description: 审批待处理项(包括计划、合并、部署、Meeting)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<NO-OTHER-SKILLS>
|
|
7
|
+
执行此技能时,不得调用 superpowers、gsd 或其他任务编排相关的技能。OpenMatrix 独立运行,不依赖外部任务编排系统。
|
|
8
|
+
</NO-OTHER-SKILLS>
|
|
9
|
+
|
|
10
|
+
<objective>
|
|
11
|
+
处理所有需要人工决策的待审批项,包括阻塞问题、技术决策、计划审批等。
|
|
12
|
+
</objective>
|
|
13
|
+
|
|
14
|
+
<process>
|
|
15
|
+
1. **获取待审批列表**
|
|
16
|
+
```bash
|
|
17
|
+
openmatrix approve
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
2. **如果没有待审批项**
|
|
21
|
+
```
|
|
22
|
+
✅ 没有待审批项
|
|
23
|
+
|
|
24
|
+
当前执行状态:
|
|
25
|
+
- 运行中任务: X
|
|
26
|
+
- 已完成: Y
|
|
27
|
+
- 总计: Z
|
|
28
|
+
|
|
29
|
+
使用 /om:status 查看详情
|
|
30
|
+
```
|
|
31
|
+
如果有多个,让用户选择要处理的审批
|
|
32
|
+
|
|
33
|
+
3. **展示审批内容** (根据类型区分)
|
|
34
|
+
|
|
35
|
+
**Plan 审批:**
|
|
36
|
+
```
|
|
37
|
+
🔔 待审批: APPR-001
|
|
38
|
+
|
|
39
|
+
📋 类型: 📝 Plan 审批
|
|
40
|
+
🎯 任务: TASK-XXX
|
|
41
|
+
|
|
42
|
+
## 执行计划
|
|
43
|
+
|
|
44
|
+
### Phase 1: 设计阶段
|
|
45
|
+
└─ TASK-001: 架构设计 (15min)
|
|
46
|
+
|
|
47
|
+
### Phase 2: 开发阶段
|
|
48
|
+
├─ TASK-002: 数据模型 (20min)
|
|
49
|
+
└─ TASK-003: API 接口 (30min)
|
|
50
|
+
|
|
51
|
+
📊 统计
|
|
52
|
+
- 总任务: 3
|
|
53
|
+
- 预计耗时: ~1小时
|
|
54
|
+
|
|
55
|
+
## 选项
|
|
56
|
+
|
|
57
|
+
[A] ✅ 批准 - 按此计划执行
|
|
58
|
+
[B] ✏️ 修改 - 需要调整计划
|
|
59
|
+
[C] ❌ 拒绝 - 重新规划
|
|
60
|
+
|
|
61
|
+
请选择: _
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Meeting 审批 (阻塞问题):**
|
|
65
|
+
```
|
|
66
|
+
🔔 待审批: APPR-002
|
|
67
|
+
|
|
68
|
+
📋 类型: 🔴 Meeting (阻塞)
|
|
69
|
+
🎯 任务: TASK-XXX
|
|
70
|
+
|
|
71
|
+
## 阻塞问题描述
|
|
72
|
+
|
|
73
|
+
**原因**: [阻塞原因]
|
|
74
|
+
**时间**: [发生时间]
|
|
75
|
+
|
|
76
|
+
## 影响范围
|
|
77
|
+
|
|
78
|
+
- TASK-XXX: 下游任务1
|
|
79
|
+
- TASK-YYY: 下游任务2
|
|
80
|
+
|
|
81
|
+
## 可选操作
|
|
82
|
+
|
|
83
|
+
[A] 💡 提供信息 - 提供解决阻塞所需的信息
|
|
84
|
+
[B] ⏭️ 跳过任务 - 标记为可选,继续执行
|
|
85
|
+
[C] 🔄 修改方案 - 调整任务方案
|
|
86
|
+
[D] ❌ 取消执行 - 停止整个流程
|
|
87
|
+
|
|
88
|
+
请选择: _
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Meeting 审批 (技术决策):**
|
|
92
|
+
```
|
|
93
|
+
🔔 待审批: APPR-003
|
|
94
|
+
|
|
95
|
+
📋 类型: 🤔 Meeting (决策)
|
|
96
|
+
🎯 任务: TASK-XXX
|
|
97
|
+
|
|
98
|
+
## 决策点
|
|
99
|
+
|
|
100
|
+
**问题**: [需要决策的技术问题]
|
|
101
|
+
|
|
102
|
+
## 可选方案
|
|
103
|
+
|
|
104
|
+
1. 方案A - [描述] (推荐)
|
|
105
|
+
- 优点: ...
|
|
106
|
+
- 缺点: ...
|
|
107
|
+
|
|
108
|
+
2. 方案B - [描述]
|
|
109
|
+
- 优点: ...
|
|
110
|
+
- 缺点: ...
|
|
111
|
+
|
|
112
|
+
## 选项
|
|
113
|
+
|
|
114
|
+
[A] 选择方案1 (推荐)
|
|
115
|
+
[B] 选择方案2
|
|
116
|
+
[C] 自定义方案 - 输入您自己的方案
|
|
117
|
+
[D] 需要更多信息 - 暂不决策,先获取更多信息
|
|
118
|
+
|
|
119
|
+
请选择: _
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
4. **处理用户选择**
|
|
123
|
+
|
|
124
|
+
使用 `AskUserQuestion` 工具进行交互:
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
AskUserQuestion({
|
|
128
|
+
questions: [{
|
|
129
|
+
question: "请选择审批操作:",
|
|
130
|
+
header: "审批",
|
|
131
|
+
options: [
|
|
132
|
+
{ label: "批准", description: "批准并继续执行" },
|
|
133
|
+
{ label: "修改", description: "需要修改后重新提交" },
|
|
134
|
+
{ label: "拒绝", description: "拒绝此请求" }
|
|
135
|
+
],
|
|
136
|
+
multiSelect: false
|
|
137
|
+
}]
|
|
138
|
+
})
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
如果选择"提供信息"或"自定义方案",追加问题:
|
|
142
|
+
|
|
143
|
+
```typescript
|
|
144
|
+
AskUserQuestion({
|
|
145
|
+
questions: [{
|
|
146
|
+
question: "请输入详细信息:",
|
|
147
|
+
header: "详情",
|
|
148
|
+
options: [] // 允许自由输入
|
|
149
|
+
}]
|
|
150
|
+
})
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
5. **执行审批**
|
|
154
|
+
```bash
|
|
155
|
+
openmatrix approve <approvalId> -d <approve|reject|modify> [-c "备注"] --json
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**注意**: approvalId 是位置参数,不要使用 --id。正确格式: `openmatrix approve APPR-001 -d approve --json`
|
|
159
|
+
|
|
160
|
+
6. **更新状态**
|
|
161
|
+
|
|
162
|
+
- 写入审批结果到 `approvals/{id}.json`
|
|
163
|
+
- 更新状态: approved / rejected
|
|
164
|
+
- 记录决策时间、决策人、决策理由
|
|
165
|
+
|
|
166
|
+
7. **后续处理**
|
|
167
|
+
|
|
168
|
+
**如果批准:**
|
|
169
|
+
- 更新关联任务状态
|
|
170
|
+
- 如果是 Meeting,解决 Meeting 并记录解决方案
|
|
171
|
+
- 自动继续执行
|
|
172
|
+
|
|
173
|
+
**如果拒绝/修改:**
|
|
174
|
+
- 任务进入相应状态
|
|
175
|
+
- 显示后续操作建议
|
|
176
|
+
|
|
177
|
+
</process>
|
|
178
|
+
|
|
179
|
+
<arguments>
|
|
180
|
+
$ARGUMENTS
|
|
181
|
+
|
|
182
|
+
如果提供审批ID,直接处理指定审批。
|
|
183
|
+
如果无参数,列出所有待审批项供选择。
|
|
184
|
+
</arguments>
|
|
185
|
+
|
|
186
|
+
<examples>
|
|
187
|
+
/om:approve # 列出所有待审批
|
|
188
|
+
/om:approve APPR-001 # 直接处理指定审批
|
|
189
|
+
</examples>
|
|
190
|
+
|
|
191
|
+
<notes>
|
|
192
|
+
## 审批类型说明
|
|
193
|
+
|
|
194
|
+
| 类型 | 图标 | 触发条件 | 处理方式 |
|
|
195
|
+
|------|------|---------|---------|
|
|
196
|
+
| plan | 📝 | 任务拆解完成 | 批准/修改/拒绝 |
|
|
197
|
+
| merge | 🔀 | 开发完成 | 批准/拒绝 |
|
|
198
|
+
| deploy | 🚀 | 部署前确认 | 批准/拒绝 |
|
|
199
|
+
| meeting | 🔴/🤔 | 阻塞/决策 | 交互式解决 |
|
|
200
|
+
|
|
201
|
+
## Meeting 审批特殊处理
|
|
202
|
+
|
|
203
|
+
Meeting 审批需要更细致的交互:
|
|
204
|
+
|
|
205
|
+
1. **阻塞问题**
|
|
206
|
+
- 提供信息 → 记录到任务,恢复执行
|
|
207
|
+
- 跳过任务 → 标记可选,继续下游
|
|
208
|
+
- 修改方案 → 调整参数,重新执行
|
|
209
|
+
- 取消执行 → 停止流程
|
|
210
|
+
|
|
211
|
+
2. **技术决策**
|
|
212
|
+
- 选择方案 → 记录决策,继续执行
|
|
213
|
+
- 自定义方案 → 记录新方案,继续执行
|
|
214
|
+
- 需要更多信息 → 暂停,等待调研
|
|
215
|
+
|
|
216
|
+
## CLI 命令
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
# 列出待审批 (不传 ID)
|
|
220
|
+
openmatrix approve --json
|
|
221
|
+
|
|
222
|
+
# 处理审批 (ID 是位置参数,不要用 --id)
|
|
223
|
+
openmatrix approve APPR-001 -d approve -c "同意此方案" --json
|
|
224
|
+
openmatrix approve APPR-001 -d reject -c "需要重新设计" --json
|
|
225
|
+
openmatrix approve APPR-001 -d modify -c "增加测试覆盖率要求" --json
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## 与执行循环的集成
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
执行循环检测到 pending approval
|
|
232
|
+
│
|
|
233
|
+
▼
|
|
234
|
+
调用 /om:approve
|
|
235
|
+
│
|
|
236
|
+
▼
|
|
237
|
+
用户审批决策
|
|
238
|
+
│
|
|
239
|
+
▼
|
|
240
|
+
更新审批状态
|
|
241
|
+
│
|
|
242
|
+
▼
|
|
243
|
+
如果是 Meeting:
|
|
244
|
+
├─ 解决 Meeting
|
|
245
|
+
└─ 恢复任务状态
|
|
246
|
+
│
|
|
247
|
+
▼
|
|
248
|
+
继续执行循环
|
|
249
|
+
```
|
|
250
|
+
</notes>
|