@mstar-harness/opencode 0.7.8 → 1.0.0
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/harness-commands/iteration-drive.md +2 -2
- package/harness-commands/iteration-start.md +9 -9
- package/harness-skills/mstar-branch-worktree/SKILL.md +10 -10
- package/harness-skills/mstar-coding-behavior/SKILL.md +1 -0
- package/harness-skills/mstar-dispatch-gates/SKILL.md +24 -13
- package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +1 -1
- package/harness-skills/mstar-harness-core/SKILL.md +9 -6
- package/harness-skills/mstar-host/SKILL.md +3 -3
- package/harness-skills/mstar-host/references/codex.md +1 -1
- package/harness-skills/mstar-host/references/cursor.md +18 -8
- package/harness-skills/mstar-host/references/opencode.md +35 -8
- package/harness-skills/mstar-host/references/parallel-dispatch.md +25 -7
- package/harness-skills/mstar-iteration/SKILL.md +19 -35
- package/harness-skills/mstar-phase-gates/SKILL.md +11 -46
- package/harness-skills/mstar-plan-artifacts/SKILL.md +1 -0
- package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +22 -10
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +3 -0
- package/harness-skills/mstar-plan-artifacts/templates/plan.main.md +54 -0
- package/harness-skills/mstar-plan-conventions/SKILL.md +6 -3
- package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +2 -1
- package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +1 -1
- package/harness-skills/mstar-review-qc/SKILL.md +5 -5
- package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +41 -0
- package/harness-skills/mstar-roles/SKILL.md +5 -1
- package/harness-skills/mstar-roles/references/architect.md +1 -1
- package/harness-skills/mstar-roles/references/frontend-dev.md +1 -1
- package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +1 -1
- package/harness-skills/mstar-roles/references/ops-engineer.md +1 -1
- package/harness-skills/mstar-roles/references/product-manager.md +1 -1
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +11 -6
- package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +33 -24
- package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +2 -1
- package/harness-skills/mstar-roles/references/project-manager.md +23 -20
- package/harness-skills/mstar-roles/references/prompt-engineer.md +1 -1
- package/harness-skills/mstar-roles/references/qa-engineer.md +1 -1
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +6 -4
- package/harness-skills/mstar-roles/references/writing-specialist.md +1 -1
- package/harness-skills/mstar-sdd/SKILL.md +118 -0
- package/harness-skills/mstar-sdd/references/file-handoffs.md +73 -0
- package/harness-skills/mstar-sdd/references/implementer-prompt.md +53 -0
- package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +51 -0
- package/harness-skills/mstar-sdd/scripts/review-package +43 -0
- package/harness-skills/mstar-sdd/scripts/sdd-workspace +26 -0
- package/harness-skills/mstar-sdd/scripts/task-brief +40 -0
- package/harness-skills/pm/SKILL.md +7 -6
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-iteration
|
|
3
|
-
description: Morning Star 迭代管理 —— iteration-start、Autonomous Execute
|
|
3
|
+
description: Morning Star 迭代管理 —— iteration-start、Autonomous Execute(per-plan SDD + plan QC tri)、iteration-close、PR 交付(Phase 4)、PR merge-ready loop(Phase 5)。显式分支策略;compass `{ITERATION_DIR}/`;分支 SSOT:`status.json` metadata + compass frontmatter。**必须**在 iteration-start / iteration-drive / 多 plan 编排、integration 分支、iteration-close 或 PR merge-ready 时 Read;`@project-manager` 迭代编排必读。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# mstar-iteration(迭代管理)
|
|
@@ -159,10 +159,10 @@ compass frontmatter 的 `iteration_base_branch` / `target_branch` **必须与**
|
|
|
159
159
|
|
|
160
160
|
派发机制 → **`mstar-dispatch-gates`**(specialist review-and-edit dispatch,**顺序链**)。PM **不得**将迭代 harness 文档 commit 到 `spec_integration_branch`,直到:
|
|
161
161
|
|
|
162
|
-
1.
|
|
162
|
+
1. **product-manager** → **architect** → **writing-specialist** 已按序通过宿主 invoke **直接编辑**(非仅评论)compass、plans 及受影响 specs;每一环基于上一环落盘修订
|
|
163
163
|
2. PM 将 compass `status` 设为 `locked`,并确认各 plan 的 Prepare gate(specify / clarify / plan)
|
|
164
164
|
|
|
165
|
-
**顺序理由**:产品范围与优先级 → 架构与契约 → 术语与行文;并行会导致后手重复劳动或覆盖前手未定稿内容。
|
|
165
|
+
**顺序理由**:产品范围与优先级 → 架构与契约 → 术语与行文;并行会导致后手重复劳动或覆盖前手未定稿内容。OpenCode:plain role id — **`mstar-host/references/opencode.md`** § Role-mention hygiene。
|
|
166
166
|
|
|
167
167
|
**完成证据** = 磁盘上的 compass / plans / specs 修订 + compass `status: locked`。**不**要求 `reports/<iteration-id>/` 审查报告——迭代审查的 SSOT 是被编辑的文档本身,无 per-plan QC 式审计链。
|
|
168
168
|
|
|
@@ -228,7 +228,7 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
228
228
|
|
|
229
229
|
1. **Plan start — feature branch**:Assignment 用 `Working branch: create <plan-feature-branch> from <spec_integration_branch>`。一个 plan 一条专用实现分支;内部并行 → topic branches + worktrees(`mstar-branch-worktree`)
|
|
230
230
|
2. **Implement → InReview**:dispatch-only 循环(`§ 2.5`);每次 Completion Report v2 后更新 `status.json` + 主 plan
|
|
231
|
-
3. **QC → QA → Done
|
|
231
|
+
3. **QC → QA → Done**:per-plan 审查链 → **`mstar-sdd`**(L1–L2)+ **`mstar-review-qc/references/review-responsibility-boundaries.md`**(L3 tri / inline 单席)+ QA。
|
|
232
232
|
4. **Plan complete — merge back**:合并 plan feature branch → `spec_integration_branch`;在下一 plan 或 QC 前解决冲突
|
|
233
233
|
5. **Cross-plan 进度同步**:更新 `{ITERATION_DIR}/<iteration-id>-delivery-compass.md` 的 `## Plans` 表状态列
|
|
234
234
|
6. **Next plan** 从步骤 1 继续
|
|
@@ -241,21 +241,13 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
241
241
|
|
|
242
242
|
### 2.5 Dispatch-first(implement 派发约束)
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
派发纪律 SSOT → **`mstar-dispatch-gates`** · **`mstar-host/references/parallel-dispatch.md`** · **`skills/pm/SKILL.md`**(Dispatch-first)。
|
|
245
245
|
|
|
246
|
-
|
|
247
|
-
2. **下一条派发消息**的第一动作 = 发出全部 `Task`(QC 初轮 **N=3** 同条消息;双轨 implement **N=2**)。
|
|
248
|
-
3. `Subagent invokes issued: 0` 而 Assignment 已写出 → **`dispatch incomplete`**;下一条必须补发 invoke,**禁止** PM 线程亲自实现顶替。
|
|
246
|
+
Iteration Phase 2 附加:
|
|
249
247
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
| 1 Assignment ⇒ 1 invoke | Assignment 只写 markdown 不 invoke |
|
|
254
|
-
| merge/branch/handoff 写入 Assignment | 因"上下文已有"而跳过 subagent |
|
|
255
|
-
|
|
256
|
-
- **NEVER** implement while staying PM — 实现一律 delegate dev 角色
|
|
257
|
-
- Delegate scope:`mstar-roles` → PM Execution Boundary
|
|
258
|
-
- 例外:用户显式要求 PM thread 实现;hotfix(`mstar-phase-gates`)
|
|
248
|
+
- PM **NEVER** 在 PM 线程实现产品代码(delegate dev;hotfix 例外见 **`mstar-phase-gates`**)
|
|
249
|
+
- `Subagent invokes issued: 0` 而 Assignment 已写出 → **`dispatch incomplete`**;下一条补发 invoke,禁止 PM 顶替
|
|
250
|
+
- QC 初轮:**SDD → N=3**;**inline → N=1**;双轨 implement → **N=2**(同条消息发满 N)
|
|
259
251
|
|
|
260
252
|
### 2.6 Push 纪律
|
|
261
253
|
|
|
@@ -304,26 +296,16 @@ PM **必须**在对话中打印本 checklist;不得默认同过。
|
|
|
304
296
|
|
|
305
297
|
### 3.2 知识结晶(Compound)—— 迭代级核心收口
|
|
306
298
|
|
|
307
|
-
**Compound 在此执行,不在 per-plan Done 后独立执行。**
|
|
308
|
-
|
|
309
|
-
PM 触发 `mstar-compound`(可批量):
|
|
310
|
-
|
|
311
|
-
1. **收集素材**:回顾本迭代所有 plan 的实现、debug、review 过程,识别以下类型的可结晶知识:
|
|
312
|
-
- 非平凡 bug 修复及其诊断过程
|
|
313
|
-
- 新引入的架构模式或约定
|
|
314
|
-
- 工具链决策及其理由
|
|
315
|
-
- 跨 plan 重复出现的模式
|
|
316
|
-
- 有价值的排错经验
|
|
317
|
-
|
|
318
|
-
2. **逐条判定**:对每条候选知识,回答 `mstar-compound` 的 Q1-Q8 自检;跳过项要在 compass `## Compound Round Summary` 记录原因。
|
|
319
|
-
|
|
320
|
-
3. **写入或更新**:值得结晶的条目按 `mstar-compound` Phase 1-7 写入 `{KNOWLEDGE_DIR}/<category>/<slug>.md`,或在高重叠时更新已有文档。
|
|
299
|
+
**Compound 在此执行,不在 per-plan Done 后独立执行。** 工作流 SSOT → **`mstar-compound`**(Q1–Q8 自检、Phase 1–7、Phase 6 索引登记强制)。
|
|
321
300
|
|
|
322
|
-
|
|
301
|
+
PM 批量触发后须:
|
|
323
302
|
|
|
324
|
-
|
|
303
|
+
1. 收集本迭代 plan 实现 / debug / review 素材,筛候选知识
|
|
304
|
+
2. 逐条过 `mstar-compound` 自检;跳过项记入 compass `## Compound Round Summary`
|
|
305
|
+
3. 写入或更新 `{KNOWLEDGE_DIR}/<category>/<slug>.md`;新领域词更新 `CONCEPTS.md`
|
|
306
|
+
4. **每篇**新 doc 完成 Phase 6(`{KNOWLEDGE_DIR}/README.md` 登记)
|
|
325
307
|
|
|
326
|
-
|
|
308
|
+
若无结晶,仍在 `## Compound Round Summary` 写明 `无可结晶知识` 及原因。
|
|
327
309
|
|
|
328
310
|
### 3.3 更新 roadmap
|
|
329
311
|
|
|
@@ -430,7 +412,8 @@ PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权
|
|
|
430
412
|
| `mstar-phase-gates` | per-plan gate 判定 |
|
|
431
413
|
| `mstar-plan-conventions` | 路径符号(`{ITERATION_DIR}`、`{HARNESS_DIR}`) |
|
|
432
414
|
| `mstar-plan-artifacts` | `status.json` SSOT、`{ITERATION_DIR}` 索引维护 |
|
|
433
|
-
| `mstar-
|
|
415
|
+
| `mstar-sdd` | SDD implement 波次 — per-plan loop |
|
|
416
|
+
| `mstar-review-qc` | SDD 强制 plan QC tri — per-plan loop |
|
|
434
417
|
| `mstar-branch-worktree` | 分支/merge/worktree 隔离 |
|
|
435
418
|
| `mstar-compound` | iteration-close 中触发知识结晶 |
|
|
436
419
|
| `mstar-compound-refresh` | iteration-close 后可触发知识维护 |
|
|
@@ -449,3 +432,4 @@ PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权
|
|
|
449
432
|
- 不要跳过 compound——如果本迭代确实没有可结晶的知识,在 compass `## Compound Round Summary` 写 `无可结晶知识(原因:<简述>)`
|
|
450
433
|
- 不要将 **Phase 4 开 PR** 等同于 **迭代交付完成** — 必须完成 **Phase 5** §5.5 merge-ready loop
|
|
451
434
|
- 不要在 Phase 5 跳过 review comment + resolve 纪律(§5.1 step 5)
|
|
435
|
+
- **不要在 SDD plan 上以单席 `qc.md` 收尾**(除非用户书面 `QC mode: single — override`)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-phase-gates
|
|
3
|
-
description: Morning Star (启明星) Spec-Driven 双阶段门禁 —— Prepare(`specify → clarify → plan`)、Execute(`plan(locked) → tasks → implement
|
|
3
|
+
description: Morning Star (启明星) Spec-Driven 双阶段门禁 —— Prepare(`specify → clarify → plan`)、Execute(`plan(locked) → tasks → implement`;多 task 默认 **`Execution mode: sdd`**)、意图门禁、长期目标优先、分批 roadmap 强制落盘、clarify 核心纪律、hotfix 压缩路径、可验证编辑、Phase Gate 最小证据。**必须**在 PM 判定 gate、首次 implement 派单前、产品/架构参与 Prepare、或解释为何不能跳过 plan/clarify 时 Read;`@project-manager` 每轮编排非 hotfix 任务必读;`@product-manager` / `@architect` 写规格与锁 plan 时必读 Prepare 节;实现角色 Read Execute 与 hotfix 例外即可。Task category 与 `quick` 禁豁免规则仍在 `mstar-harness-core`。实现行为见 `mstar-coding-behavior`;SDD 见 `mstar-sdd`;迭代级活动见 `mstar-iteration`。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Load order(必读顺序)
|
|
@@ -29,7 +29,7 @@ description: Morning Star (启明星) Spec-Driven 双阶段门禁 —— Prepare
|
|
|
29
29
|
- **`plan(locked)`** — 冻结基线;实现中出现新约束时**先回写 plan 再继续**。
|
|
30
30
|
- **`tasks`** — 含依赖顺序、并行标记、完成判据;每任务可追踪到 plan、roadmap 批次与验收标准。
|
|
31
31
|
- **并行标签**:若 PM 将 ≥2 条实现轨 **同时** 分派,须在 Assignment 写明 `Dispatch mode: parallel independent tracks`;同仓 ≥2 可写并发时写明 `Worktree isolation: required`(见 **`mstar-dispatch-gates`** 与 **`mstar-branch-worktree`**)。
|
|
32
|
-
- **`implement`** — 按 tasks
|
|
32
|
+
- **`implement`** — 按 tasks 顺序执行;多 task plan **默认** `Execution mode: sdd`(`mstar-sdd`);hotfix 可 `inline`。完成进入 `InReview`;遵循 **`mstar-coding-behavior`**。
|
|
33
33
|
|
|
34
34
|
### 可验证编辑与上下文纪律
|
|
35
35
|
|
|
@@ -39,55 +39,20 @@ description: Morning Star (启明星) Spec-Driven 双阶段门禁 —— Prepare
|
|
|
39
39
|
|
|
40
40
|
### Hotfix 例外
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
压缩路径与事后补记见下文 **§ Hotfix 例外**(Playbook 末尾)。
|
|
43
43
|
|
|
44
44
|
## Phase Gate Playbook
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
执行动作与最小产物见上文 **§ Spec-Driven 双阶段门禁**。本节仅 **Playbook 补充**(不重复 Prepare/Execute 长文)。
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
### Execute 补充(Playbook 专有)
|
|
49
49
|
|
|
50
|
-
-
|
|
51
|
-
- 热修可走压缩路径,但必须补事后 `clarify/RCA` 记录。
|
|
52
|
-
|
|
53
|
-
## 两阶段门禁(per-plan Playbook)
|
|
54
|
-
|
|
55
|
-
### A. Prepare
|
|
56
|
-
|
|
57
|
-
顺序:`specify -> clarify -> plan`
|
|
58
|
-
|
|
59
|
-
- `specify`
|
|
60
|
-
- 目标:定义问题、范围、验收。
|
|
61
|
-
- 最小产物:问题陈述、目标用户价值、非目标、DoD 草案。
|
|
62
|
-
- `clarify`
|
|
63
|
-
- 目标:收敛会影响方案或验收的歧义。
|
|
64
|
-
- 最小产物:歧义清单 + 结论;若未收敛则 `blocked`。
|
|
65
|
-
- **意图**:区分字面请求与真实目标;手段/目标混淆须在此收敛(见本 skill `SKILL.md` Intent gate)。
|
|
66
|
-
- **结构化澄清**:与用户核对歧义或决策时,`@project-manager`(及直接与用户对话的角色)在**宿主支持**时优先用 `question` 类能力拉齐输入;否则用等价结构化正文。宿主差异细则见当前宿主的 `mstar-host` skill。
|
|
67
|
-
- **`clarify` 核心纪律**(见 **`mstar-phase-gates` SKILL.md** Prepare · `clarify`):逐方面核对至共享理解;沿设计决策树逐枝、一次一决;能探索代码库则先探索;每问附推荐答案;阶段末汇总已决与仍 open 假设。
|
|
68
|
-
- `plan`
|
|
69
|
-
- 目标:给出可执行技术方案与风险控制。
|
|
70
|
-
- 最小产物:目标状态、方案、模块边界/接口契约、风险与回滚、验证计划。
|
|
71
|
-
- **准入**:能书面写出真实目标、成功判据、非目标后再锁 plan(同 `SKILL.md`)。
|
|
72
|
-
- **分批准入**:若计划不是一次性交付完整范围,须写 `Roadmap / Batch Plan`:本批做什么、后续批次做什么、依赖顺序、暂缓项、owner/触发条件、最终 Done 定义;缺失则 `blocked`。
|
|
73
|
-
|
|
74
|
-
### B. Execute
|
|
75
|
-
|
|
76
|
-
顺序:`plan locked -> tasks -> implement`
|
|
77
|
-
|
|
78
|
-
- `plan locked`
|
|
79
|
-
- 目标:冻结本轮基线,防止边做边漂移。
|
|
50
|
+
- **`plan locked`**
|
|
80
51
|
- 最小动作:在 plan 或 notes 记录当前锁定版本(日期或 hash)。
|
|
81
|
-
- `
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
- `implement`
|
|
86
|
-
- 目标:按任务执行并提交证据,进入审查。
|
|
87
|
-
- 最小产物:实现 diff、自检证据、回报与 handoff。
|
|
88
|
-
- **行为准则**:执行中遵循 `mstar-coding-behavior`(不静默假设、优先简单方案、只做与任务直接相关的手术式改动、按 `Step -> verify` 推进)。
|
|
89
|
-
- **编辑纪律**:改文件前以磁盘为准重读;Patch 失败则重读、缩小步长,禁止盲试(见 **`mstar-phase-gates` SKILL.md**「可验证编辑与上下文纪律」)。
|
|
90
|
-
- **知识库 / 迭代 compass**:若项目在 `plans[].metadata` 中登记了 `primary_spec` / `spec_refs` / `iteration_compass` / `iteration_refs`,**开工前**须阅读并在回报中说明已对齐;规则见 **`mstar-plan-conventions`** 与 **`mstar-plan-artifacts/references/knowledge-and-designs.md`**。
|
|
52
|
+
- **Plan 质量门**(新 plan / 大改):无 placeholder(`...`、`TBD`、`etc.`);含 **Global Constraints** 与 per-task **Interfaces**;PM self-review 三问(每 task 可独立验证?依赖顺序清晰?无隐含假设?)— 见 `mstar-plan-artifacts/templates/plan.main.md`。
|
|
53
|
+
- **`implement`**
|
|
54
|
+
- 最小产物:实现 diff、自检证据、回报与 handoff;行为准则 → **`mstar-coding-behavior`**;编辑纪律 → 上文「可验证编辑与上下文纪律」。
|
|
55
|
+
- **知识库 / 迭代 compass**:若 `plans[].metadata` 登记了 `primary_spec` / `spec_refs` / `iteration_compass` / `iteration_refs`,**开工前**须阅读并在回报中说明已对齐 → **`mstar-plan-conventions`** · **`mstar-plan-artifacts/references/knowledge-and-designs.md`**。
|
|
91
56
|
|
|
92
57
|
## 角色职责
|
|
93
58
|
|
|
@@ -112,7 +77,7 @@ per-plan Done 是 per-plan 的闭环终点;compound 是迭代级收口活动
|
|
|
112
77
|
|
|
113
78
|
## Plan 目录与审查报告(启用 `{PLAN_DIR}` 时)
|
|
114
79
|
|
|
115
|
-
- 进入 `InReview` 后,QC
|
|
80
|
+
- 进入 `InReview` 后,QC 产出落入 `{PLAN_DIR}/reports/<plan-id>/`(**SDD 默认 tri** `qc1`…`qc-consolidated`;**inline** 单席 `qc.md`)。**fix 后默认 targeted re-review**。SDD per-task review 在 implement 波次内完成(`mstar-sdd` task reviewer)。
|
|
116
81
|
- 非阻断项与后续技术债:PM 汇总后写入 `{HARNESS_DIR}/status.json` 根级 `residual_findings[<plan-id>]`(**open**,与 `plans` 平级;canonical 见 **`mstar-plan-artifacts` SKILL.md**);关闭后迁入 `{HARNESS_DIR}/archived/residuals/<plan-id>.json`,与 `mstar-review-qc` 一致。每条 **`severity`** 遵守 **`mstar-plan-artifacts/references/status-and-residuals.md`**「Residual findings:severity(SSOT,机器字段)」。
|
|
117
82
|
|
|
118
83
|
## 快速判定(PM)
|
|
@@ -12,6 +12,7 @@ description: Morning Star plan harness artifacts — `{PLAN_DIR}` main plans and
|
|
|
12
12
|
| Topic | See |
|
|
13
13
|
|-------|-----|
|
|
14
14
|
| Main plan, reports naming, QC waves, residual and plan index order | `references/plan-files-and-reports.md` |
|
|
15
|
+
| Plan template (Global Constraints, Interfaces) | `templates/plan.main.md` |
|
|
15
16
|
| knowledge / iterations / specs boundaries and indexes | `references/knowledge-and-designs.md` |
|
|
16
17
|
| Done row compaction Profile A/B | `references/done-compaction.md` |
|
|
17
18
|
| `status.json`, residual severity, lifecycle, `jq` | `references/status-and-residuals.md` |
|
|
@@ -15,10 +15,21 @@
|
|
|
15
15
|
| 类型 | 文件名(相对 `reports/<plan-id>/`) |
|
|
16
16
|
|------|--------|
|
|
17
17
|
| 架构/设计评审 | `<plan-id>-review.md`(或团队约定的 `review.md`) |
|
|
18
|
-
| QC
|
|
19
|
-
| QC
|
|
18
|
+
| QC 三审报告(**SDD 默认** `Execution mode: sdd`) | `qc1.md`、`qc2.md`、`qc3.md` |
|
|
19
|
+
| QC 单席报告(**`inline` / hotfix 例外**) | `qc.md` |
|
|
20
|
+
| QC 汇总结论(tri 模式) | `qc-consolidated.md` |
|
|
20
21
|
|
|
21
|
-
##
|
|
22
|
+
## SDD 运行时(不入 reports)
|
|
23
|
+
|
|
24
|
+
Per-task briefs, implementer reports, and review diffs live under **`{SDD_DIR}`** (`mstar-plan-conventions`). Gitignored. Main plan may index `{SDD_DIR}` path only — do not paste SDD bodies into plan markdown.
|
|
25
|
+
|
|
26
|
+
Plan template with Global Constraints / Interfaces → **`templates/plan.main.md`**.
|
|
27
|
+
|
|
28
|
+
## QC 模式(L3 plan 级)
|
|
29
|
+
|
|
30
|
+
职责分层 L1–L4 → **`mstar-review-qc/references/review-responsibility-boundaries.md`**。报告 basename 见上表;触发时机与 re-review 波次见下节 **§ QC 三审触发时机**。
|
|
31
|
+
|
|
32
|
+
## QC 分报告与 consolidated(tri 模式)
|
|
22
33
|
|
|
23
34
|
- **不要删除** `qc1.md`、`qc2.md`、`qc3.md` **只因为**已写入 `qc-consolidated.md`。`reports/<plan-id>/` 是**审计链**:分 reviewer 原文保留**证据出处、分歧与独立视角**;**consolidated** 是 PM 的**门控摘要**,二者**叠加**,**不互为替代**。
|
|
24
35
|
- **极窄例外**(须团队显式采纳并承担审计缺口):例如仓库体积极敏感时,仅保留 consolidated + 指向外部归档的链接——**不在**本默认 harness 中推荐;默认仍保留三份 `qc*.md`。
|
|
@@ -27,14 +38,15 @@
|
|
|
27
38
|
|
|
28
39
|
- **Open 条目的单一事实来源(SSOT)**是 **`{HARNESS_DIR}/status.json`** 根级 **`residual_findings[<plan-id>]`**(与 `plans` 平级;canonical 见 `mstar-plan-artifacts` **SKILL.md** 开篇;字段见 `mstar-plan-artifacts/references/status-and-residuals.md`)。跨会话 handoff、关闭与归档流程**以该数组为准**。
|
|
29
40
|
- **推荐操作顺序**(避免 plan 与 JSON 两套 ID 漂移):
|
|
30
|
-
1.
|
|
41
|
+
1. `project-manager` 读完三份 QC 报告并完成「QC 三审轻量汇总」:对 finding **去重合并**,为每条待跟踪项分配**稳定 `id`**(如 `R1`、`R2`,全 plan 内唯一)。
|
|
31
42
|
2. **立即**将上述条目写入根级 **`residual_findings[<plan-id>]`**(含 `source` 指向哪位 QC / 哪份报告文件名,便于回溯);**勿**与 legacy 侧双写(见 `mstar-plan-conventions` **SKILL.md** 开篇)。
|
|
32
43
|
3. **可选**:在主 plan 中增加 **「Residual findings(索引)」** 小节,**仅复述** `id` + 短标题 + 决策摘要,并写明「**权威列表见** `status.json` 根级 `residual_findings[<plan-id>]`(见 `mstar-plan-conventions` **SKILL.md** 开篇)」。**不要**只在主 plan 里「发明」R# 而不写回 SSOT。
|
|
33
44
|
- **不要**反过来把主 plan 当作唯一登记处:若仅更新 plan、`status.json` 未同步,下一任 agent **无法**依赖 SSOT 继承债务状态。
|
|
34
45
|
|
|
35
46
|
## QC 三审触发时机(单 plan · 多 batch)
|
|
36
47
|
|
|
37
|
-
-
|
|
48
|
+
- **默认(SDD)**:同一 **`plan_id`** 下,**plan QC tri-review**(`qc-specialist` ×3 → `qc1`…`qc3` + consolidated)**仅在** dev team 按该 plan 约定范围全部交付、且 **L2 task reviewers** 均已通过后执行 **一次**。**不要**在每个中间 batch 跑完整三审。
|
|
49
|
+
- **单席例外**:`Execution mode: inline` / hotfix → 交付完成后 **一次** `qc.md`(`QC mode: single`)。
|
|
38
50
|
- **batch 之间**:依赖实现方按 **`mstar-coding-behavior`** 提供完成证据、主 plan 任务勾选与 PM 协调;需要书面中间意见时,用对话、主 plan 批注或**非三审**的定向检查(如单审、架构 review),**不**默认等同「又一轮完整三审」。
|
|
39
51
|
- **After `Request Changes` (default — targeted re-review)**:PM maps each **blocking** finding to the QC seat that raised it (`source` on R#, consolidated table, or the originating `qcN.md` / `F-###`). Dispatch **only** those reviewers (`QC re-review: targeted — reviewers: qc-specialist, qc-specialist-2, …`). Each re-reviewing QC **updates the same** `qc1.md` / `qc2.md` / `qc3.md` in place (add `## Revalidation`, refresh verdict / `generated_at`); **do not** add `qc1-rev2.md` siblings on this path. PM **updates the same** `qc-consolidated.md` in place. Git history is the audit trail.
|
|
40
52
|
- **Full tri re-review (exception)**:Only when Assignment states **`QC re-review: full tri-review`**. Run **three** parallel reviews again; use **new basenames** (`qc1-rev2.md` … `qc3-rev2.md`, `qc-consolidated-rev2.md`) so wave-1 files stay immutable; PM states **active wave** in consolidated decision. See `mstar-review-qc` · `mstar-dispatch-gates`.
|
|
@@ -47,17 +59,17 @@
|
|
|
47
59
|
- **并行 vs 串行**:不同 `plan_id` **相互独立**时,可 **并行**派发多组三审(每组各自的 Assignment 与 `reports/<plan-id>/`);若 PM 选择串行,须在 Status Update 写明顺序——**每组仍须完整三审 + QA**,不是「一个大 QC」混审。
|
|
48
60
|
- **读 skill**:书写或派发 QC 相关 Assignment 前,PM **必须** Read **`mstar-review-qc`** skill(`mstar-plan-conventions` 不重复 QC 清单与 verdict 规则)。见 `mstar-plan-conventions` SKILL.md **QC pre-dispatch gate** 与 **InReview 与 QC+QA** 小节。
|
|
49
61
|
|
|
50
|
-
**QC
|
|
62
|
+
**QC 落盘与宿主权限**:`qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 在支持路径白名单的宿主上(如 OpenCode 的 **`permission.edit`**),**仅可** Write/Edit **`{PLAN_DIR}/reports/`** 下 **`.md`**(全局 agent 提示词中已配置 `.mstar/plans/reports/**`、`.agents/plans/reports/**`、`.plans/reports/**`、`plans/reports/**` 相对路径)。报告文件**必须**以 YAML **frontmatter** 开头(键见各 QC agent 提示词)。**若** 项目的 `{PLAN_DIR}` 不落在上述根下,须在**项目级**宿主配置(如 OpenCode)中为 QC 角色追加对应的 `edit` allow 规则。
|
|
51
63
|
|
|
52
64
|
**QC 报告与 Git**:报告落盘后,各 QC 角色须在业务仓内对**本次报告文件**执行 **`git add` + `git commit`**(细则与 bash 权限见 `agents/qc-specialist*.md`);**禁止**仅落盘不提交导致 `clone` 后不可见。**PM / architect / product-manager** 对 **`{HARNESS_DIR}`** / **`{PLAN_DIR}`** 与主 plan 的创建与更新亦须在业务仓内 **commit**(见 `agents/project-manager.md` Plan 初始化与 PM 职责、`agents/architect.md` / `agents/product-manager.md` Git 小节)。
|
|
53
65
|
|
|
54
66
|
## 主 plan 内任务清单(Markdown checkbox)
|
|
55
67
|
|
|
56
|
-
-
|
|
68
|
+
- **谁应更新**:`fullstack-dev` / `frontend-dev` / `fullstack-dev-2`、`qa-engineer`、`ops-engineer`、`architect`、`product-manager` 在**完成本人 Assignment 范围内的工作后**,须在主 plan(`<plan-id>-<plan-name>.md`)中把**对应条目**的 Markdown 任务标记为已完成(常见:`- [ ]` → `- [x]`;若项目用其它清单记号,保持同文件内一致)。与 Completion Report **并列**,作为跨会话可核对的**落盘痕迹**。
|
|
57
69
|
- **范围**:**只勾选与当前任务直接对应、且已由本角色交付证据支撑的条目**;不得代为勾选他人负责或未完工项。若正文用分段、Owner 或角色标签区分任务,以 Assignment 与文内约定为准。
|
|
58
|
-
- **与 `status.json` / frontmatter 的关系**:勾选任务**不**等于整条计划收口。`plans[].status` 及主 plan frontmatter 的 **`Done`** 仍**仅**
|
|
59
|
-
-
|
|
60
|
-
- **只读角色**:不直接改主 plan;将建议交给
|
|
70
|
+
- **与 `status.json` / frontmatter 的关系**:勾选任务**不**等于整条计划收口。`plans[].status` 及主 plan frontmatter 的 **`Done`** 仍**仅** `project-manager` / `qa-engineer`(见「状态更新权限」)。`architect` / `product-manager` **不得**擅自将整条计划标为 `Done`;是否将 `status.json` 推进为 `InReview` 等仍按下文「状态更新权限」与 Assignment。
|
|
71
|
+
- **`qc-specialist*`**:**不得**修改主 plan(宿主仅允许 `{PLAN_DIR}/reports/**/*.md`);审查结论落在 `reports/<plan-id>/` 内。若主 plan 需新增或勾选与审查相关的条目,由 `project-manager` 或 Assignment 明确授权的角色据报告回写。
|
|
72
|
+
- **只读角色**:不直接改主 plan;将建议交给 `project-manager` 代为更新清单。
|
|
61
73
|
|
|
62
74
|
Plan 正文与 `status.json` 必须保持一致;不一致时以 `status.json` 的条目状态为准并尽快纠正正文或登记 notes。
|
|
63
75
|
|
|
@@ -125,6 +125,9 @@ In old JSON, **`"severity": "warning"`** is read and rolled up as **`low`**. **F
|
|
|
125
125
|
| `iteration_compass` | string | Optional `{ITERATION_DIR}/…` |
|
|
126
126
|
| `iteration_refs` | string[] | Optional multiple compass paths |
|
|
127
127
|
| `qc_status` / `tests` / `commits` | string | InReview/Done snapshots; not a substitute for `{PLAN_DIR}/reports/` |
|
|
128
|
+
| `sdd_dir` | string | SDD scratch path, e.g. `{HARNESS_DIR}/sdd/<plan-id>/` (gitignored; `mstar-sdd`) |
|
|
129
|
+
| `sdd_progress` | string | Optional pointer to `{SDD_DIR}/progress.md` ledger |
|
|
130
|
+
| `task_commits` | array\<object\> | SDD recovery: `{ "task_id": "T1", "base": "<sha>", "head": "<sha>" }` per completed task |
|
|
128
131
|
|
|
129
132
|
### Optional delivery ledger (`phase` + `batches` + `verification`)
|
|
130
133
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# [Feature Name] Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use `mstar-sdd` (recommended) or inline execution. Steps use checkbox (`- [ ]`) syntax.
|
|
4
|
+
|
|
5
|
+
**Goal:** [One sentence]
|
|
6
|
+
|
|
7
|
+
**Architecture:** [2–3 sentences]
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** [Key technologies]
|
|
10
|
+
|
|
11
|
+
**Execution:** mstar-sdd | inline
|
|
12
|
+
|
|
13
|
+
## Global Constraints
|
|
14
|
+
|
|
15
|
+
[Project-wide requirements — version floors, naming, exact values — copied verbatim from spec. Every task implicitly includes this section.]
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
### Task 1: [Component Name]
|
|
20
|
+
|
|
21
|
+
**Files:**
|
|
22
|
+
- Create: `exact/path/to/file`
|
|
23
|
+
- Modify: `exact/path/existing.py`
|
|
24
|
+
- Test: `tests/path/test.py`
|
|
25
|
+
|
|
26
|
+
**Interfaces:**
|
|
27
|
+
- Consumes: [signatures from earlier tasks]
|
|
28
|
+
- Produces: [what later tasks rely on]
|
|
29
|
+
|
|
30
|
+
- [ ] **Step 1: Write the failing test**
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
# complete test code
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- [ ] **Step 2: Run test — expect FAIL**
|
|
37
|
+
|
|
38
|
+
Run: `pytest tests/path/test.py -v`
|
|
39
|
+
|
|
40
|
+
- [ ] **Step 3: Minimal implementation**
|
|
41
|
+
|
|
42
|
+
- [ ] **Step 4: Run test — expect PASS**
|
|
43
|
+
|
|
44
|
+
- [ ] **Step 5: Commit**
|
|
45
|
+
|
|
46
|
+
## Plan self-review (PM before locked)
|
|
47
|
+
|
|
48
|
+
1. **Spec coverage:** every spec requirement maps to a task
|
|
49
|
+
2. **Placeholder scan:** no TBD, no "add tests" without code
|
|
50
|
+
3. **Type consistency:** names match across tasks
|
|
51
|
+
|
|
52
|
+
## SDD runtime (ephemeral)
|
|
53
|
+
|
|
54
|
+
When using `mstar-sdd`, artifacts live under `{SDD_DIR}` (see `mstar-plan-conventions`). Do not duplicate briefs/reports in this file.
|
|
@@ -11,7 +11,8 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
11
11
|
|-----------------|------|
|
|
12
12
|
| `mstar-plan-artifacts` | 主 plan、reports、`status.json`、residual、InReview/QC 波次、knowledge |
|
|
13
13
|
| `mstar-branch-worktree` | Assignment 写分支 / worktree / QC 检出 |
|
|
14
|
-
| `mstar-review-qc` | 派 QC
|
|
14
|
+
| `mstar-review-qc` | 派 QC(PM 同轮必读;SDD 强制 tri) |
|
|
15
|
+
| `mstar-sdd` | PM 执行 `Execution mode: sdd` 的 implement 波次 |
|
|
15
16
|
|
|
16
17
|
## 路径符号(SSOT)
|
|
17
18
|
|
|
@@ -19,6 +20,7 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
19
20
|
|------|------|
|
|
20
21
|
| `{HARNESS_DIR}` | `.mstar/` |
|
|
21
22
|
| `{PLAN_DIR}` | `{HARNESS_DIR}/plans/` |
|
|
23
|
+
| `{SDD_DIR}` | `{HARNESS_DIR}/sdd/<plan-id>/`(SDD 运行时 scratch;gitignore) |
|
|
22
24
|
| `{ITERATION_DIR}` | `{HARNESS_DIR}/iterations/` |
|
|
23
25
|
| `{KNOWLEDGE_DIR}` | `{HARNESS_DIR}/knowledge/` |
|
|
24
26
|
| `{SPECS_DIR}` | `specs/` 优先,否则 `designs/` |
|
|
@@ -51,8 +53,9 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
51
53
|
PM 在需要持久化追踪时:
|
|
52
54
|
|
|
53
55
|
1. 建 `.mstar/`、`plans/`、`status.json`(空模板见 **`mstar-plan-artifacts/templates/status.empty.json`**)
|
|
54
|
-
2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.empty.json`**)、`reports/README.md`、`knowledge/`、`iterations/`、`specs
|
|
55
|
-
3.
|
|
56
|
+
2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.empty.json`**)、`reports/README.md`、`knowledge/`、`iterations/`、`specs/`、`sdd/`(空目录占位;运行时 per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建)
|
|
57
|
+
3. 项目根 `.gitignore` 追加 `.mstar/sdd/`(或 `.agents/sdd/` legacy)— CLI `init` 可自动添加
|
|
58
|
+
4. Git:团队交付 **勿** ignore 整个 `{HARNESS_DIR}`(handoff 需 clone 可达)
|
|
56
59
|
|
|
57
60
|
步骤与 `{HARNESS_DIR}/AGENTS.md` 分层 → **`references/harness-bootstrap-and-agents-layering.md`**。
|
|
58
61
|
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
| **知识文档** | `.mstar/knowledge/<category>/<slug>.md` | `mstar-compound`(写)、`mstar-compound-refresh`(读写) |
|
|
14
14
|
| **知识索引** | `.mstar/knowledge/README.md` | `mstar-compound`(写)、`mstar-compound-refresh`(读写) |
|
|
15
15
|
| **主 plan** | `.mstar/plans/<plan-id>-<name>.md` | PM / `mstar-plan-artifacts` |
|
|
16
|
-
| **QC 报告** | `.mstar/plans/reports/<plan-id>/
|
|
16
|
+
| **QC 报告** | `.mstar/plans/reports/<plan-id>/qc1.md`…`qc3.md` + consolidated(**SDD 默认**);`qc.md`(inline 例外) | `mstar-review-qc` |
|
|
17
|
+
| **SDD scratch** | `{HARNESS_DIR}/sdd/<plan-id>/`(gitignored) | `mstar-sdd` |
|
|
17
18
|
| **status.json** | `.mstar/status.json` | `mstar-plan-artifacts` |
|
|
18
19
|
| **迭代 compass** | `.mstar/iterations/<iteration-id>-delivery-compass.md` | `mstar-iteration`(读写) |
|
|
19
20
|
| **迭代索引** | `.mstar/iterations/README.md` | `mstar-iteration`(读写) |
|
package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
1. 创建 `{HARNESS_DIR}`(推荐 `.mstar/`)与 `{PLAN_DIR}`(推荐 `.mstar/plans/`)。
|
|
16
16
|
2. 初始化 `status.json`:从 **`mstar-plan-artifacts/templates/status.empty.json`** 复制;residual canonical 见 **`mstar-plan-artifacts` SKILL.md**;字段与生命周期见 **`mstar-plan-artifacts/references/status-and-residuals.md`**。
|
|
17
|
-
3. 初始化可选 `notes.json`(**`mstar-plan-artifacts/templates/notes.empty.json`**)与 `plans/reports/README.md
|
|
17
|
+
3. 初始化可选 `notes.json`(**`mstar-plan-artifacts/templates/notes.empty.json`**)与 `plans/reports/README.md`;`sdd/` 空目录占位(per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建;项目根 `.gitignore` 须含 `.mstar/sdd/`)。
|
|
18
18
|
4. **Profile B**(统一 Done 压缩)时另建 `{HARNESS_DIR}/archived/plans/` 与 `archived/plans-done.json`(自 **`mstar-plan-artifacts/templates/plans-done.empty.json`** 复制;schema 仅 `{ "plans": [] }`,见 **`mstar-plan-artifacts/references/done-compaction.md`**)。
|
|
19
19
|
5. 可选:创建 `{ITERATION_DIR}`(`iterations/` + `README.md`)与 `{KNOWLEDGE_DIR}`(`knowledge/` + `README.md`);内容边界见 `mstar-plan-conventions` SKILL.md 与 `references/knowledge-and-designs.md`。
|
|
20
20
|
6. 创建 `{HARNESS_DIR}/AGENTS.md`(harness 子树规则):符号表可复述 `{HARNESS_DIR}`、`{PLAN_DIR}`、`{ITERATION_DIR}`、`{KNOWLEDGE_DIR}`、`{SPECS_DIR}` 与 `docs/` 分工;新项目推荐 `.mstar/AGENTS.md`,已有项目可继续使用 `.agents/AGENTS.md`。
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-review-qc
|
|
3
|
-
description: Morning Star QC/QA review baseline —
|
|
3
|
+
description: Morning Star QC/QA review baseline — **SDD plans: mandatory plan QC tri-review** (`qc1`…`qc3` + consolidated); inline/hotfix single-seat (`qc.md`); checklists, report template, targeted re-review, residual gate. Per-task review is **`mstar-sdd`** task reviewers (L2). Use when `qc-specialist*` review, `qa-engineer` verifies, or `project-manager` dispatches/consolidates QC.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Load order(必读顺序)
|
|
7
7
|
|
|
8
8
|
**在同一会话或任务中首次 Read 本 skill 时:必须先 Read `mstar-harness-core` skill(SKILL.md),并按需 Read **`mstar-branch-worktree`**(`Review cwd` / `Working branch` / `Review range`)。** 本 skill 只定义 QC/QA **工作流与报告形态**;派发与三审同消息规则见 **`mstar-dispatch-gates`**;**同仓 worktree 与单一待审 `HEAD`** 以 **`mstar-branch-worktree`** 为准。冲突时 **以 `mstar-harness-core` 为准**。
|
|
9
9
|
|
|
10
|
-
**摘要**:`mstar-harness-core` — QC-QA
|
|
10
|
+
**摘要**:`mstar-harness-core` — QC-QA 检出与派发门禁;本 skill — 审查清单、报告模板、verdict 与 residual 留档契约。职责分层 → **`references/review-responsibility-boundaries.md`**。
|
|
11
11
|
|
|
12
12
|
# Morning Star QC Review Baseline(QC 审查基线)
|
|
13
13
|
|
|
14
|
-
本 skill 定义所有 QC
|
|
14
|
+
本 skill 定义所有 QC 审查员的共享基线。**`Execution mode: sdd` 时:plan 级强制 tri-review**(QC#1/#2/#3 交叉审整分支 → `qc1`…`qc3` + `qc-consolidated.md`)。**`inline` / hotfix** 可用单席 `qc.md`。三审共用正文以 **`mstar-roles`** `qc-specialist-shared` 为准。
|
|
15
15
|
|
|
16
16
|
## 分派时机(与 plan / batch 对齐)
|
|
17
17
|
|
|
18
|
-
-
|
|
19
|
-
-
|
|
18
|
+
- **`Execution mode: sdd`**(单 plan 与 iteration 均适用):全部 task + L2 task reviewers 完成后 → **强制 tri-review**(`QC mode: full tri-review`,**N=3**)。Assignment 须含 **branch review-package** 路径。PM 汇总 `qc-consolidated.md`。
|
|
19
|
+
- **`Execution mode: inline`**:单席 `qc-specialist` → `qc.md`(**N=1**),或按 hotfix 路由跳过。
|
|
20
20
|
- **After `Request Changes` (default)**:**Targeted re-review** — PM dispatches only QC seats that **raised** blocking findings for this fix round; each updates **the same** `{PLAN_DIR}/reports/<plan-id>/qcN.md` (e.g. `qc1.md` — no `<plan-id>` prefix in basename) (add `## Revalidation`, update verdict). **Do not** spawn `qcN-rev2.md` files on this path. Artifact naming and PM consolidated updates → **`mstar-plan-artifacts/references/plan-files-and-reports.md`** § QC 三审触发时机.
|
|
21
21
|
- **Full tri re-review (exception)**:Assignment must say **`QC re-review: full tri-review`**; then new basenames (`qc1-rev2.md` … `qc-consolidated-rev2.md`); PM marks **active wave** in consolidated decision.
|
|
22
22
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Review responsibility boundaries (1.0.0+)
|
|
2
|
+
|
|
3
|
+
## Four layers (orthogonal — do not collapse)
|
|
4
|
+
|
|
5
|
+
| Layer | Who | When | Scope | Input |
|
|
6
|
+
|-------|-----|------|-------|--------|
|
|
7
|
+
| **L1** Implementer | dev subagent | Per task | Write code + TDD evidence | `task-N-brief.md` |
|
|
8
|
+
| **L2** Task reviewer | PM-dispatched subagent (SDD) | Per task, after implementer | Spec + quality for **one task** | brief, report, **task-level** diff |
|
|
9
|
+
| **L3** Plan QC tri (cross-review) | `qc-specialist` + `qc-specialist-2` + `qc-specialist-3` | After **all** tasks on branch | Integration, regression, contract drift — **independent lenses, same branch diff** | Branch `review-package` MERGE_BASE..HEAD |
|
|
10
|
+
| **L4** QA | `qa-engineer` | After QC gate | Acceptance, residual, Done | QC reports + plan + `status.json` |
|
|
11
|
+
|
|
12
|
+
**SDD rule:** Layers L1–L2 run **per task** (serial). Layer L3 is **mandatory full tri-review** (`N=3`) whenever **`Execution mode: sdd`** — single-plan **and** iteration **and** multi-plan iteration. Layer L3 is **not** optional “final single review”.
|
|
13
|
+
|
|
14
|
+
**Non-SDD (`Execution mode: inline`):** hotfix / single-stream — plan QC may be **single-seat** (`qc.md`) or skipped per PM routing.
|
|
15
|
+
|
|
16
|
+
Per-task spec/quality is **done** in L2 before L3. QC seats do not re-derive each task from scratch; they cross-review the **whole branch** for gaps L2 could not see.
|
|
17
|
+
|
|
18
|
+
## Plan QC tri (SDD mandatory)
|
|
19
|
+
|
|
20
|
+
- Assignment: **`QC mode: full tri-review`** (implicit when `Execution mode: sdd`; PM may state explicitly).
|
|
21
|
+
- **N=3** same dispatch message: QC#1 architecture/maintainability → `qc1.md`; QC#2 security/correctness → `qc2.md`; QC#3 performance/reliability → `qc3.md`.
|
|
22
|
+
- PM **`qc-consolidated.md`** — cross-review synthesis; PM gate input.
|
|
23
|
+
- Dispatch must include **Review package path** (branch diff file).
|
|
24
|
+
- **NEVER** substitute a single `qc-specialist` for L3 when SDD was used, unless user override: `QC mode: single — override: <reason>`.
|
|
25
|
+
|
|
26
|
+
## Plan QC single-seat (inline / exception only)
|
|
27
|
+
|
|
28
|
+
- Report: `{PLAN_DIR}/reports/<plan-id>/qc.md`
|
|
29
|
+
- `Execution mode: inline` hotfix paths; or explicit override on SDD plan.
|
|
30
|
+
- `N=1`; no `qc-consolidated.md` required.
|
|
31
|
+
|
|
32
|
+
## Fix waves
|
|
33
|
+
|
|
34
|
+
| After | Fix dispatch |
|
|
35
|
+
|-------|----------------|
|
|
36
|
+
| Task review Critical/Important | Task fix subagent → task re-review (L2) |
|
|
37
|
+
| Plan QC Critical/Important | **One** fix subagent with **complete** finding list → **targeted** QC re-review (listed seats) |
|
|
38
|
+
|
|
39
|
+
## Minor findings
|
|
40
|
+
|
|
41
|
+
Task reviewer Minor → `{SDD_DIR}/progress.md` § Minor. Plan QC Minor → `qcN.md` + optional residual via PM.
|
|
@@ -60,13 +60,17 @@ Role `references/*.md` files include explicit **`NEVER`** sections (anti-recursi
|
|
|
60
60
|
|
|
61
61
|
### QC reviewer (`qc-specialist*` family)
|
|
62
62
|
|
|
63
|
+
**Default (SDD):** plan QC tri-review — `qc-specialist` / `qc-specialist-2` / `qc-specialist-3` → `qc1`…`qc3` + `qc-consolidated.md` when **`Execution mode: sdd`**.
|
|
64
|
+
|
|
65
|
+
**Exception (`inline` / hotfix):** single-seat → `qc.md` (`QC mode: single`).
|
|
66
|
+
|
|
63
67
|
| role_id | reviewer_index | focus | report_suffix |
|
|
64
68
|
| --- | --- | --- | --- |
|
|
65
69
|
| `qc-specialist` | `1` | Architecture coherence and maintainability risk | `qc1` → `{PLAN_DIR}/reports/<plan-id>/qc1.md` |
|
|
66
70
|
| `qc-specialist-2` | `2` | Security and correctness risk | `qc2` → `…/qc2.md` |
|
|
67
71
|
| `qc-specialist-3` | `3` | Performance and reliability risk | `qc3` → `…/qc3.md` |
|
|
68
72
|
|
|
69
|
-
PM consolidated: `…/qc-consolidated.md` (same folder; no `<plan-id>` basename prefix). Naming SSOT: `mstar-plan-artifacts/references/plan-files-and-reports.md`.
|
|
73
|
+
PM consolidated (tri mode): `…/qc-consolidated.md` (same folder; no `<plan-id>` basename prefix). Naming SSOT: `mstar-plan-artifacts/references/plan-files-and-reports.md`.
|
|
70
74
|
|
|
71
75
|
## Maintenance Rules
|
|
72
76
|
|
|
@@ -26,7 +26,7 @@ You are the architecture role and technical-spec writer. You are dispatched by `
|
|
|
26
26
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
27
27
|
|
|
28
28
|
- **NEVER** treat document-level parallelism (“split into N plans”, “Plan 002–010”, “Phase X ∥ Phase Y”, “N parallel tracks”) as permission to **invoke N subagents** in this session. The **plan/spec/ADR artifacts** are your deliverable; **scheduling** parallel execution is **PM’s next round**, not part of this assignment unless `Delegation: allowed (...)` explicitly lists callees.
|
|
29
|
-
- **NEVER** treat `Handoff:
|
|
29
|
+
- **NEVER** treat `Handoff: project-manager / fullstack-dev / qa-engineer …`, role names inside Completion Report templates, routing tables, or “suggested owner” groupings as **host invoke commands**; they are **narrative**, not authorization.
|
|
30
30
|
- **NEVER** infer you may call `Task` / subagents because the host **lists** `subagent_type` names (`architect`, `fullstack-dev`, …). **Tool availability ≠ delegation authorization**; only **`Delegation: allowed (...)`** grants callees.
|
|
31
31
|
- **NEVER** execute parallel-agent dispatch yourself to fan out child agents; dispatch is **PM-orchestration-only** (see `mstar-dispatch-gates`). If parallel runners are needed, report to PM for re-dispatch.
|
|
32
32
|
- **NEVER** treat `Gate Decision: blocked` (material, high-impact ambiguities still open) as permission to hand off “ready for implement” architecture—finish clarify, update the package, or return `Blocked` to PM.
|
|
@@ -26,7 +26,7 @@ You are dispatched by `project-manager` and report back with completion evidence
|
|
|
26
26
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
27
27
|
|
|
28
28
|
- **NEVER** invoke `frontend-dev`, `fullstack-dev`, `fullstack-dev-2`, or other roles to perform **this** assignment unless `Delegation: allowed (...)` explicitly lists them.
|
|
29
|
-
- **NEVER** offload UI implementation, tests, or evidence to
|
|
29
|
+
- **NEVER** offload UI implementation, tests, or evidence to `explore`; use glob/grep/read first—short read-only `explore` only per `mstar-harness-core` explore boundaries.
|
|
30
30
|
- **NEVER** treat `Handoff` lines, route arrows, Completion Report role lists, or routing prose as **invoke instructions**; they are narrative unless `Delegation: allowed` says otherwise.
|
|
31
31
|
- **NEVER** run parallel-agent dispatch as an implementer; this is **PM-only** (`mstar-dispatch-gates`).
|
|
32
32
|
- **NEVER** self-decide branch pivots (including switching to `main`/`master`) beyond PM’s `Working branch` / `Branch policy`; conflicting or missing branch facts => `Blocked` to PM.
|
|
@@ -38,7 +38,7 @@ Siblings for anti-recursion checks: `fullstack-dev`, `fullstack-dev-2`, `fronten
|
|
|
38
38
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
39
39
|
|
|
40
40
|
- **NEVER** invoke `fullstack-dev`, `fullstack-dev-2`, `frontend-dev`, or other roles to perform **this** assignment body unless `Delegation: allowed (...)` explicitly lists them.
|
|
41
|
-
- **NEVER** offload implementation, tests, or evidence to
|
|
41
|
+
- **NEVER** offload implementation, tests, or evidence to `explore`; use glob/grep/read first—short read-only `explore` only per `mstar-harness-core` explore boundaries.
|
|
42
42
|
- **NEVER** treat `Handoff` lines, route arrows, Completion Report role lists, or routing prose as **invoke instructions**; they are narrative unless `Delegation: allowed` says otherwise.
|
|
43
43
|
- **NEVER** run parallel-agent dispatch as an implementer; this is **PM-only** (`mstar-dispatch-gates`).
|
|
44
44
|
- **NEVER** self-decide branch pivots beyond PM’s `Working branch` / `Branch policy`; if `<base>` is missing or the working tree disagrees with the assignment, **Blocked** to PM.
|
|
@@ -30,7 +30,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
|
|
|
30
30
|
- **NEVER** treat `Handoff` lines, template role names, or routing tables as **invoke commands**; only `Delegation: allowed` authorizes callees.
|
|
31
31
|
- **NEVER** infer tool exposure (`Task`, subagent menus) implies authorization; **tool availability ≠ delegation**.
|
|
32
32
|
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
33
|
-
- **NEVER** delegate deploy/config changes, verification runs, or evidence capture to
|
|
33
|
+
- **NEVER** delegate deploy/config changes, verification runs, or evidence capture to `explore`.
|
|
34
34
|
|
|
35
35
|
## Responsibilities
|
|
36
36
|
|
|
@@ -31,7 +31,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
|
|
|
31
31
|
- **NEVER** infer you may call subagents because the host lists `subagent_type` names; **tool availability ≠ authorization**.
|
|
32
32
|
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
33
33
|
- **NEVER** point planning output to external default plan directories; use `{PLAN_DIR}` per `mstar-plan-conventions`.
|
|
34
|
-
- **NEVER** offload PRD/product-doc drafting to
|
|
34
|
+
- **NEVER** offload PRD/product-doc drafting to `explore`; short read-only orientation only per `mstar-harness-core`.
|
|
35
35
|
- **NEVER** label a Prepare package as “ready for implement” while `Gate Decision: blocked` for material ambiguities—resolve, document waivers with PM, or return `Blocked`.
|
|
36
36
|
- **NEVER** split delivery by saying “later / follow-up / next phase” without writing the product roadmap, deferred scope, and final completion definition in the assigned plan/spec.
|
|
37
37
|
|