@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
|
@@ -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
|
|
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
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
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
|
|
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
|
-
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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**
|
|
26
|
-
- **NEVER**
|
|
27
|
-
- **NEVER**
|
|
28
|
-
- **NEVER**
|
|
29
|
-
- **NEVER**
|
|
30
|
-
- **NEVER**
|
|
31
|
-
- **NEVER**
|
|
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
|
-
-
|
|
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.
|
|
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 |
|
|
60
|
-
| Medium feature |
|
|
61
|
-
| Small feature | `dev -> QC tri-review ->
|
|
62
|
-
| Bug fix |
|
|
63
|
-
| High-ambiguity bug |
|
|
64
|
-
| Hotfix | `single dev -> QC single-review ->
|
|
65
|
-
| Product docs only |
|
|
66
|
-
| Tech spec only |
|
|
67
|
-
| Prompt/rules/skills |
|
|
68
|
-
| Market/user research |
|
|
69
|
-
| QA report-only |
|
|
70
|
-
| High-risk ops |
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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`** (
|
|
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
|
|
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.
|