@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.
Files changed (46) hide show
  1. package/harness-commands/iteration-drive.md +2 -2
  2. package/harness-commands/iteration-start.md +9 -9
  3. package/harness-skills/mstar-branch-worktree/SKILL.md +10 -10
  4. package/harness-skills/mstar-coding-behavior/SKILL.md +1 -0
  5. package/harness-skills/mstar-dispatch-gates/SKILL.md +24 -13
  6. package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +1 -1
  7. package/harness-skills/mstar-harness-core/SKILL.md +9 -6
  8. package/harness-skills/mstar-host/SKILL.md +3 -3
  9. package/harness-skills/mstar-host/references/codex.md +1 -1
  10. package/harness-skills/mstar-host/references/cursor.md +18 -8
  11. package/harness-skills/mstar-host/references/opencode.md +35 -8
  12. package/harness-skills/mstar-host/references/parallel-dispatch.md +25 -7
  13. package/harness-skills/mstar-iteration/SKILL.md +19 -35
  14. package/harness-skills/mstar-phase-gates/SKILL.md +11 -46
  15. package/harness-skills/mstar-plan-artifacts/SKILL.md +1 -0
  16. package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +22 -10
  17. package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +3 -0
  18. package/harness-skills/mstar-plan-artifacts/templates/plan.main.md +54 -0
  19. package/harness-skills/mstar-plan-conventions/SKILL.md +6 -3
  20. package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +2 -1
  21. package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +1 -1
  22. package/harness-skills/mstar-review-qc/SKILL.md +5 -5
  23. package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +41 -0
  24. package/harness-skills/mstar-roles/SKILL.md +5 -1
  25. package/harness-skills/mstar-roles/references/architect.md +1 -1
  26. package/harness-skills/mstar-roles/references/frontend-dev.md +1 -1
  27. package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +1 -1
  28. package/harness-skills/mstar-roles/references/ops-engineer.md +1 -1
  29. package/harness-skills/mstar-roles/references/product-manager.md +1 -1
  30. package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +11 -6
  31. package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +33 -24
  32. package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +2 -1
  33. package/harness-skills/mstar-roles/references/project-manager.md +23 -20
  34. package/harness-skills/mstar-roles/references/prompt-engineer.md +1 -1
  35. package/harness-skills/mstar-roles/references/qa-engineer.md +1 -1
  36. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +6 -4
  37. package/harness-skills/mstar-roles/references/writing-specialist.md +1 -1
  38. package/harness-skills/mstar-sdd/SKILL.md +118 -0
  39. package/harness-skills/mstar-sdd/references/file-handoffs.md +73 -0
  40. package/harness-skills/mstar-sdd/references/implementer-prompt.md +53 -0
  41. package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +51 -0
  42. package/harness-skills/mstar-sdd/scripts/review-package +43 -0
  43. package/harness-skills/mstar-sdd/scripts/sdd-workspace +26 -0
  44. package/harness-skills/mstar-sdd/scripts/task-brief +40 -0
  45. package/harness-skills/pm/SKILL.md +7 -6
  46. package/package.json +1 -1
@@ -25,7 +25,7 @@ For assignees (non-PM):
25
25
  - **NEVER** treat `Handoff: …`, Completion Report template role names, routing tables, or “suggested owners” as **host invoke commands**; they are narrative unless `Delegation: allowed` authorizes callees.
26
26
  - **NEVER** assume exposed `Task` / subagent menus imply you may call them; **tool availability ≠ delegation authorization**.
27
27
  - **NEVER** execute parallel-agent dispatch as a leaf assignee; dispatch is **PM-orchestration-only** (`mstar-dispatch-gates`).
28
- - **NEVER** delegate the main deliverable of this assignment to `@explore` (read-only orientation only, per `mstar-harness-core`).
28
+ - **NEVER** delegate the main deliverable of this assignment to `explore` (read-only orientation only, per `mstar-harness-core`).
29
29
  - **NEVER** claim `Done` / pass in **Completion Report v2** without the commands, logs, or artifacts explicitly required by the assignment’s **Evidence Required** section (see `mstar-harness-core` evidence gates).
