openmatrix 0.2.9 → 0.2.11
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/orchestrator/phase-executor.js +59 -15
- package/package.json +1 -1
- package/skills/auto.md +2 -2
- package/skills/debug.md +130 -6
- package/skills/feature.md +51 -2
- package/skills/start.md +2 -2
|
@@ -251,11 +251,21 @@ ${task.acceptanceCriteria?.map((c, i) => `${i + 1}. ${c}`).join('\n') || '根据
|
|
|
251
251
|
## 验证
|
|
252
252
|
运行 \`npm test\` 确认测试失败 (这是正确的!)
|
|
253
253
|
|
|
254
|
-
## ⚠️ Git
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
254
|
+
## ⚠️ Git 操作禁止
|
|
255
|
+
|
|
256
|
+
**禁止执行以下 Git 命令**:
|
|
257
|
+
- ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
|
|
258
|
+
- ❌ \`git checkout\` — 不要切换分支
|
|
259
|
+
- ❌ \`git merge\` — 不要合并其他分支
|
|
260
|
+
- ❌ \`git pull\` — 不要拉取远程更新
|
|
261
|
+
- ❌ \`git push\` — 不要推送代码
|
|
262
|
+
- ❌ \`git rebase\` — 不要变基
|
|
263
|
+
- ❌ \`git branch\` — 不要创建/删除分支
|
|
264
|
+
|
|
265
|
+
**允许的 Git 命令**:
|
|
266
|
+
- ✅ \`git status\` — 查看状态
|
|
267
|
+
- ✅ \`git diff\` — 查看差异
|
|
268
|
+
- ✅ \`git log\` — 查看历史
|
|
259
269
|
|
|
260
270
|
## 输出格式
|
|
261
271
|
\`\`\`
|
|
@@ -386,16 +396,23 @@ ${task.acceptanceCriteria.map((c, i) => `${i + 1}. [ ] ${c}`).join('\n')}`);
|
|
|
386
396
|
- [ ] 验收标准全部满足
|
|
387
397
|
${isTDDMode ? '- [ ] 所有测试通过 (GREEN)' : ''}
|
|
388
398
|
|
|
389
|
-
## ⚠️ Git
|
|
399
|
+
## ⚠️ Git 操作禁止
|
|
390
400
|
|
|
391
|
-
|
|
401
|
+
**禁止执行以下 Git 命令**:
|
|
402
|
+
- ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
|
|
403
|
+
- ❌ \`git checkout\` — 不要切换分支
|
|
404
|
+
- ❌ \`git merge\` — 不要合并其他分支
|
|
405
|
+
- ❌ \`git pull\` — 不要拉取远程更新
|
|
406
|
+
- ❌ \`git push\` — 不要推送代码
|
|
407
|
+
- ❌ \`git rebase\` — 不要变基
|
|
408
|
+
- ❌ \`git branch\` — 不要创建/删除分支
|
|
392
409
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
410
|
+
**允许的 Git 命令**:
|
|
411
|
+
- ✅ \`git status\` — 查看状态
|
|
412
|
+
- ✅ \`git diff\` — 查看差异
|
|
413
|
+
- ✅ \`git log\` — 查看历史
|
|
397
414
|
|
|
398
|
-
|
|
415
|
+
如果代码变更已完成,只需返回结果摘要。
|
|
399
416
|
`);
|
|
400
417
|
return parts.join('\n');
|
|
401
418
|
}
|
|
@@ -676,7 +693,21 @@ Fix Required:
|
|
|
676
693
|
- **不要伪造通过结果**
|
|
677
694
|
- 如果项目没有某个脚本,标记为 "⏭️ Skipped" 而非 "❌ Failed"
|
|
678
695
|
- 所有检查结果必须基于实际命令输出
|
|
679
|
-
|
|
696
|
+
## ⚠️ Git 操作禁止
|
|
697
|
+
|
|
698
|
+
**禁止执行以下 Git 命令**:
|
|
699
|
+
- ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
|
|
700
|
+
- ❌ \`git checkout\` — 不要切换分支
|
|
701
|
+
- ❌ \`git merge\` — 不要合并其他分支
|
|
702
|
+
- ❌ \`git pull\` — 不要拉取远程更新
|
|
703
|
+
- ❌ \`git push\` — 不要推送代码
|
|
704
|
+
- ❌ \`git rebase\` — 不要变基
|
|
705
|
+
- ❌ \`git branch\` — 不要创建/删除分支
|
|
706
|
+
|
|
707
|
+
**允许的 Git 命令**:
|
|
708
|
+
- ✅ \`git status\` — 查看状态
|
|
709
|
+
- ✅ \`git diff\` — 查看差异
|
|
710
|
+
- ✅ \`git log\` — 查看历史
|
|
680
711
|
|
|
681
712
|
## 🔧 配置检查 (可选但推荐)
|
|
682
713
|
检查以下常见配置问题:
|
|
@@ -811,8 +842,21 @@ ACCEPT_FAILED
|
|
|
811
842
|
1. [原因]
|
|
812
843
|
\`\`\`
|
|
813
844
|
|
|
814
|
-
## ⚠️ Git
|
|
815
|
-
|
|
845
|
+
## ⚠️ Git 操作禁止
|
|
846
|
+
|
|
847
|
+
**禁止执行以下 Git 命令**:
|
|
848
|
+
- ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
|
|
849
|
+
- ❌ \`git checkout\` — 不要切换分支
|
|
850
|
+
- ❌ \`git merge\` — 不要合并其他分支
|
|
851
|
+
- ❌ \`git pull\` — 不要拉取远程更新
|
|
852
|
+
- ❌ \`git push\` — 不要推送代码
|
|
853
|
+
- ❌ \`git rebase\` — 不要变基
|
|
854
|
+
- ❌ \`git branch\` — 不要创建/删除分支
|
|
855
|
+
|
|
856
|
+
**允许的 Git 命令**:
|
|
857
|
+
- ✅ \`git status\` — 查看状态
|
|
858
|
+
- ✅ \`git diff\` — 查看差异
|
|
859
|
+
- ✅ \`git log\` — 查看历史
|
|
816
860
|
`);
|
|
817
861
|
return parts.join('\n');
|
|
818
862
|
}
|
package/package.json
CHANGED
package/skills/auto.md
CHANGED
|
@@ -173,7 +173,7 @@ openmatrix step --json # 获取下一个任务 + 检查是
|
|
|
173
173
|
Agent({
|
|
174
174
|
subagent_type: task.subagent_type,
|
|
175
175
|
description: task.description,
|
|
176
|
-
prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫
|
|
176
|
+
prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行以下 Git 命令**:\n- ❌ git commit — 所有提交统一通过 openmatrix complete 执行\n- ❌ git checkout — 不要切换分支\n- ❌ git merge — 不要合并其他分支\n- ❌ git pull — 不要拉取远程更新\n- ❌ git push — 不要推送代码\n- ❌ git rebase — 不要变基\n- ❌ git branch — 不要创建/删除分支\n\n✅ 允许:git status, git diff, git log",
|
|
177
177
|
isolation: task.isolation,
|
|
178
178
|
run_in_background: true
|
|
179
179
|
})
|
|
@@ -183,7 +183,7 @@ Agent({
|
|
|
183
183
|
>
|
|
184
184
|
> **上下文节省**: 使用 `run_in_background: true` 后台执行,Agent 完成后仅返回简短摘要,大幅节省主会话上下文。
|
|
185
185
|
>
|
|
186
|
-
> 🚫 **Agent 内部禁止 git commit
|
|
186
|
+
> 🚫 **Agent 内部禁止 Git 操作** — 禁止执行:git commit, git checkout, git merge, git pull, git push, git rebase, git branch。所有提交必须通过 `openmatrix complete` 执行。
|
|
187
187
|
|
|
188
188
|
每个 Agent 完成后:
|
|
189
189
|
1. **保存 Agent 上下文** — 将执行结果摘要写入 `.openmatrix/tasks/TASK-XXX/context.md`,格式如下:
|
package/skills/debug.md
CHANGED
|
@@ -114,12 +114,67 @@ Agent({
|
|
|
114
114
|
- 问题描述: ${description}
|
|
115
115
|
${relatedTaskId ? `- 关联任务: ${relatedTaskId}` : ''}
|
|
116
116
|
|
|
117
|
-
##
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
## 调查步骤(必须按顺序执行)
|
|
118
|
+
|
|
119
|
+
### 1. 仔细阅读错误信息
|
|
120
|
+
- 不要跳过任何警告或错误
|
|
121
|
+
- 错误信息往往包含解决方案
|
|
122
|
+
- 完整阅读堆栈跟踪
|
|
123
|
+
- 记录行号、文件路径、错误代码
|
|
124
|
+
|
|
125
|
+
### 2. 稳定复现
|
|
126
|
+
- 能否可靠触发?
|
|
127
|
+
- 精确步骤是什么?
|
|
128
|
+
- 每次都会发生吗?
|
|
129
|
+
- 不能复现 → 收集更多数据,不要猜测
|
|
130
|
+
|
|
131
|
+
### 3. 检查近期变更
|
|
132
|
+
- git diff、最近提交
|
|
133
|
+
- 新依赖、配置变更
|
|
134
|
+
- 环境差异
|
|
135
|
+
|
|
136
|
+
### 4. 多组件系统诊断(如有多个组件)
|
|
137
|
+
**当系统有多个组件(CI → build → signing, API → service → database):**
|
|
138
|
+
|
|
139
|
+
**在提出修复之前,添加诊断日志:**
|
|
140
|
+
\`\`\`
|
|
141
|
+
对每个组件边界:
|
|
142
|
+
- 记录什么数据进入组件
|
|
143
|
+
- 记录什么数据退出组件
|
|
144
|
+
- 验证环境/配置传递
|
|
145
|
+
- 检查每层状态
|
|
146
|
+
|
|
147
|
+
运行一次收集证据,显示哪里断裂
|
|
148
|
+
然后分析证据识别失败组件
|
|
149
|
+
然后深入调查该组件
|
|
150
|
+
\`\`\`
|
|
151
|
+
|
|
152
|
+
**示例(多层系统):**
|
|
153
|
+
\`\`\`bash
|
|
154
|
+
# Layer 1: Workflow
|
|
155
|
+
echo "=== Secrets in workflow: ==="
|
|
156
|
+
echo "IDENTITY: ${IDENTITY:+SET}${IDENTITY:-UNSET}"
|
|
157
|
+
|
|
158
|
+
# Layer 2: Build script
|
|
159
|
+
echo "=== Env vars in build: ==="
|
|
160
|
+
env | grep IDENTITY || echo "IDENTITY not in env"
|
|
161
|
+
|
|
162
|
+
# Layer 3: Signing script
|
|
163
|
+
echo "=== Keychain state: ==="
|
|
164
|
+
security list-keychains
|
|
165
|
+
|
|
166
|
+
# Layer 4: Actual signing
|
|
167
|
+
codesign --sign "$IDENTITY" --verbose=4 "$APP"
|
|
168
|
+
\`\`\`
|
|
169
|
+
|
|
170
|
+
这揭示:哪层失败(secrets → workflow ✓, workflow → build ✗)
|
|
171
|
+
|
|
172
|
+
### 5. 追踪数据流
|
|
173
|
+
**当错误在调用栈深处:**
|
|
174
|
+
- 错误值从哪里产生?
|
|
175
|
+
- 谁传入的这个错误值?
|
|
176
|
+
- 继续向上追踪直到源头
|
|
177
|
+
- 在源头修复,不是症状处
|
|
123
178
|
|
|
124
179
|
## 输出格式
|
|
125
180
|
请按以下格式输出:
|
|
@@ -136,6 +191,10 @@ ${relatedTaskId ? `- 关联任务: ${relatedTaskId}` : ''}
|
|
|
136
191
|
- 提交1: 描述
|
|
137
192
|
- 提交2: 描述
|
|
138
193
|
|
|
194
|
+
### 多组件诊断结果(如适用)
|
|
195
|
+
- Layer N 状态: ...
|
|
196
|
+
- 断裂点: ...
|
|
197
|
+
|
|
139
198
|
### 根因分析
|
|
140
199
|
[详细描述问题根源]
|
|
141
200
|
|
|
@@ -448,4 +507,69 @@ Step 10: 写入 Debug Report
|
|
|
448
507
|
- 不修改未关联的文件
|
|
449
508
|
- 单一修复原则
|
|
450
509
|
- 修复前必须有验证方法
|
|
510
|
+
|
|
511
|
+
## 红旗警告 - 停止并回归流程
|
|
512
|
+
|
|
513
|
+
**如果发现自己在想:**
|
|
514
|
+
- "先快速修复,之后再调查"
|
|
515
|
+
- "试试改 X 看看能不能工作"
|
|
516
|
+
- "一次改多处,跑测试"
|
|
517
|
+
- "跳过测试,手动验证就行"
|
|
518
|
+
- "大概是 X 问题,直接修吧"
|
|
519
|
+
- "不太懂但这可能有用"
|
|
520
|
+
- "模式说 X 但我要改动一下"
|
|
521
|
+
- "这里列出主要问题:[未经调查直接列修复]"
|
|
522
|
+
- 提出解决方案前没有追踪数据流
|
|
523
|
+
- **"再试一次修复"(已经试过 2+ 次)**
|
|
524
|
+
- 每次修复揭示新地方的问题
|
|
525
|
+
|
|
526
|
+
**所有这些意味着:停止。回到 Step 3。**
|
|
527
|
+
|
|
528
|
+
## 常见借口 vs 真实情况
|
|
529
|
+
|
|
530
|
+
| 借口 | 真实情况 |
|
|
531
|
+
|------|---------|
|
|
532
|
+
| "问题简单,不需要流程" | 简单问题也有根因。流程处理简单 bug 很快。 |
|
|
533
|
+
| "紧急情况,没时间走流程" | 系统化调试比瞎猜乱试更快。 |
|
|
534
|
+
| "先试试这个,再调查" | 第一次修复定基调。从一开始就做对。 |
|
|
535
|
+
| "确认修复有效后再写测试" | 没测试的修复不牢靠。先写测试证明它。 |
|
|
536
|
+
| "一次改多处节省时间" | 无法隔离哪个有效。还会引入新 bug。 |
|
|
537
|
+
| "参考文档太长,我按模式改改" | 一知半解必然有 bug。完整阅读。 |
|
|
538
|
+
| "我看到问题了,直接修吧" | 看到症状 ≠ 理解根因。 |
|
|
539
|
+
| "再试一次修复"(失败 2+ 次后) | 3+ 次失败 = 架构问题。质疑模式,不要继续修。 |
|
|
540
|
+
|
|
541
|
+
## 3+ 次修复失败:质疑架构
|
|
542
|
+
|
|
543
|
+
**指示架构问题的模式:**
|
|
544
|
+
- 每次修复揭示新共享状态/耦合/其他地方的问题
|
|
545
|
+
- 修复需要"大规模重构"才能实现
|
|
546
|
+
- 每次修复在其他地方产生新症状
|
|
547
|
+
|
|
548
|
+
**停止并质疑根本问题:**
|
|
549
|
+
- 这个模式根本上是否合理?
|
|
550
|
+
- 我们是否"靠惯性硬撑"?
|
|
551
|
+
- 应该重构架构还是继续修补症状?
|
|
552
|
+
|
|
553
|
+
**在尝试更多修复之前与用户讨论。**
|
|
554
|
+
|
|
555
|
+
这不是假设失败 — 这是架构错误。
|
|
556
|
+
|
|
557
|
+
## 无根因的情况
|
|
558
|
+
|
|
559
|
+
如果系统化调查揭示问题确实是环境、时序依赖或外部因素:
|
|
560
|
+
|
|
561
|
+
1. 你已完成流程
|
|
562
|
+
2. 记录调查了什么
|
|
563
|
+
3. 实现适当处理(重试、超时、错误消息)
|
|
564
|
+
4. 添加监控/日志以便未来调查
|
|
565
|
+
|
|
566
|
+
**但:** 95% 的"无根因"情况是调查不完整。
|
|
567
|
+
|
|
568
|
+
## 实际影响
|
|
569
|
+
|
|
570
|
+
来自调试实践:
|
|
571
|
+
- 系统化方法:15-30 分钟修复
|
|
572
|
+
- 随机修复方法:2-3 小时折腾
|
|
573
|
+
- 首次修复率:95% vs 40%
|
|
574
|
+
- 引入新 bug:接近零 vs 常见
|
|
451
575
|
</notes>
|
package/skills/feature.md
CHANGED
|
@@ -249,8 +249,16 @@ ${quality === 'strict' ? `
|
|
|
249
249
|
|
|
250
250
|
## 禁止行为
|
|
251
251
|
❌ 执行 git commit(由主流程处理)
|
|
252
|
+
❌ 执行 git checkout — 不要切换分支
|
|
253
|
+
❌ 执行 git merge — 不要合并其他分支
|
|
254
|
+
❌ 执行 git pull — 不要拉取远程更新
|
|
255
|
+
❌ 执行 git push — 不要推送代码
|
|
256
|
+
❌ 执行 git rebase — 不要变基
|
|
257
|
+
❌ 执行 git branch — 不要创建/删除分支
|
|
252
258
|
❌ 修改与当前任务无关的文件
|
|
253
|
-
❌
|
|
259
|
+
❌ 进行额外的重构
|
|
260
|
+
|
|
261
|
+
✅ 允许:git status, git diff, git log`,
|
|
254
262
|
run_in_background: true
|
|
255
263
|
})
|
|
256
264
|
```
|
|
@@ -375,7 +383,30 @@ $ARGUMENTS
|
|
|
375
383
|
- 验证失败不得继续执行,必须停止等待修复
|
|
376
384
|
- 不得跳过质量等级确认
|
|
377
385
|
- 不得跳过任务边界确认
|
|
378
|
-
- 不得在 Agent
|
|
386
|
+
- 不得在 Agent 内部执行任何 Git 操作(commit/checkout/merge/pull/push/rebase/branch)
|
|
387
|
+
|
|
388
|
+
## 红旗警告 - 停止并回归流程
|
|
389
|
+
|
|
390
|
+
**如果发现自己在想:**
|
|
391
|
+
- "验证麻烦,先提交再说"
|
|
392
|
+
- "任务块小,一次改两个吧"
|
|
393
|
+
- "顺便重构下这个代码"
|
|
394
|
+
- "跳过质量确认,直接开始"
|
|
395
|
+
- "测试失败没关系,手动验证就行"
|
|
396
|
+
- "这个小改动不会影响其他"
|
|
397
|
+
|
|
398
|
+
**所有这些意味着:停止。回到流程执行。**
|
|
399
|
+
|
|
400
|
+
## 常见借口 vs 真实情况
|
|
401
|
+
|
|
402
|
+
| 借口 | 真实情况 |
|
|
403
|
+
|------|---------|
|
|
404
|
+
| "验证太慢,先提交" | 未验证的提交会污染仓库,回头排查更慢。 |
|
|
405
|
+
| "一次改两个任务块效率高" | 无法隔离哪个改动有问题。引入新 bug。 |
|
|
406
|
+
| "顺便重构没问题" | "顺便"是 bug 的温床。任务聚焦。 |
|
|
407
|
+
| "质量确认麻烦" | 3 秒的选择防止后续数小时排查。 |
|
|
408
|
+
| "手动验证就行" | 手动验证不可重复。自动化测试才可靠。 |
|
|
409
|
+
| "小改动不会出错" | 小改动也有根因。系统性验证。 |
|
|
379
410
|
|
|
380
411
|
## 与其他指令的区别
|
|
381
412
|
|
|
@@ -407,6 +438,24 @@ $ARGUMENTS
|
|
|
407
438
|
| Agent 超时 | 询问重试或跳过 |
|
|
408
439
|
| Git 失败 | 提示手动处理 |
|
|
409
440
|
|
|
441
|
+
## 3+ 次验证失败:质疑任务拆分
|
|
442
|
+
|
|
443
|
+
**如果同一任务块验证失败 3 次以上:**
|
|
444
|
+
|
|
445
|
+
**指示拆分问题的模式:**
|
|
446
|
+
- 每次修复产生新的测试失败
|
|
447
|
+
- 任务块范围模糊,边界不清
|
|
448
|
+
- 修改影响多个不相关文件
|
|
449
|
+
|
|
450
|
+
**停止并质疑拆分方案:**
|
|
451
|
+
- 任务块是否过于复杂?
|
|
452
|
+
- 是否需要重新拆分?
|
|
453
|
+
- 是否应该切换到 `/om:start` 使用完整流程?
|
|
454
|
+
|
|
455
|
+
**在继续执行之前与用户讨论拆分方案。**
|
|
456
|
+
|
|
457
|
+
这不是执行失败 — 这是拆分策略问题。
|
|
458
|
+
|
|
410
459
|
## Git 提交格式
|
|
411
460
|
|
|
412
461
|
```
|
package/skills/start.md
CHANGED
|
@@ -395,7 +395,7 @@ openmatrix step --json # 获取下一个任务 + 检查是
|
|
|
395
395
|
Agent({
|
|
396
396
|
subagent_type: task.subagent_type,
|
|
397
397
|
description: task.description,
|
|
398
|
-
prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫
|
|
398
|
+
prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行以下 Git 命令**:\n- ❌ git commit — 所有提交统一通过 openmatrix complete 执行\n- ❌ git checkout — 不要切换分支\n- ❌ git merge — 不要合并其他分支\n- ❌ git pull — 不要拉取远程更新\n- ❌ git push — 不要推送代码\n- ❌ git rebase — 不要变基\n- ❌ git branch — 不要创建/删除分支\n\n✅ 允许:git status, git diff, git log",
|
|
399
399
|
isolation: task.isolation,
|
|
400
400
|
run_in_background: true
|
|
401
401
|
})
|
|
@@ -405,7 +405,7 @@ Agent({
|
|
|
405
405
|
>
|
|
406
406
|
> **上下文节省**: 使用 `run_in_background: true` 后台执行,Agent 完成后仅返回简短摘要,不返回完整输出,大幅节省主会话上下文。
|
|
407
407
|
>
|
|
408
|
-
> 🚫 **Agent 内部禁止 git commit
|
|
408
|
+
> 🚫 **Agent 内部禁止 Git 操作** — 禁止执行:git commit, git checkout, git merge, git pull, git push, git rebase, git branch。所有提交必须通过 `openmatrix complete` 执行。
|
|
409
409
|
|
|
410
410
|
每个 Agent 完成后(收到后台完成通知时):
|
|
411
411
|
1. **标记完成并更新统计(必须执行):**
|