@mstar-harness/opencode 0.7.9 → 1.0.1

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.
Files changed (39) hide show
  1. package/harness-commands/iteration-drive.md +17 -7
  2. package/harness-commands/iteration-start.md +5 -6
  3. package/harness-commands/mstar-bootstrap.md +4 -5
  4. package/harness-skills/mstar-coding-behavior/SKILL.md +1 -0
  5. package/harness-skills/mstar-dispatch-gates/SKILL.md +20 -8
  6. package/harness-skills/mstar-harness-core/SKILL.md +7 -5
  7. package/harness-skills/mstar-host/SKILL.md +1 -1
  8. package/harness-skills/mstar-host/references/codex.md +2 -2
  9. package/harness-skills/mstar-host/references/cursor.md +35 -9
  10. package/harness-skills/mstar-host/references/opencode.md +3 -0
  11. package/harness-skills/mstar-host/references/parallel-dispatch.md +24 -6
  12. package/harness-skills/mstar-iteration/SKILL.md +40 -34
  13. package/harness-skills/mstar-phase-gates/SKILL.md +11 -46
  14. package/harness-skills/mstar-plan-artifacts/SKILL.md +1 -0
  15. package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +16 -4
  16. package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +3 -0
  17. package/harness-skills/mstar-plan-artifacts/templates/plan.main.md +54 -0
  18. package/harness-skills/mstar-plan-conventions/SKILL.md +6 -3
  19. package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +2 -1
  20. package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +1 -1
  21. package/harness-skills/mstar-review-qc/SKILL.md +5 -5
  22. package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +41 -0
  23. package/harness-skills/mstar-roles/SKILL.md +5 -1
  24. package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +20 -0
  25. package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +33 -24
  26. package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +2 -1
  27. package/harness-skills/mstar-roles/references/project-manager.md +20 -11
  28. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +5 -3
  29. package/harness-skills/mstar-sdd/SKILL.md +126 -0
  30. package/harness-skills/mstar-sdd/references/file-handoffs.md +76 -0
  31. package/harness-skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
  32. package/harness-skills/mstar-sdd/references/implementer-prompt.md +55 -0
  33. package/harness-skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
  34. package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +51 -0
  35. package/harness-skills/mstar-sdd/scripts/review-package +43 -0
  36. package/harness-skills/mstar-sdd/scripts/sdd-workspace +26 -0
  37. package/harness-skills/mstar-sdd/scripts/task-brief +40 -0
  38. package/harness-skills/pm/SKILL.md +20 -44
  39. package/package.json +1 -1
@@ -15,10 +15,21 @@
15
15
  | 类型 | 文件名(相对 `reports/<plan-id>/`) |
16
16
  |------|--------|
17
17
  | 架构/设计评审 | `<plan-id>-review.md`(或团队约定的 `review.md`) |