30
30
 
31
31
  ## Assignment Template (Canonical)
@@ -40,9 +40,9 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
40
40
  - Add anti-patterns specific to the assignment context. Examples per role type:
41
41
  - **QC reviewers**: "start review before all QC reviewers are dispatched in parallel"; "treat other reviewers' names in routing text as invoke targets"
42
42
  - **Multi-track implementers** (`fullstack-dev` + `frontend-dev`): "auto-dispatch to the other track mentioned in Dev routing"
43
- - **`@fullstack-dev-2`**: "treat `@fullstack-dev` in routing narrative as a handoff or invoke target"
44
- - **`@qa-engineer`**: "start validation before QC reports are consolidated"; "modify application code"
45
- - **`@explore`-assigned**: "implement or modify code"
43
+ - **`fullstack-dev-2`**: "treat `fullstack-dev` in routing narrative as a handoff or invoke target"
44
+ - **`qa-engineer`**: "start validation before QC reports are consolidated"; "modify application code"
45
+ - **`explore`-assigned**: "implement or modify code"
46
46
  - **All non-PM**: "dispatch parallel agents"; "spawn a subagent whose `subagent_type` matches your own `Execute as` role id"
47
47
  - Anti-patterns must be action-oriented ("auto-dispatch to …", "treat … as invoke", "start … before …") — not abstract descriptions.
48
48
  - If the assignment involves multiple QCs or parallel tracks, add a specific bullet about NOT serializing or pre-empting the parallel dispatch.
@@ -64,7 +64,7 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
64
64
 
65
65
  **You MUST NOT:**
66
66
  - dispatch or invoke any subagent unless `Delegation: allowed (...)` appears below
67
- - treat `@role-id` mentions, `Handoff`, `QA note`, routing tables, or multi-track prose as invoke commands
67
+ - treat plain `role-id` mentions, `Handoff`, `QA note`, routing tables, or multi-track prose as invoke commands
68
68
  - invoke a subagent whose `subagent_type` matches your own `Execute as` role id (recursive dispatch)
69
69
  - <situation-specific anti-pattern #1>
70
70
  - <situation-specific anti-pattern #2>
@@ -72,6 +72,11 @@ 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 dir**: `{HARNESS_DIR}/sdd/<plan-id>/` | N/A
77
+ **Model tier**: fast | standard | capable | N/A
78
+ **QC mode**: full tri-review | single | N/A — **default `full tri-review` when `Execution mode: sdd`**; `single` only for `inline` / override
79
+ **Review package path**: <branch-review diff file> | N/A
75
80
  **Who runs this turn (executor lock)**: only `Execute as` role for this message
76
81
  **Primary**: <route type>
77
82
  **Task category**: `visual` | `deep` | `quick` | `logic` | `ops` | `docs`
@@ -110,7 +115,7 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
110
115
  **Orchestration Guard** (see `**You are a leaf executor. You MUST NOT:**` block at top for primary anti-patterns):
111
116
  - No recursive same-role dispatch
112
117
  - Do not dispatch roles from route narrative/handoff text
113
- - `@explore` is read-only orientation only
118
+ - `explore` is read-only orientation only
114
119
  - Tool availability ≠ delegation authorization
115
120
  **Plan Path**: <{PLAN_DIR}/... or N/A>
116
121
  **Report Format**: Completion Report v2