18
- | QC 并行报告 | `qc1.md`、`qc2.md`、`qc3.md`(与 `mstar-roles` `{report_suffix}` 一致) |
19
- | QC 汇总结论 | `qc-consolidated.md` |
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
- ## QC 分报告与 consolidated:可否只留一份?
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`。
@@ -34,7 +45,8 @@
34
45
 
35
46
  ## QC 三审触发时机(单 plan · 多 batch)
36
47
 
37
- - **默认(推荐)**:同一 **`plan_id`** 下,**完整 QC 三审**(`qc1` + `qc2` + `qc3` 并行)**仅在 dev team 按该 plan 约定范围全部交付之后**执行**一次**,再进入 `project-manager` 汇总与 `qa-engineer` 验证。**不要**在每个中间 **batch** / 子里程碑都跑全套三审:否则 `reports/<plan-id>/` 会堆积多套并列报告,**`Review range` / `Diff basis` 与结论**易混淆,handoff 成本高。
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`.
@@ -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 三审(PM 同轮必读) |
14
+ | `mstar-review-qc` | 派 QCPM 同轮必读;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. Git:团队交付 **勿** ignore 整个 `{HARNESS_DIR}`(handoff clone 可达)
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>/qcN.md` | `mstar-review-qc` |
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`(读写) |
@@ -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 — tri-review workflow, checklists, report template (YAML frontmatter + Findings + Verdict), reports at `reports/<plan-id>/qc1.md` (no plan-id prefix in basename), targeted re-review after fixes, full-tri `qcN-rev2.md` exception, residual gate. Use when `@qc-specialist*` review, `@qa-engineer` verifies, or `@project-manager` dispatches/consolidates QC.
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 检出与并行门禁;本 skill — 审查清单、报告模板、verdict 与 residual 留档契约。
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 审查员的共享基线。三份 QC 角色提示词在流程、门禁与要点上应与本 skill 一致且彼此对齐:**共用正文以`mstar-roles` skill `qc-specialist-shared`为准**;`-2` / `-3` 仅保留 frontmatter、开场白中的 Reviewer 编号、`## 并行审查时本 reviewer 的侧重` 一节,以及 Completion Report 模板里的 **Agent** 名。
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
- - **默认**:`@project-manager` **该 plan 的实现范围已由 dev team 全部交付**、准备进入预合并门禁时,分派完整 QC 三审。**同一 `plan_id` 下多 batch 滚动实现时,不默认每 batch 跑一轮全套三审**(避免 `reports/<plan-id>/` 多套报告与范围串线);中间阶段靠自检与 PM 协调,**显式增量三审**须在 Assignment 写明(见 `mstar-plan-conventions` `references/plan-files-and-reports.md`「QC 三审触发时机」)。
19
- - **同仓多 worktree 并行开发**:一轮 QC 三审仍只对应 **一套** `Review cwd` + `Working branch` + `Review range` / `Diff basis`(三票逐字相同)。若成果曾分布在 **未合并** 的多条分支或多个 `HEAD`,PM **须先**完成 Git 归并到 **单一**待审分支再派 QC;**不得**指望 reviewer 自行在多个开发 worktree 之间拼凑审查范围。**推荐** PM 在并行开发开始前已建立 **plan 集成分支** 作为各轨 merge 靶(见 `mstar-branch-worktree` 同节 **「推荐默认编排:先建 plan 集成分支,再挂各 worktree」**)。细则见 `mstar-branch-worktree` **「多 worktree 并行开发与 QC / QA 的门禁衔接」**。
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
 
@@ -72,6 +72,12 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
72
72
 
73
73
  **Execute as**: <role-id>
74
74
  **Delegation**: forbidden | allowed (...)
75
+ **Execution mode**: sdd | inline | N/A
76
+ **SDD implementer session**: fresh | sticky | N/A — **default `fresh`**; `sticky` reuses same implementer subagent across tasks (reviewers stay fresh). See `mstar-sdd/references/sticky-implementer-session.md`
77
+ **SDD dir**: `{HARNESS_DIR}/sdd/<plan-id>/` | N/A
78
+ **Model tier**: fast | standard | capable | N/A
79
+ **QC mode**: full tri-review | single | N/A — **default `full tri-review` when `Execution mode: sdd`**; `single` only for `inline` / override
80
+ **Review package path**: <branch-review diff file> | N/A
75
81
  **Who runs this turn (executor lock)**: only `Execute as` role for this message
76
82
  **Primary**: <route type>
77
83
  **Task category**: `visual` | `deep` | `quick` | `logic` | `ops` | `docs`
@@ -158,3 +164,17 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
158
164
 
159
165
  For host behavior details (dispatch turn shape, paste-only failure mode, invoke-count discipline),
160
166
  read `mstar-host` → the active host reference and `references/parallel-dispatch.md` as host SSOT for dispatch.
167
+
168
+ ## SDD vs inline implement Assignment(PM)
169
+
170
+ | Mode | Who loads `mstar-sdd` | Assignment shape |
171
+ |------|----------------------|------------------|
172
+ | **`Execution mode: sdd`**(多 task 默认;iteration Phase 2 默认) | **PM** before first implement dispatch | **Per task**:one implementer dispatch + one **fresh** task reviewer;prompt 只含 `{SDD_DIR}/task-N-brief.md` + report 路径 |
173
+ | **`SDD implementer session: sticky`** | PM | Task 1: `fresh` or start sticky + `implementer-session.json`; Task 2+: host **resume** + continuation prompt — **still** per-task review |
174
+ | **`Execution mode: inline`**(hotfix / 单 task) | PM optional | One leaf Assignment;可含完整 scope,但仍须 canonical 字段 |
175
+
176
+ **NEVER(SDD)**:
177
+
178
+ - 把整份 plan 或 T1–Tn 全文贴进 **一个** `fullstack-dev` leaf Assignment。
179
+ - 省略 `Execution mode` / `SDD dir` / `Model tier` 却期望 SDD 产物(`progress.md`、per-task review)。
180
+ - 期望 leaf `fullstack-dev` 载入 `mstar-sdd` 并自编排 per-task 循环 — **编排仅 PM**(`iteration-drive` / `mstar-iteration` §2.4–2.5)。
@@ -2,33 +2,42 @@
2
2
 