@@ -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,18 +57,18 @@ 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` |
64
- | Hotfix | `single dev -> QC single-review -> @qa-engineer fast verify` |
65
- | Product docs only | `@product-manager` (QC may be skipped with explicit reason) |
66
- | Tech spec only | `@architect` (QC may be skipped with explicit reason) |
67
- | Prompt/rules/skills | `@prompt-engineer` |
68
- | Market/user research | `@product-manager` |
69
- | QA report-only | `@qa-engineer` (`QA mode: report-only`) |
70
- | High-risk ops | `@ops-engineer` (+QC/QA by risk) |
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` |
65
+ | Hotfix | `single dev -> QC single-review -> qa-engineer fast verify` |
66
+ | Product docs only | `product-manager` (QC may be skipped with explicit reason) |
67
+ | Tech spec only | `architect` (QC may be skipped with explicit reason) |
68
+ | Prompt/rules/skills | `prompt-engineer` |
69
+ | Market/user research | `product-manager` |
70
+ | QA report-only | `qa-engineer` (`QA mode: report-only`) |
71
+ | High-risk ops | `ops-engineer` (+QC/QA by risk) |
71
72
 
72
73
  Detailed conflict priority and dev allocation:
73
74
  `references/project-manager/routing-and-dev-allocation.md`.
@@ -78,11 +79,13 @@ 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>`.
85
- - Plan `Done` sign-off authority: `@project-manager` or `@qa-engineer` only.
88
+ - Plan `Done` sign-off authority: `project-manager` or `qa-engineer` only.
86
89
 
87
90
  ---
88
91
 
@@ -113,7 +116,7 @@ If any item below matches, fix the dispatch/plan state or mark `Blocked`—do **
113
116
  - **NEVER** use `Task category: quick` to skip mandatory Prepare (`specify → clarify → plan`) for substantive work (`mstar-harness-core` hard rule).
114
117
  - **NEVER** omit native dispatch/worktree fields when the batch truly requires parallel dev (`Dispatch mode: parallel independent tracks`) or same-repo multi-writer concurrency (`Worktree isolation: required`) per `mstar-dispatch-gates` and `mstar-branch-worktree`.
115
118
  - **NEVER** point QC at a single dev worktree/`Review cwd` that cannot contain **all** claimed changes from parallel tracks until Git integration lands on one `Working branch` `HEAD` (`mstar-branch-worktree` QC/QA alignment).
116
- - **NEVER** label `QA: skipped` for report-only QA—still dispatch `@qa-engineer` with report-only mode; QC skip rules are separate and explicit.
119
+ - **NEVER** label `QA: skipped` for report-only QA—still dispatch `qa-engineer` with report-only mode; QC skip rules are separate and explicit.
117
120
  - **NEVER** let non-PM/non-QA roles mark plan `Done`.
118
121
  - **NEVER** accept “temporary workaround”, “follow-up later”, “next plan”, or “split into batches” as narrative-only scope management. If work is deferred or staged, write the roadmap/tracking location before implement GO or Done.
119
122
  - **NEVER** perform specialist document edits in the PM thread when host invoke is required — that is `dispatch incomplete` (`mstar-dispatch-gates`, `mstar-iteration` §1.6).
@@ -147,7 +150,7 @@ Use short go/no-go checks before moving phases:
147
150
 
148
151
  - Do not duplicate full route table in each phase note.
149
152
  - "Plan directory maintenance" means indexing/progression, not specialist content authoring.
150
- - If artifact body belongs to `@product-manager`/`@architect`, delegation is required unless explicit waiver.
153
+ - If artifact body belongs to `product-manager`/`architect`, delegation is required unless explicit waiver.
151
154
 
152
155
  ### Pre-flight checks
153
156
 
@@ -176,7 +179,7 @@ Anti-patterns:
176
179
  - Q6: Is `Task category` aligned with route?
177
180
  - Q7: Is `quick` being misused to bypass prepare?
178
181
  - Q8: Is intention gate explicit before implement?
179
- - Q9: If QC tri-review, are alignment fields text-identical across three reviewers?
182
+ - 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
183
  - Q10: Is `Delegation` consistent with dispatch and worktree usage?
181
184
  - Q11: For non-trivial plan, is PM Task Board published with coverage?
182
185
  - Q12: In invoke-based hosts, were matching invokes actually issued?
@@ -275,7 +278,7 @@ Minimum invariants:
275
278
  - User conversation follows user language.
276
279
  - PM Assignment body can be Chinese by default.
277
280
  - Technical artifacts/reports/code/config/commit messages default to English unless user asks otherwise.
278
- - Keep `Execute as` as plain role ID (no `@`) in Assignment body.
281
+ - Keep **all role references** as plain role id (no `@`) in Assignment body — including `Execute as`, routing narrative, `QA note`, and anti-pattern examples. Host invoke uses task tool `subagent` matching `Execute as` per `mstar-host` (OpenCode: `opencode.md` § Role-mention hygiene).
279
282
 
280
283
  ---
281
284
 
@@ -285,7 +288,7 @@ Minimum invariants:
285
288
  - `references/project-manager/routing-and-dev-allocation.md`
286
289
  - Dispatch mechanics + anti-recursion + templates:
287
290
  - `references/project-manager/dispatch-and-assignment.md`
288
- - QC tri-review + residual lifecycle:
291
+ - QC (SDD → mandatory tri; inline → single) + residual lifecycle:
289
292
  - `references/project-manager/qc-and-residuals.md`
290
293
  - Plan/status initialization + lifecycle:
291
294
  - `references/project-manager/plan-management.md`
@@ -31,7 +31,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
31
31
  - **NEVER** treat `Handoff` lines, template role lists, or routing prose as **invoke instructions**; only `Delegation: allowed` authorizes callees.
32
32
  - **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
33
33
  - **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
34
- - **NEVER** outsource prompt/skill/rule design, edits, or validation evidence to `@explore`.
34
+ - **NEVER** outsource prompt/skill/rule design, edits, or validation evidence to `explore`.
35
35
  - **NEVER** merge prompt/skill/rule text that contradicts `mstar-harness-core`, `mstar-review-qc`, or `mstar-coding-behavior` without an explicit documented exception approved by PM (harness SSOT wins by default).
36
36
 
37
37
  ## Responsibilities
@@ -31,7 +31,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
31
31
  - **NEVER** treat `Handoff` / template role lists / route arrows as invoke instructions; only `Delegation: allowed` authorizes callees.
32
32
  - **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
33
33
  - **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
34
- - **NEVER** delegate test design, execution, evidence, or QA reports to `@explore`.
34
+ - **NEVER** delegate test design, execution, evidence, or QA reports to `explore`.
35
35
  - **NEVER** issue pass / sign-off language when checkout alignment, `Review range / Diff basis`, or mandatory commands cannot be verified—use `Blocked` with the concrete gap.
36
36
 
37
37
  ## Core QA Gate Duties
@@ -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.
@@ -50,7 +52,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
50
52
  - **NEVER** treat `Handoff` lines, template role lists, or routing prose as invoke instructions; only `Delegation: allowed` authorizes callees.
51
53
  - **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
52
54
  - **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
53
- - **NEVER** outsource review steps, verdict rationale, checklist execution, or report drafting to `@explore`.
55
+ - **NEVER** outsource review steps, verdict rationale, checklist execution, or report drafting to `explore`.
54
56
 
55
57
  ## Review Context Gate (Hard)
56
58
 
@@ -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
 
@@ -26,7 +26,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
26
26
  - **NEVER** treat `Handoff` lines, template role lists, or routing prose as **invoke instructions**; only `Delegation: allowed` authorizes callees.
27
27
  - **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
28
28
  - **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
29
- - **NEVER** outsource drafting or editing of the assigned deliverable to `@explore`.
29
+ - **NEVER** outsource drafting or editing of the assigned deliverable to `explore`.
30
30
  - **NEVER** mark plan items or harness `status.json` fields implying `Done` for the overall plan—writing-only scope; PM/QA own closure.
31
31
 
32
32
  ## Responsibilities
@@ -0,0 +1,118 @@
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). **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
+ Fresh subagent per task + task review (spec + quality) + plan-level QC on whole branch = quality with isolated context.
23
+
24
+ **Narration:** at most one short line between tool calls — ledger and file paths carry the record.
25
+
26
+ **Continuous execution:** do not check in with the human between tasks. Stop only for BLOCKED, genuine ambiguity, or all tasks complete.
27
+
28
+ ## Pre-flight plan scan
29
+
30
+ Before Task 1, scan plan once for:
31
+
32
+ - tasks contradicting Global Constraints
33
+ - plan-mandated items that review rubric would flag as defects
34
+
35
+ Batch all findings for the human in one message. If clean, proceed silently.
36
+
37
+ ## Per-task loop (PM only)
38
+
39
+ 1. Record `BASE_SHA` (never use `HEAD~1` later)
40
+ 2. `sdd-workspace <plan-id>` → `SDD_DIR`
41
+ 3. `task-brief <plan> N` → brief file
42
+ 4. Dispatch implementer (brief + report paths, model tier) — templates: `references/implementer-prompt.md`
43
+ 5. On `DONE`: `review-package BASE HEAD` → diff file
44
+ 6. Dispatch task reviewer (brief, report, diff, Global Constraints) — `references/task-reviewer-prompt.md`
45
+ 7. Fix loop for Critical/Important; re-review until approved
46
+ 8. Append `progress.md`; update `status.json` `task_commits[]` if used
47
+ 9. Next task
48
+
49
+ **Never** dispatch multiple implementers in parallel (write conflicts).
50
+
51
+ Detail: **`references/file-handoffs.md`**.
52
+
53
+ ## Implementer statuses
54
+
55
+ | Status | PM action |
56
+ |--------|-----------|
57
+ | DONE | review-package → task reviewer |
58
+ | DONE_WITH_CONCERNS | read concerns; fix scope issues before review |
59
+ | NEEDS_CONTEXT | provide context; re-dispatch |
60
+ | BLOCKED | more context, higher tier, split task, or escalate human — **never** same-model blind retry |
61
+
62
+ ## Reviewer ⚠️ items
63
+
64
+ `⚠️ Cannot verify from diff` does not block other findings. PM must resolve each before task complete.
65
+
66
+ ## Model tier
67
+
68
+ | Tier | Use |
69
+ |------|-----|
70
+ | fast | Transcription (complete code in plan); 1–2 file mechanical |
71
+ | standard | Prose implementer; task reviewer (floor) |
72
+ | capable | Integration judgment; plan QC on large branch diff |
73
+
74
+ **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).
75
+
76
+ Host mapping → **`mstar-host`** references (`model` / Task field).
77
+
78
+ ## After all tasks
79
+
80
+ 1. `review-package MERGE_BASE HEAD` → branch diff in `{SDD_DIR}`
81
+ 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).
82
+ 3. Critical/Important QC findings → **one** fix dispatch (full list), then targeted re-review
83
+ 4. QA gate → **`mstar-review-qc`** / `mstar-harness-core` Done rules
84
+
85
+ ## Progress ledger
86
+
87
+ At start: `cat {SDD_DIR}/progress.md`. Tasks marked complete are DONE — do not re-dispatch after compaction.
88
+
89
+ Append on clean review: `Task N: complete (<base>..<head>, review clean)`.
90
+
91
+ Minor findings → `## Minor (for plan QC)` section in same file.
92
+
93
+ ## Red flags (NEVER)
94
+
95
+ - Parallel implementer dispatches
96
+ - Paste plan, diffs, or task history into dispatch prompts
97
+ - Dispatch reviewer without diff file
98
+ - `HEAD~1` as review BASE
99
+ - Pre-judge reviewer ("do not flag", "at most Minor")
100
+ - Skip task review or accept missing verdict
101
+ - Re-dispatch tasks listed complete in ledger
102
+ - PM thread implements instead of subagent dispatch
103
+
104
+ ## Scripts
105
+
106
+ From repo: `skills/mstar-sdd/scripts/` (bundled in OpenCode as `harness-skills/mstar-sdd/scripts/`).
107
+
108
+ | Script | Usage |
109
+ |--------|--------|
110
+ | `sdd-workspace` | `PLAN_ID` → creates `{SDD_DIR}`, prints path |
111
+ | `task-brief` | `PLAN_FILE TASK_N [OUTFILE]` |
112
+ | `review-package` | `BASE HEAD [OUTFILE]` |
113
+
114
+ ## References
115
+
116
+ - `references/file-handoffs.md` — paths and fix-loop evidence
117
+ - `references/implementer-prompt.md`
118
+ - `references/task-reviewer-prompt.md`
@@ -0,0 +1,73 @@
1
+ # File handoffs (Morning Star SDD)
2
+
3
+ PM and subagents move artifacts as **files**, not pasted text. Pasted content stays in PM context for every later turn.
4
+
5
+ ## Before implementer dispatch
6
+
7
+ 1. `export SDD_DIR=$(skills/mstar-sdd/scripts/sdd-workspace <plan-id>)`
8
+ 2. `skills/mstar-sdd/scripts/task-brief <plan-file> <N> "$SDD_DIR/task-N-brief.md"`
9
+ 3. Record `BASE_SHA` (`git rev-parse HEAD` before dispatch).
10
+ 4. Dispatch implementer with:
11
+ - One line scene-setting (where task fits)
12
+ - Brief path: read first — verbatim requirements
13
+ - Interfaces / decisions brief cannot know
14
+ - Report path: `$SDD_DIR/task-N-report.md`
15
+ - `Model tier` → host-specific model (required)
16
+
17
+ ## Implementer report file
18
+
19
+ Implementer writes full report to `task-N-report.md`. Return to PM only:
20
+
21
+ - Status: `DONE` | `DONE_WITH_CONCERNS` | `NEEDS_CONTEXT` | `BLOCKED`
22
+ - Commits (SHAs)
23
+ - One-line test summary
24
+ - Concerns (if any)
25
+
26
+ ## After implementer DONE
27
+
28
+ 1. `HEAD_SHA=$(git rev-parse HEAD)`
29
+ 2. `skills/mstar-sdd/scripts/review-package "$BASE_SHA" "$HEAD_SHA" "$SDD_DIR/review-....diff"`
30
+ 3. Dispatch task reviewer with: brief path, report path, diff path, Global Constraints (verbatim from plan).
31
+
32
+ **Never use `HEAD~1` as BASE** — multi-commit tasks truncate.
33
+
34
+ ## Fix loop
35
+
36
+ Fix subagent appends to same `task-N-report.md` with test evidence:
37
+
38
+ - Covering test file(s)
39
+ - Command run
40
+ - Output (pristine — warnings are findings)
41
+
42
+ Re-dispatch reviewer only when all three are present.
43
+
44
+ ## Progress ledger
45
+
46
+ On clean task review, append to `$SDD_DIR/progress.md`:
47
+
48
+ ```text
49
+ Task N: complete (<base>..<head>, review clean)
50
+ ```
51
+
52
+ Minor findings: append under `## Minor (for plan QC)` in same file.
53
+
54
+ ## Plan-level QC package
55
+
56
+ After all tasks:
57
+
58
+ ```bash
59
+ MERGE_BASE=$(git merge-base <target-branch> HEAD)
60
+ skills/mstar-sdd/scripts/review-package "$MERGE_BASE" HEAD "$SDD_DIR/branch-review-....diff"
61
+ ```
62
+
63
+ Pass **branch** diff path to QC dispatch — not task-level diffs.
64
+
65
+ ## PM context hygiene
66
+
67
+ Do not paste:
68
+
69
+ - Full plan text
70
+ - Prior task summaries ("state after Tasks 1-3")
71
+ - Full diff content
72
+
73
+ Fresh subagent gets: brief + interfaces + constraints + file paths only.
@@ -0,0 +1,53 @@
1
+ # Implementer subagent prompt template
2
+
3
+ Use when PM dispatches an SDD implementer (`mstar-sdd`).
4
+
5
+ ```
6
+ Task / subagent:
7
+ description: "SDD implement Task N: <name>"
8
+ model: [REQUIRED — per Model tier in Assignment and mstar-sdd SKILL]
9
+ prompt: |
10
+ <SUBAGENT-STOP> Skip PM orchestration skills. You are a leaf implementer.</SUBAGENT-STOP>
11
+
12
+ You are implementing Task N: <name>
13
+
14
+ ## Scene
15
+
16
+ [One line: where this task fits in the plan]
17
+
18
+ ## Requirements
19
+
20
+ Read first — this is your spec (verbatim values): [BRIEF_FILE]
21
+
22
+ ## Context not in the brief
23
+
24
+ [Interfaces from earlier tasks, PM resolutions]
25
+
26
+ ## Report file
27
+
28
+ Write your full report to: [REPORT_FILE]
29
+
30
+ ## Before you begin
31
+
32
+ Ask questions now about requirements, approach, or dependencies.
33
+
34
+ ## Your job
35
+
36
+ 1. Implement exactly what the brief specifies
37
+ 2. Run tests (TDD if brief requires)
38
+ 3. Commit on Working branch
39
+ 4. Self-review
40
+ 5. Write report file; return short summary only
41
+
42
+ ## When stuck
43
+
44
+ Report BLOCKED or NEEDS_CONTEXT — never guess.
45
+
46
+ ## Report format (in file)
47
+
48
+ - Status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED
49
+ - Implemented / attempted
50
+ - Tests: command, output, red/green evidence if TDD
51
+ - Files changed
52
+ - Self-review notes
53
+ ```
@@ -0,0 +1,51 @@
1
+ # Task reviewer subagent prompt template
2
+
3
+ One reviewer per task: spec compliance + code quality (`mstar-sdd`).
4
+
5
+ ```
6
+ Task / subagent:
7
+ description: "SDD review Task N (spec + quality)"
8
+ model: [REQUIRED — standard tier default; capable if diff is large/subtle]
9
+ prompt: |
10
+ <SUBAGENT-STOP> Skip PM orchestration. Read-only review.</SUBAGENT-STOP>
11
+
12
+ Review one task implementation: spec compliance first, then quality.
13
+ Task-scoped gate — plan-level QC comes later on the whole branch.
14
+
15
+ ## What was requested
16
+
17
+ Brief: [BRIEF_FILE]
18
+
19
+ Global constraints (verbatim):
20
+ [GLOBAL_CONSTRAINTS]
21
+
22
+ ## Implementer report
23
+
24
+ [REPORT_FILE] — treat claims as unverified until checked against diff.
25
+
26
+ ## Diff
27
+
28
+ Base: [BASE_SHA]
29
+ Head: [HEAD_SHA]
30
+ Diff file: [DIFF_FILE]
31
+
32
+ Read the diff file once. Do not re-run git. Do not mutate checkout.
33
+ Do not re-run full test suite — trust implementer evidence unless a
34
+ specific doubt needs one focused test.
35
+
36
+ ## Output
37
+
38
+ ### Spec Compliance
39
+ - ✅ Spec compliant | ❌ Issues found (file:line)
40
+ - ⚠️ Cannot verify from diff: [items for PM to check]
41
+
42
+ ### Strengths
43
+
44
+ ### Issues
45
+ #### Critical | Important | Minor
46
+
47
+ ### Assessment
48
+ **Task quality:** Approved | Needs fixes
49
+ ```
50
+
51
+ Re-review after fixes covers both verdicts. PM resolves all ⚠️ items before marking task complete.