3
3
  Use this reference when PM is dispatching QC, consolidating review verdicts, or managing residual findings lifecycle.
4
4
 
5
- ## QC Tri-Review Minimal Flow
6
-
7
- 0. Pre-dispatch read gate: read `mstar-review-qc` for this round.
8
- 1. Dispatch three independent QC assignments.
9
- 2. Collect reports and verify alignment fields:
10
- - `plan_id`
11
- - `Review range / Diff basis` use `metadata.target_branch` or PM-specified base ref for merge-base; **do not** assume `origin/main` in formal iterations (`mstar-iteration` §2.3)
12
- - `Review cwd / Worktree path`
13
- - `Working branch`
14
- 3. Verify runtime identity/model mapping for three distinct QC roles.
15
- 4. De-duplicate findings and resolve conflicts by evidence strength.
16
- 5. Emit one consolidated gate decision.
17
- 6. After dev fixes blocking items:
18
- - **Default**: **Targeted QC re-review** — dispatch only QC seats that **raised** blocking findings (consolidated table, R# `source` e.g. `QC-#2` → `qc-specialist-2`, or originating `qcN.md` / `F-###`). Assignment: `QC re-review: targeted — reviewers: <role-ids>`. Same `plan_id` + `Review range` / `Diff basis` unless PM narrows to fix commits (must still be copy-pasteable for QA).
19
- - Each targeted QC **edits the same** `qc1.md` / `qc2.md` / `qc3.md` (per seat); PM **edits the same** `qc-consolidated.md`. **Do not** re-dispatch all three by default.
20
- - **Exception**: `QC re-review: full tri-review` three parallel QC again + new `qc1-rev2.md` files (see `mstar-plan-artifacts/references/plan-files-and-reports.md`).
21
- - Then **QA** when the gate requires sign-off (same checkout fields as initial review).
5
+ **Layer SSOT (L1–L4):** `mstar-review-qc/references/review-responsibility-boundaries.md`. Dispatch mechanics → **`mstar-dispatch-gates`**; QC checklists / verdict → **`mstar-review-qc`**.
6
+
7
+ ## SDD path: mandatory plan QC tri-review (L3)
8
+
9
+ **When:** `Execution mode: sdd` **all** multi-task implement flows (single plan **or** `mstar-iteration` Phase 2).
10
+
11
+ **Per-task (L2):** task reviewer only**not** `qc-specialist`. One reviewer subagent per task (spec + quality on task diff).
12
+
13
+ **After all tasks (L3):** see **`mstar-review-qc/references/review-responsibility-boundaries.md`** · **`mstar-dispatch-gates`** (N=3 same message, branch review-package, `qc1`…`qc3` + consolidated). PM checklist:
14
+
15
+ 0. Pre-dispatch: read `mstar-review-qc`.
16
+ 1. `review-package MERGE_BASE HEAD` branch diff under `{SDD_DIR}` or PM path.
17
+ 2. Dispatch **three** QC seats in **one** message (**N=3**); alignment fields text-identical across reports and Assignment.
18
+ 3. PM writes `qc-consolidated.md`; after fixes targeted re-review (default) or `QC re-review: full tri-review` for new wave files.
19
+
20
+ **NEVER** end an SDD plan with only a single final `qc-specialist` unless user override: `QC mode: single — override: <reason>`.
21
+
22
+ ## Inline / hotfix: single-seat QC (exception)
23
+
24
+ **When:** `Execution mode: inline` or explicit hotfix routing.
25
+
26
+ 1. Branch review-package path on dispatch.
27
+ 2. **One** `qc-specialist` → `qc.md` (**N=1**).
28
+ 3. Targeted re-review updates same `qc.md`.
22
29
 
23
30
  ## QC / Residual NEVER (PM)
24
31
 
25
- - **NEVER** consolidate tri-review into `Approve` when any QC report’s `plan_id`, `Review range / Diff basis`, `Review cwd / Worktree path`, or `Working branch` **differs** from the PM Assignment text (character-level mismatch).
26
- - **NEVER** register or rewrite residual `severity` values outside the machine enum in `mstar-plan-artifacts`.
27
- - **NEVER** drop residual tracking to chat-only when `Approve with residuals` appliescanonical open list lives under `{HARNESS_DIR}/status.json` `residual_findings[<plan-id>]`.
28
- - **NEVER** archive or delete open residual rows from `status.json` without the documented close + `{HARNESS_DIR}/archived/residuals/` workflow.
29
- - **NEVER** treat “two of three QC reports arrived” as sufficient for a **full parallel tri-review wave**—missing reviewer => `Blocked` or explicit PM decision, not silent `Approve`.
30
- - **NEVER** re-dispatch all three QC reviewers after a routine fix round when only one or two seats had blocking findings—use **targeted re-review** unless Assignment declares **`QC re-review: full tri-review`**.
31
- - **NEVER** create `qc1-rev2.md` (etc.) for **targeted** re-review; update the original `qcN.md` in place.
32
+ - **NEVER** dispatch plan QC without a **branch** review-package file path (MERGE_BASE..HEAD).
33
+ - **NEVER** use single-seat `qc.md` after **`Execution mode: sdd`** without documented user override.
34
+ - **NEVER** dispatch only QC#2 and QC#3 while skipping QC#1 on initial SDD tri wave full **N=3** cross-review required (all three seats).
35
+ - **NEVER** consolidate tri-review into `Approve` when any QC report's alignment fields differ from Assignment (character-level).
36
+ - **NEVER** register or rewrite residual `severity` outside `mstar-plan-artifacts` machine enum.
37
+ - **NEVER** drop residual tracking to chat-only when `Approve with residuals` applies.
38
+ - **NEVER** treat "two of three QC reports arrived" as sufficient missing seat → `Blocked`.
39
+ - **NEVER** re-dispatch all three after routine fix when only one or two had blockers — **targeted re-review** unless `QC re-review: full tri-review`.
40
+ - **NEVER** create `qc1-rev2.md` for **targeted** re-review; update original `qcN.md` in place.
32
41
 
33
42
  ## Consolidated Decision Template
34
43
 
@@ -80,7 +80,8 @@ Document override as `Dev owner tie-break: single id — <reason>`.
80
80
  - `frontend-dev` + `fullstack-dev` can run in parallel once interface contract is clear.
81
81
  - `fullstack-dev` + `fullstack-dev-2` can run in parallel when module boundaries are explicit.
82
82
  - Same-repo multi-writer concurrency requires branch + worktree isolation.
83
- - QC tri-review defaults to one full tri-review wave per plan completion (unless explicit incremental QC gate is declared).
83
+ - **SDD implement** (`Execution mode: sdd`, default multi-task): per-task **task reviewer** (L2) + plan **QC tri-review** (L3, N=3).
84
+ - **Inline / hotfix**: single-seat QC or skip per routing table.
84
85
 
85
86
  ## Routing / allocation NEVER (PM)
86
87
 
@@ -7,7 +7,8 @@ Before any non-trivial PM action, read in order:
7
7
  3. Host adapter: `mstar-host` (detect host; Read `references/opencode.md`, `cursor.md`, or `codex.md`)
8
8
  4. `mstar-plan-conventions` (path discovery, init, Spec branch summary)
9
9
  5. `mstar-review-qc` (same coordination round, **before** any QC dispatch)
10
- 6. **On demand:** `mstar-branch-worktree` (parallel implement, QC/QA checkout); `mstar-plan-artifacts` (`status.json`, R#); `mstar-plan-artifacts` (InReview waves, reports naming)
10
+ 6. **`mstar-sdd`** when implement uses **`Execution mode: sdd`**
11
+ 7. **On demand:** `mstar-branch-worktree` (parallel implement, QC/QA checkout); `mstar-plan-artifacts` (`status.json`, R#); `mstar-plan-artifacts` (InReview waves, reports naming)
11
12
 
12
13
  **Not required:** `mstar-coding-behavior` (orchestration-only PM work).
13
14
 
@@ -56,11 +57,11 @@ Pick one `Primary` route per Assignment; attach additional gates as needed.
56
57
 
57
58
  | Task type | Default route |
58
59
  | --- | --- |
59
- | Large feature | `explore -> product-manager -> architect -> dev -> QC tri-review -> qa-engineer -> ops-engineer` |
60
- | Medium feature | `explore -> (architect optional) -> dev -> QC tri-review -> qa-engineer` |
61
- | Small feature | `dev -> QC tri-review -> qa-engineer` |
62
- | Bug fix | `explore -> RCA brief -> dev -> QC tri-review -> qa-engineer` |
63
- | High-ambiguity bug | `explore -> RCA -> (architect optional) -> dev -> QC tri-review -> qa-engineer` |
60
+ | Large feature | `explore -> product-manager -> architect -> dev (SDD) -> QC tri-review -> qa-engineer -> ops-engineer` |
61
+ | Medium feature | `explore -> (architect optional) -> dev (SDD) -> QC tri-review -> qa-engineer` |
62
+ | Small feature | `dev (SDD) -> QC tri-review -> qa-engineer` |
63
+ | Bug fix | `explore -> RCA brief -> dev (SDD) -> QC tri-review -> qa-engineer` |
64
+ | High-ambiguity bug | `explore -> RCA -> (architect optional) -> dev (SDD) -> QC tri-review -> qa-engineer` |
64
65
  | Hotfix | `single dev -> QC single-review -> qa-engineer fast verify` |
65
66
  | Product docs only | `product-manager` (QC may be skipped with explicit reason) |
66
67
  | Tech spec only | `architect` (QC may be skipped with explicit reason) |
@@ -78,7 +79,9 @@ Detailed conflict priority and dev allocation:
78
79
 
79
80
  ## Non-Bypass Constraints
80
81
 
81
- - Code-development plans require QC tri-review by default (hotfix single-review exception only).
82
+ - Code-development plans with **`Execution mode: sdd`** (default for multi-task): **mandatory plan QC tri-review** (`qc1`…`qc3` + consolidated) after all task reviewers complete.
83
+ - **`Execution mode: inline`**: hotfix single-seat QC (`qc.md`) or explicit skip rules unchanged.
84
+ - Multi-task implement defaults to **`Execution mode: sdd`** + `mstar-sdd`; hotfix may use `inline`.
82
85
  - Runtime/behavior change requires QA by default.
83
86
  - Report-only QA may skip QC tri-review only when no implementation/test/config artifact is committed.
84
87
  - Product-docs-only and tech-spec-only can skip QC tri-review only with explicit `QC: skipped — <reason>`.
@@ -135,9 +138,15 @@ Before first implement dispatch (non-hotfix):
135
138
 
136
139
  If any fail -> do not dispatch implement.
137
140
 
138
- ### PM entry sessions (`/pm` or OpenCode PM switch)
141
+ ### PM entry sessions
139
142
 
140
- When the session entered via **`/pm`**, **`pm` skill**, or OpenCode PM orchestration, follow **`skills/pm/SKILL.md`** — especially **Host entry**, **iteration branch policy**(`iteration_base_branch` / `spec_integration_branch` / `target_branch`), **Autonomous Execute**(status.json backlog, per-plan feature branches), and **Dispatch-first**. Routing, gates, Task Board, QC, and templates remain in this file and topic `mstar-*` skills.
143
+ | Entry | Next reads |
144
+ |-------|------------|
145
+ | **`/pm`** or **`pm` skill** (Codex, Cursor; OpenCode when no command) | This shim → **`project-manager.md`** § Required Reading + topic skills on demand |
146
+ | **Cursor / OpenCode** **`commands/`** (`iteration-start`, `iteration-drive`, `mstar-bootstrap`) | Command **Boot** + **`project-manager.md`** — iteration lifecycle only; **not** required for ordinary per-plan PM |
147
+ | **OpenCode** (no command, not `/pm`) | `project-manager` + `mstar-host` → `opencode.md` |
148
+
149
+ **Dispatch-first**, iteration branch policy(`iteration_base_branch` / `spec_integration_branch` / `target_branch`), Autonomous Execute → **`mstar-iteration`** §2. Routing, gates, Task Board, QC, templates → this file + topic `mstar-*` skills.
141
150
 
142
151
  ---
143
152
 
@@ -176,7 +185,7 @@ Anti-patterns:
176
185
  - Q6: Is `Task category` aligned with route?
177
186
  - Q7: Is `quick` being misused to bypass prepare?
178
187
  - Q8: Is intention gate explicit before implement?
179
- - Q9: If QC tri-review, are alignment fields text-identical across three reviewers?
188
+ - Q9: For QC (single or tri), are alignment fields text-identical across reviewers and Assignment? SDD / tri: `Execution mode: sdd` or explicit `QC mode: full tri-review`; inline: `QC mode: single` or skip reason.
180
189
  - Q10: Is `Delegation` consistent with dispatch and worktree usage?
181
190
  - Q11: For non-trivial plan, is PM Task Board published with coverage?
182
191
  - Q12: In invoke-based hosts, were matching invokes actually issued?
@@ -285,7 +294,7 @@ Minimum invariants:
285
294
  - `references/project-manager/routing-and-dev-allocation.md`
286
295
  - Dispatch mechanics + anti-recursion + templates:
287
296
  - `references/project-manager/dispatch-and-assignment.md`
288
- - QC tri-review + residual lifecycle:
297
+ - QC (SDD → mandatory tri; inline → single) + residual lifecycle:
289
298
  - `references/project-manager/qc-and-residuals.md`
290
299
  - Plan/status initialization + lifecycle:
291
300
  - `references/project-manager/plan-management.md`
@@ -24,9 +24,11 @@ Behavior is shared; reviewer identity is parameterized.
24
24
 
25
25
  ## Role Mission
26
26
 
27
- You are QC reviewer #{reviewer_index}, dispatched by `project-manager`.
27
+ You are QC reviewer #{reviewer_index} (or the sole reviewer when `QC mode: single`), dispatched by `project-manager`.
28
28
  Your output is a structured QC report plus completion report.
29
29
 
30
+ **Default (SDD):** plan QC tri on whole-branch review-package (`QC mode: full tri-review`). **Exception:** `Execution mode: inline` → single-seat `qc.md`.
31
+
30
32
  ## Non-Recursive Dispatch Rule (Hard)
31
33
 
32
34
  **You ARE `{role_id}`, a QC reviewer — not a PM, not a dispatcher.**
@@ -42,7 +44,7 @@ Your Assignment's IDENTITY block at the top already established this. Reinforcin
42
44
 
43
45
  If any item below matches, **stop** and return `Blocked` to `project-manager` instead of improvising:
44
46
 
45
- - **NEVER** invoke another QC seat (`qc-specialist` / `qc-specialist-2` / `qc-specialist-3`) or `{role_id}` again, nor `qa-engineer` / dev / `architect` / `project-manager`, to split **this** review unless `Delegation: allowed (...)` lists them. PM launches **initial** tri-review with **three** separate assignments/invokes; **targeted re-review** lists only the seats PM assigned.
47
+ - **NEVER** invoke another QC seat or `{role_id}` again, nor `qa-engineer` / dev / `architect` / `project-manager`, to split **this** review unless `Delegation: allowed (...)` lists them. PM launches initial tri (**N=3**) when **`Execution mode: sdd`** or Assignment says **`QC mode: full tri-review`**. Single-seat only for `inline` / explicit override. **Targeted re-review** lists only seats PM assigned.
46
48
  - **NEVER** ask the user for permission to submit a report, present “notify PM?” choosers, or stall after a completed review—when requirements are met, emit **Completion Report v2** in the **same** assistant turn (with a real **Git** line when commits are required).
47
49
  - **NEVER** modify business implementation/tests, `{HARNESS_DIR}/status.json` residual lifecycle fields, `{HARNESS_DIR}/archived/`, or any path outside the host write whitelist for QC (typically `{PLAN_DIR}/reports/**/*.md` only).
48
50
  - **NEVER** `git add .` or stage unrelated paths when committing QC reports—stage **only** the report files you changed.
@@ -89,7 +91,7 @@ Use severity and formatting standards from `mstar-review-qc`; machine `severity`
89
91
 
90
92
  ## Report path (required)
91
93
 
92
- Write under **`{PLAN_DIR}/reports/<plan-id>/`** using basename **`{report_suffix}.md`** (e.g. `qc1.md`, `qc2.md`, `qc3.md`). **Do not** prefix the filename with `<plan-id>` — the folder already scopes the plan. PM consolidated report: **`qc-consolidated.md`** in the same directory.
94
+ Write under **`{PLAN_DIR}/reports/<plan-id>/`** using basename **`{report_suffix}.md`** (**SDD default / tri**: `qc1.md`, `qc2.md`, `qc3.md`; **inline exception**: `qc.md`). **Do not** prefix the filename with `<plan-id>` — the folder already scopes the plan. PM consolidated report (`qc-consolidated.md`) applies to **tri mode**; single-seat may use `qc.md` alone as gate input.
93
95
 
94
96
  ## Targeted re-review (same report file)
95
97
 
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: mstar-sdd
3
+ description: Morning Star subagent-driven development (SDD) — file handoff, per-task implementer + task reviewer (L2), progress ledger, branch review-package for plan QC tri (L3). **Implementer session** `fresh` (default) or **`sticky`** (same dev subagent across tasks — `references/sticky-implementer-session.md`). **Must** Read when project-manager runs `Execution mode: sdd` (multi-task plan, single-plan, or iteration Phase 2), dispatches SDD implementer/reviewer subagents, or prepares review-package paths. Leaf implementer/reviewer subagents skip PM sections via SUBAGENT-STOP in dispatch prompts.
4
+ ---
5
+
6
+ ## Load order
7
+
8
+ **Before first Read:** `mstar-harness-core` → `mstar-dispatch-gates`. Path symbols → **`mstar-plan-conventions`** (`{SDD_DIR}`). Plan QC after SDD → **`mstar-review-qc`**. On conflict, **`mstar-harness-core` wins**.
9
+
10
+ <SUBAGENT-STOP>
11
+ If you were dispatched as an SDD implementer or task reviewer, skip PM orchestration sections. Follow your dispatch prompt only.
12
+ </SUBAGENT-STOP>
13
+
14
+ ## When to use
15
+
16
+ - Plan locked; tasks mostly independent; PM orchestrates in-session
17
+ - Assignment has **`Execution mode: sdd`**
18
+ - **Not** for hotfix inline work (`Execution mode: inline`) or leaf self-dispatch
19
+
20
+ ## Core principle
21
+
22
+ **Default:** fresh implementer subagent per task + task review (spec + quality) + plan-level QC on whole branch = quality with isolated context.
23
+
24
+ **Optional:** **`SDD implementer session: sticky`** — same implementer subagent across sequential tasks on one plan/branch; **task reviewers stay fresh per task**. SSOT → **`references/sticky-implementer-session.md`**.
25
+
26
+ **Narration:** at most one short line between tool calls — ledger and file paths carry the record.
27
+
28
+ **Continuous execution:** do not check in with the human between tasks. Stop only for BLOCKED, genuine ambiguity, or all tasks complete.
29
+
30
+ ## Pre-flight plan scan
31
+
32
+ Before Task 1, scan plan once for:
33
+
34
+ - tasks contradicting Global Constraints
35
+ - plan-mandated items that review rubric would flag as defects
36
+
37
+ Batch all findings for the human in one message. If clean, proceed silently.
38
+
39
+ ## Per-task loop (PM only)
40
+
41
+ 1. Record `BASE_SHA` (never use `HEAD~1` later)
42
+ 2. `sdd-workspace <plan-id>` → `SDD_DIR`
43
+ 3. `task-brief <plan> N` → brief file
44
+ 4. Dispatch implementer:
45
+ - **`SDD implementer session: fresh`** (default) — new subagent; templates: `references/implementer-prompt.md`
46
+ - **`SDD implementer session: sticky`** — first task: same as fresh + write `{SDD_DIR}/implementer-session.json` with `host_agent_id`; later tasks: host **resume** + `references/implementer-continuation-prompt.md` (see **`references/sticky-implementer-session.md`**)
47
+ 5. On `DONE`: `review-package BASE HEAD` → diff file
48
+ 6. Dispatch **fresh** task reviewer (brief, report, diff, Global Constraints) — `references/task-reviewer-prompt.md` — **never** sticky resume for reviewers
49
+ 7. Fix loop for Critical/Important; re-review until approved
50
+ 8. Append `progress.md`; update `status.json` `task_commits[]` and `implementer-session.json` `last_task` if sticky
51
+ 9. Next task
52
+
53
+ **Never** dispatch multiple implementers in parallel (write conflicts).
54
+
55
+ Detail: **`references/file-handoffs.md`**.
56
+
57
+ ## Implementer statuses
58
+
59
+ | Status | PM action |
60
+ |--------|-----------|
61
+ | DONE | review-package → task reviewer |
62
+ | DONE_WITH_CONCERNS | read concerns; fix scope issues before review |
63
+ | NEEDS_CONTEXT | provide context; re-dispatch |
64
+ | BLOCKED | more context, higher tier, split task, or escalate human — **never** same-model blind retry |
65
+
66
+ ## Reviewer ⚠️ items
67
+
68
+ `⚠️ Cannot verify from diff` does not block other findings. PM must resolve each before task complete.
69
+
70
+ ## Model tier
71
+
72
+ | Tier | Use |
73
+ |------|-----|
74
+ | fast | Transcription (complete code in plan); 1–2 file mechanical |
75
+ | standard | Prose implementer; task reviewer (floor) |
76
+ | capable | Integration judgment; plan QC on large branch diff |
77
+
78
+ **Turn count beats token price:** use `standard` floor for reviewers and prose implementers. **Always name model on dispatch** — omitted model inherits session default (often most expensive).
79
+
80
+ Host mapping → **`mstar-host`** references (`model` / Task field).
81
+
82
+ ## After all tasks
83
+
84
+ 1. `review-package MERGE_BASE HEAD` → branch diff in `{SDD_DIR}`
85
+ 2. PM dispatches **plan QC tri-review (L3)** — **`QC mode: full tri-review`**, **N=3** — with branch review-package path → **`mstar-review-qc`** · **`mstar-dispatch-gates`**. Layer SSOT → **`mstar-review-qc/references/review-responsibility-boundaries.md`**. PM writes `qc-consolidated.md`. **Mandatory whenever `Execution mode: sdd`** (single-plan or iteration).
86
+ 3. Critical/Important QC findings → **one** fix dispatch (full list), then targeted re-review
87
+ 4. QA gate → **`mstar-review-qc`** / `mstar-harness-core` Done rules
88
+
89
+ ## Progress ledger
90
+
91
+ At start: `cat {SDD_DIR}/progress.md`. Tasks marked complete are DONE — do not re-dispatch after compaction.
92
+
93
+ Append on clean review: `Task N: complete (<base>..<head>, review clean)`.
94
+
95
+ Minor findings → `## Minor (for plan QC)` section in same file.
96
+
97
+ ## Red flags (NEVER)
98
+
99
+ - Parallel implementer dispatches
100
+ - Paste plan, diffs, or task history into dispatch prompts
101
+ - Dispatch reviewer without diff file
102
+ - `HEAD~1` as review BASE
103
+ - Pre-judge reviewer ("do not flag", "at most Minor")
104
+ - Skip task review or accept missing verdict
105
+ - Re-dispatch tasks listed complete in ledger
106
+ - PM thread implements instead of subagent dispatch
107
+ - Sticky **resume** for task reviewers
108
+ - Resume implementer without `host_agent_id` in `implementer-session.json`
109
+
110
+ ## Scripts
111
+
112
+ From repo: `skills/mstar-sdd/scripts/` (bundled in OpenCode as `harness-skills/mstar-sdd/scripts/`).
113
+
114
+ | Script | Usage |
115
+ |--------|--------|
116
+ | `sdd-workspace` | `PLAN_ID` → creates `{SDD_DIR}`, prints path |
117
+ | `task-brief` | `PLAN_FILE TASK_N [OUTFILE]` |
118
+ | `review-package` | `BASE HEAD [OUTFILE]` |
119
+
120
+ ## References
121
+
122
+ - `references/file-handoffs.md` — paths and fix-loop evidence
123
+ - `references/sticky-implementer-session.md` — `fresh` vs `sticky`, ledger, host resume, micro-batch fallback
124
+ - `references/implementer-prompt.md`
125
+ - `references/implementer-continuation-prompt.md`
126
+ - `references/task-reviewer-prompt.md`