@mstar-harness/opencode 1.0.6 → 1.2.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 (41) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/harness-agents/qc-specialist-2.md +9 -16
  4. package/harness-agents/qc-specialist-3.md +9 -16
  5. package/harness-agents/qc-specialist.md +9 -16
  6. package/harness-commands/iteration-loop.md +297 -0
  7. package/harness-commands/iteration-start.md +2 -0
  8. package/harness-skills/mstar-branch-worktree/SKILL.md +2 -2
  9. package/harness-skills/mstar-dispatch-gates/SKILL.md +3 -3
  10. package/harness-skills/mstar-harness-core/SKILL.md +2 -2
  11. package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +4 -4
  12. package/harness-skills/mstar-host/references/cursor.md +1 -1
  13. package/harness-skills/mstar-host/references/parallel-dispatch.md +3 -3
  14. package/harness-skills/mstar-iteration/SKILL.md +26 -9
  15. package/harness-skills/mstar-iteration/references/autonomous-direction-lock.md +89 -0
  16. package/harness-skills/mstar-iteration/references/iteration-compass-template.md +14 -0
  17. package/harness-skills/mstar-iteration/references/iteration-corpus-hygiene.md +1 -1
  18. package/harness-skills/mstar-phase-gates/SKILL.md +2 -2
  19. package/harness-skills/mstar-plan-artifacts/SKILL.md +2 -2
  20. package/harness-skills/mstar-plan-artifacts/references/done-compaction.md +2 -2
  21. package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +9 -8
  22. package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +39 -21
  23. package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +7 -6
  24. package/harness-skills/mstar-plan-conventions/SKILL.md +7 -7
  25. package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +4 -4
  26. package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +2 -2
  27. package/harness-skills/mstar-review-qc/SKILL.md +5 -5
  28. package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +5 -5
  29. package/harness-skills/mstar-roles/SKILL.md +7 -7
  30. package/harness-skills/mstar-roles/references/project-manager/plan-management.md +2 -2
  31. package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +2 -2
  32. package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +6 -6
  33. package/harness-skills/mstar-roles/references/project-manager.md +4 -4
  34. package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +2 -2
  35. package/harness-skills/mstar-roles/references/qa-engineer.md +4 -2
  36. package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +1 -1
  37. package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +1 -1
  38. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +7 -7
  39. package/harness-skills/mstar-sdd/SKILL.md +2 -2
  40. package/harness-skills/mstar-sdd/references/file-handoffs.md +3 -2
  41. package/package.json +1 -1
@@ -6,15 +6,15 @@
6
6
 
7
7
  ## Harness 子树内(`{HARNESS_DIR}/` 下)
8
8
 
9
- 这些是 agent handoff 用的结构化产物,随 `.git` 追踪,不面向人类直接阅读。
9
+ 这些是 agent handoff 用的结构化产物;除明确标注 gitignored 的 scratch 外,默认随 `.git` 追踪,不面向人类直接阅读。
10
10
 
11
11
  | 产物 | 解析后路径(默认 `.mstar/`) | 读写的技能 |
12
12
  |------|---------------------------|-----------|
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>/qc1.md`…`qc3.md` + consolidated(**SDD 默认**);`qc.md`(inline 例外) | `mstar-review-qc` |
17
- | **SDD scratch** | `{HARNESS_DIR}/sdd/<plan-id>/`(gitignored) | `mstar-sdd` |
16
+ | **Review bundle(QC/QA 原始过程报告)** | `{HARNESS_DIR}/sdd/<plan-id>/review/`(gitignored;默认 `.mstar/sdd/<plan-id>/review/`) | `mstar-sdd`、`mstar-review-qc`、`qa-engineer` |
17
+ | **SDD scratch** | `{HARNESS_DIR}/sdd/<plan-id>/`(gitignored;含 per-task handoff 与 `review/` bundle) | `mstar-sdd` |
18
18
  | **status.json** | `.mstar/status.json` | `mstar-plan-artifacts` |
19
19
  | **迭代 compass** | `.mstar/iterations/<iteration-id>-delivery-compass.md` | `mstar-iteration`(读写) |
20
20
  | **迭代工作区** | `.mstar/iterations/<iteration-id>/`(`guides/`、`specs/` 等) | `mstar-iteration`(读写);close 时 `mstar-compound`(提升读) |
@@ -43,7 +43,7 @@
43
43
  | `docs/` | 人类文档(安装、贡献指南等),知识产物不放此处 |
44
44
  | `{ITERATION_DIR}/` | 仅限迭代 compass,知识文档不放此处 |
45
45
  | `{SPECS_DIR}/` | 仅限冻结规格/ADR,运行时知识不放此处 |
46
- | `{PLAN_DIR}/reports/` | 仅限 QC 报告,知识文档不放此处 |
46
+ | `{PLAN_DIR}/reports/` | Legacy / explicit audit mode only;默认 QC/QA 原始过程报告进 `{SDD_DIR}/review/`,知识文档不放此处 |
47
47
 
48
48
  ## `<category>` 取值
49
49
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  给新仓或迁移仓提供一套可复制的启动方式,确保:
8
8
 
9
- - `status.json` / residual / reports 有唯一落点;
9
+ - `status.json` / residual / review bundle 有唯一落点;
10
10
  - 根规则与 harness 规则不互相覆盖;
11
11
  - 目录级 `AGENTS.md` 只承载增量边界,不变成重复手册。
12
12
 
@@ -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`;`sdd/` 空目录占位(per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建;项目根 `.gitignore` 须含 `.mstar/sdd/`)。
17
+ 3. 初始化可选 `notes.json`(**`mstar-plan-artifacts/templates/notes.empty.json`**);`sdd/` 空目录占位(per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建;项目根 `.gitignore` 须含 `.mstar/sdd/`,legacy `.agents/` 项目对应 `.agents/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,6 +1,6 @@
1
1
  ---
2
2
  name: mstar-review-qc
3
- description: Morning Star QC orchestration — **SDD mandatory plan QC tri-review** (`qc1`…`qc3` + consolidated); inline/hotfix single-seat (`qc.md`); PM dispatch timing, tri identity gate, residual registration contract, layer boundaries. Leaf QC execution → **`mstar-roles/references/qc-specialist/`**. Per-task review is **`mstar-sdd`** (L2). Primary reader: **`project-manager`** when dispatching or consolidating QC.
3
+ description: Morning Star QC orchestration — **SDD mandatory plan QC tri-review** (`{SDD_DIR}/review/qc1.md`…`qc3.md` + consolidated); inline/hotfix single-seat (`qc.md` in review bundle); PM dispatch timing, tri identity gate, residual registration contract, layer boundaries, durable plan summary. Leaf QC execution → **`mstar-roles/references/qc-specialist/`**. Per-task review is **`mstar-sdd`** (L2). Primary reader: **`project-manager`** when dispatching or consolidating QC.
4
4
  ---
5
5
 
6
6
  ## Load order(必读顺序)
@@ -13,9 +13,9 @@ description: Morning Star QC orchestration — **SDD mandatory plan QC tri-revie
13
13
 
14
14
  ## 分派时机(与 plan / batch 对齐)
15
15
 
16
- - **`Execution mode: sdd`**:全部 task + L2 task reviewers 完成后 → **强制 tri-review**(`QC mode: full tri-review`,**N=3**)。Assignment 须含 **branch review-package** 路径。PM 汇总 `qc-consolidated.md`。
17
- - **`Execution mode: inline`**:单席 `qc-specialist` → `qc.md`(**N=1**),或按 hotfix 路由跳过。
18
- - **After `Request Changes` (default)**:**Targeted re-review** — PM dispatches only seats that **raised** blocking findings; each updates **the same** `{PLAN_DIR}/reports/<plan-id>/qcN.md` (`## Revalidation`, update verdict). **Do not** spawn `qcN-rev2.md` on this path. Naming → **`mstar-plan-artifacts/references/plan-files-and-reports.md`** § QC 三审触发时机.
16
+ - **`Execution mode: sdd`**:全部 task + L2 task reviewers 完成后 → **强制 tri-review**(`QC mode: full tri-review`,**N=3**)。Assignment 须含 **branch review-package** 路径与 `{SDD_DIR}/review/qcN.md` report paths。PM 汇总 `{SDD_DIR}/review/qc-consolidated.md` 并回写主 plan durable summary。
17
+ - **`Execution mode: inline`**:单席 `qc-specialist` → `{SDD_DIR}/review/qc.md`(**N=1**),或按 hotfix 路由跳过。
18
+ - **After `Request Changes` (default)**:**Targeted re-review** — PM dispatches only seats that **raised** blocking findings; each updates **the same** `{SDD_DIR}/review/qcN.md` (`## Revalidation`, update verdict). **Do not** spawn `qcN-rev2.md` for targeted re-review. Naming → **`mstar-plan-artifacts/references/plan-files-and-reports.md`** § QC 三审触发时机.
19
19
  - **Full tri re-review (exception)**:Assignment **`QC re-review: full tri-review`** → new basenames (`qc1-rev2.md` …); PM marks **active wave** in consolidated decision.
20
20
 
21
21
  ## 三审身份与模型独立性门禁(PM 强制)
@@ -41,7 +41,7 @@ description: Morning Star QC orchestration — **SDD mandatory plan QC tri-revie
41
41
 
42
42
  ## PM consolidated 门禁(摘要)
43
43
 
44
- Leaf reviewers apply verdict per **`mstar-roles/references/qc-specialist/report-template.md`**. PM **`qc-consolidated.md`** synthesizes tri (or single-seat `qc.md`) into one gate decision for implement fix waves and QA gate.
44
+ Leaf reviewers apply verdict per **`mstar-roles/references/qc-specialist/report-template.md`**. PM **`{SDD_DIR}/review/qc-consolidated.md`** synthesizes tri (or single-seat `qc.md`) into one gate decision for implement fix waves and QA gate, then records the durable summary in the main plan/status artifacts.
45
45
 
46
46
  ## 证据规则(PM · consolidated 输入)
47
47
 
@@ -7,7 +7,7 @@
7
7
  | **L1** Implementer | dev subagent | Per task | Write code + TDD evidence | `task-N-brief.md` |
8
8
  | **L2** Task reviewer | PM-dispatched subagent (SDD) | Per task, after implementer | Spec + quality for **one task** | brief, report, **task-level** diff |
9
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` when **`QA gate: mandatory`**; else PM acceptance | After QC gate | DoD acceptance, residual verify, Done recommendation — **not** default full re-run | QC reports + plan + `status.json` |
10
+ | **L4** QA | `qa-engineer` when **`QA gate: mandatory`**; else PM acceptance | After QC gate | DoD acceptance, residual verify, Done recommendation — **not** default full re-run | Review bundle + plan + `status.json` |
11
11
 
12
12
  PM sets **`QA gate`** per `mstar-roles/references/project-manager/qa-trigger-matrix.md`. L4 execution when dispatched → `mstar-roles/references/qa-engineer/acceptance-gate.md`.
13
13
 
@@ -20,14 +20,14 @@ Per-task spec/quality is **done** in L2 before L3. QC seats do not re-derive eac
20
20
  ## Plan QC tri (SDD mandatory)
21
21
 
22
22
  - Assignment: **`QC mode: full tri-review`** (implicit when `Execution mode: sdd`; PM may state explicitly).
23
- - **N=3** same dispatch message: QC#1 architecture/maintainability → `qc1.md`; QC#2 security/correctness → `qc2.md`; QC#3 performance/reliability → `qc3.md`.
24
- - PM **`qc-consolidated.md`** — cross-review synthesis; PM gate input.
23
+ - **N=3** same dispatch message: QC#1 architecture/maintainability → `{SDD_DIR}/review/qc1.md`; QC#2 security/correctness → `{SDD_DIR}/review/qc2.md`; QC#3 performance/reliability → `{SDD_DIR}/review/qc3.md`.
24
+ - PM **`{SDD_DIR}/review/qc-consolidated.md`** — cross-review synthesis; PM gate input and source for durable main-plan summary.
25
25
  - Dispatch must include **Review package path** (branch diff file).
26
26
  - **NEVER** substitute a single `qc-specialist` for L3 when SDD was used, unless user override: `QC mode: single — override: <reason>`.
27
27
 
28
28
  ## Plan QC single-seat (inline / exception only)
29
29
 
30
- - Report: `{PLAN_DIR}/reports/<plan-id>/qc.md`
30
+ - Report: `{SDD_DIR}/review/qc.md`
31
31
  - `Execution mode: inline` hotfix paths; or explicit override on SDD plan.
32
32
  - `N=1`; no `qc-consolidated.md` required.
33
33
 
@@ -40,4 +40,4 @@ Per-task spec/quality is **done** in L2 before L3. QC seats do not re-derive eac
40
40
 
41
41
  ## Minor findings
42
42
 
43
- Task reviewer Minor → `{SDD_DIR}/progress.md` § Minor. Plan QC Minor → `qcN.md` + optional residual via PM.
43
+ Task reviewer Minor → `{SDD_DIR}/progress.md` § Minor. Plan QC Minor → `{SDD_DIR}/review/qcN.md` + optional residual via PM.
@@ -39,7 +39,7 @@ If any conflict appears, `mstar-harness-core` remains the authoritative source f
39
39
  | --- | --- |
40
40
  | `project-manager` | `mstar-dispatch-gates`, `mstar-phase-gates`, `mstar-plan-conventions`, `mstar-roles` ref; + `references/project-manager/qa-trigger-matrix.md` for QA gate tiers; + `mstar-review-qc` before QC; + `mstar-branch-worktree` / `mstar-plan-artifacts` as the round requires; + `mstar-skill-authoring` for skill work; + `mstar-iteration` for iteration lifecycle (start/drive/close); + `mstar-strategy` for strategic alignment; + `mstar-compound` / `mstar-compound-refresh` pre-loaded by `mstar-iteration` § iteration-close |
41
41
  | `fullstack-dev*`, `frontend-dev` | `mstar-coding-behavior`, `mstar-dispatch-gates`, `mstar-branch-worktree` (if repo writes); plan path symbols from `mstar-plan-conventions` (minimal); `mstar-design-md` when implementing styled UI |
42
- | `qc-specialist*` | `mstar-branch-worktree`, `mstar-plan-artifacts` (report paths); `references/qc-specialist/` (workflow, checklist, template, lenses); `mstar-design-md` when reviewing UI |
42
+ | `qc-specialist*` | `mstar-branch-worktree`, `mstar-plan-artifacts` (review bundle paths); `references/qc-specialist/` (workflow, checklist, template, lenses); `mstar-design-md` when reviewing UI |
43
43
  | `qa-engineer` | `mstar-branch-worktree`, `mstar-plan-artifacts` (closing R#); `references/qa-engineer/acceptance-gate.md`; `mstar-design-md` when verifying visual output |
44
44
  | `architect`, `product-manager` | `mstar-phase-gates` (Prepare), `mstar-plan-artifacts` (knowledge/specs); `mstar-design-md` (creator + design intent); `mstar-strategy` (STRATEGY.md creation/maintenance) |
45
45
  | `ops-engineer` | `mstar-coding-behavior`, `mstar-branch-worktree` |
@@ -60,17 +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`**.
63
+ **Default (SDD):** plan QC tri-review — `qc-specialist` / `qc-specialist-2` / `qc-specialist-3` → `{SDD_DIR}/review/qc1.md`…`qc3.md` + `qc-consolidated.md` when **`Execution mode: sdd`**.
64
64
 
65
- **Exception (`inline` / hotfix):** single-seat → `qc.md` (`QC mode: single`).
65
+ **Exception (`inline` / hotfix):** single-seat → `{SDD_DIR}/review/qc.md` (`QC mode: single`).
66
66
 
67
67
  | role_id | reviewer_index | focus | report_suffix |
68
68
  | --- | --- | --- | --- |
69
- | `qc-specialist` | `1` | Architecture coherence and maintainability risk | `qc1` → `{PLAN_DIR}/reports/<plan-id>/qc1.md` |
70
- | `qc-specialist-2` | `2` | Security and correctness risk | `qc2` → `…/qc2.md` |
71
- | `qc-specialist-3` | `3` | Performance and reliability risk | `qc3` → `…/qc3.md` |
69
+ | `qc-specialist` | `1` | Architecture coherence and maintainability risk | `qc1` → `{SDD_DIR}/review/qc1.md` |
70
+ | `qc-specialist-2` | `2` | Security and correctness risk | `qc2` → `{SDD_DIR}/review/qc2.md` |
71
+ | `qc-specialist-3` | `3` | Performance and reliability risk | `qc3` → `{SDD_DIR}/review/qc3.md` |
72
72
 
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`.
73
+ PM consolidated (tri mode): `{SDD_DIR}/review/qc-consolidated.md` (same folder; no `<plan-id>` basename prefix) + durable main-plan summary. Naming SSOT: `mstar-plan-artifacts/references/plan-files-and-reports.md`.
74
74
 
75
75
  ## Maintenance Rules
76
76
 
@@ -19,7 +19,7 @@ Legacy fallbacks:
19
19
 
20
20
  1. Create `{HARNESS_DIR}` and `{PLAN_DIR}` when absent.
21
21
  2. Initialize `{HARNESS_DIR}/status.json` from template if available.
22
- 3. Initialize reports path: `{PLAN_DIR}/reports/`.
22
+ 3. Ensure `{HARNESS_DIR}/sdd/` is gitignored; per-plan `{SDD_DIR}/review/` is created by the SDD/review flow when needed.
23
23
  4. Initialize residual archive path: `{HARNESS_DIR}/archived/residuals/`.
24
24
  5. **Profile B** only: `{HARNESS_DIR}/archived/plans/` and `archived/plans-done.json` from `mstar-plan-artifacts/templates/plans-done.empty.json` (`{ "plans": [] }` only; see `done-compaction.md`).
25
25
  6. Optional: `{HARNESS_DIR}/notes.json`, `{HARNESS_DIR}/knowledge/README.md`.
@@ -36,7 +36,7 @@ If legacy plan directories already exist, reuse them; avoid dual-structure dupli
36
36
  - On plan create/update: sync `{HARNESS_DIR}/status.json` in same coordination round.
37
37
  - Before first non-trivial implement dispatch: ensure main plan file exists and `plan_id` is registered.
38
38
  - After each Completion Report: update status before next dispatch (`report-to-status` hard gate).
39
- - On entering `InReview`: ensure QC report path and aligned review metadata are set.
39
+ - On entering `InReview`: ensure review bundle path (`{SDD_DIR}/review/`) and aligned review metadata are set; write durable gate summaries back to the main plan/status artifacts.
40
40
  - On `Done`: ensure residual lifecycle state is consistent (open vs archived).
41
41
 
42
42
  ## PM Plan / Status NEVER
@@ -38,7 +38,7 @@ Set **`QA gate`** on the **first implement Assignment** (or plan frontmatter) an
38
38
 
39
39
  PM completes this in **Status Update** (or plan closure note). PM **does not** run bash tests or reproduction in the orchestration thread.
40
40
 
41
- 1. **QC verdict:** `qc-consolidated.md` or `qc.md` shows `Approve` with **Critical = 0** and **Warning = 0** (not `Approve with residuals`).
41
+ 1. **QC verdict:** `{SDD_DIR}/review/qc-consolidated.md` or `{SDD_DIR}/review/qc.md` shows `Approve` with **Critical = 0** and **Warning = 0** (not `Approve with residuals`), and the main plan has a durable gate summary.
42
42
  2. **DoD mapping:** Each plan Acceptance Criterion maps to **existing** evidence (dev Completion Report, QC `Tools run`, SDD TDD triple, CI links) — cite paths/commands, do not re-execute.
43
43
  3. **Residuals:** `status.json` has **no open R#** for this `plan_id` (or documented waiver per `mstar-plan-artifacts`).
44
44
  4. **Checkout alignment:** `Working branch` and `Review range / Diff basis` match QC report verified lines.
@@ -47,7 +47,7 @@ PM completes this in **Status Update** (or plan closure note). PM **does not** r
47
47
  ```markdown
48
48
  ## PM Acceptance (qa gate: pm-acceptance)
49
49
  - QA gate reason: <tier>
50
- - QC report: <path> — Approve, Critical/Warning 0
50
+ - QC report: <bundle path> — Approve, Critical/Warning 0; durable summary: <main plan section>
51
51
  - DoD mapping: <AC-id> → <evidence ref> …
52
52
  - Residuals: none open | waived R# …
53
53
  - Checkout: Working branch <name>; Review range <basis> (per QC Scope)
@@ -10,12 +10,12 @@ Use this reference when PM is dispatching QC, consolidating review verdicts, or
10
10
 
11
11
  **Per-task (L2):** task reviewer only — **not** `qc-specialist`. One reviewer subagent per task (spec + quality on task diff).
12
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:
13
+ **After all tasks (L3):** see **`mstar-review-qc/references/review-responsibility-boundaries.md`** · **`mstar-dispatch-gates`** (N=3 same message, branch review-package under `{SDD_DIR}/review/`, `qc1`…`qc3` + consolidated). PM checklist:
14
14
 
15
15
  0. Pre-dispatch: read `mstar-review-qc`.
16
- 1. `review-package MERGE_BASE HEAD` → branch diff under `{SDD_DIR}` or PM path.
16
+ 1. `review-package MERGE_BASE HEAD` → branch diff under `{SDD_DIR}/review/`.
17
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.
18
+ 3. PM writes `{SDD_DIR}/review/qc-consolidated.md` + main plan durable summary; after fixes → targeted re-review (default) or `QC re-review: full tri-review` for new wave files.
19
19
 
20
20
  **NEVER** end an SDD plan with only a single final `qc-specialist` unless user override: `QC mode: single — override: <reason>`.
21
21
 
@@ -24,7 +24,7 @@ Use this reference when PM is dispatching QC, consolidating review verdicts, or
24
24
  **When:** `Execution mode: inline` or explicit hotfix routing.
25
25
 
26
26
  1. Branch review-package path on dispatch.
27
- 2. **One** `qc-specialist` → `qc.md` (**N=1**).
27
+ 2. **One** `qc-specialist` → `{SDD_DIR}/review/qc.md` (**N=1**).
28
28
  3. Targeted re-review updates same `qc.md`.
29
29
 
30
30
  ## QC / Residual NEVER (PM)
@@ -37,7 +37,7 @@ Use this reference when PM is dispatching QC, consolidating review verdicts, or
37
37
  - **NEVER** drop residual tracking to chat-only when `Approve with residuals` applies.
38
38
  - **NEVER** treat "two of three QC reports arrived" as sufficient — missing seat → `Blocked`.
39
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.
40
+ - **NEVER** create `qc1-rev2.md` for **targeted** re-review; update original bundle `qcN.md` in place.
41
41
 
42
42
  ## Consolidated Decision Template
43
43
 
@@ -64,7 +64,7 @@ When blocking issues are fixed but non-blocking warnings/suggestions remain:
64
64
  - Must register residual findings (do not leave as chat-only).
65
65
  - Severity enum must follow `mstar-plan-artifacts` SSOT.
66
66
  - Canonical store: `{HARNESS_DIR}/status.json` -> root `residual_findings[<plan-id>]`.
67
- - Optional mirrored index in main plan is allowed, but never replace canonical entry.
67
+ - Required durable gate summary in main plan should list R# ids and decisions, but never replace canonical entries.
68
68
 
69
69
  Each residual record should include:
70
70
 
@@ -8,7 +8,7 @@ Before any non-trivial PM action, read in order:
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
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
+ 7. **On demand:** `mstar-branch-worktree` (parallel implement, QC/QA checkout); `mstar-plan-artifacts` (`status.json`, R#); `mstar-plan-artifacts` (InReview waves, review bundle naming)
12
12
 
13
13
  **Not required:** `mstar-coding-behavior` (orchestration-only PM work).
14
14
 
@@ -81,8 +81,8 @@ Detailed conflict priority and dev allocation:
81
81
 
82
82
  ## Non-Bypass Constraints
83
83
 
84
- - Code-development plans with **`Execution mode: sdd`** (default for multi-task): **mandatory plan QC tri-review** (`qc1`…`qc3` + consolidated) after all task reviewers complete.
85
- - **`Execution mode: inline`**: hotfix single-seat QC (`qc.md`) or explicit skip rules unchanged.
84
+ - Code-development plans with **`Execution mode: sdd`** (default for multi-task): **mandatory plan QC tri-review** (`{SDD_DIR}/review/qc1.md`…`qc3.md` + consolidated) after all task reviewers complete.
85
+ - **`Execution mode: inline`**: hotfix single-seat QC (`{SDD_DIR}/review/qc.md`) or explicit skip rules unchanged.
86
86
  - Multi-task implement defaults to **`Execution mode: sdd`** + `mstar-sdd`; hotfix may use `inline`.
87
87
  - Runtime/behavior change requires a recorded **`QA gate`** decision by default (`mandatory` or `pm-acceptance` per `qa-trigger-matrix.md`).
88
88
  - Report-only QA may skip QC tri-review only when no implementation/test/config artifact is committed.
@@ -254,7 +254,7 @@ PM must:
254
254
 
255
255
  - Dispatch QC with aligned scope fields
256
256
  - Consolidate to one gate verdict
257
- - Assign fixes; default **targeted QC re-review** (same `qcN.md` under `reports/<plan-id>/`); full tri only when Assignment says `QC re-review: full tri-review`
257
+ - Assign fixes; default **targeted QC re-review** (same `{SDD_DIR}/review/qcN.md`); full tri only when Assignment says `QC re-review: full tri-review`
258
258
  - Record non-blocking leftovers as residual findings
259
259
  - Keep open vs archived residual state coherent at closure
260
260
  - Sync plan/status in the same coordination round
@@ -10,7 +10,7 @@ Layer **L4** runs after the QC gate. **`QA gate: pm-acceptance`** is PM-only —
10
10
 
11
11
  | L3 Plan QC | L4 QA (`qa-engineer`) |
12
12
  | --- | --- |
13
- | Independent cross-review lenses on branch diff | Acceptance against plan DoD + QC consolidated input |
13
+ | Independent cross-review lenses on branch diff | Acceptance against plan DoD + review bundle QC consolidated input |
14
14
  | Find defects; `Request Changes` / residual registration | Verify fixes, R# lifecycle, Done recommendation |
15
15
  | Typically read-only on product code | May run targeted checks; default **evidence reuse** |
16
16
 
@@ -26,7 +26,7 @@ Layer **L4** runs after the QC gate. **`QA gate: pm-acceptance`** is PM-only —
26
26
 
27
27
  When **`QA mode: acceptance-only`**:
28
28
 
29
- 1. Read `qc-consolidated.md` (or `qc.md`) **Tools run** and dev Completion Report / SDD TDD triple.
29
+ 1. Read `{SDD_DIR}/review/qc-consolidated.md` (or `{SDD_DIR}/review/qc.md`) **Tools run** and dev Completion Report / SDD TDD triple.
30
30
  2. If QC report includes **reproducible test commands + output** for the same **`Review range / Diff basis`** as Assignment → **verify mapping** to plan Acceptance Criteria; **do not** default to a full suite re-run.
31
31
  3. Document in Completion Report **Validation**: which ACs are covered by reused evidence vs newly executed checks.
32
32
 
@@ -7,7 +7,7 @@ Before any non-trivial QA assignment, read in order:
7
7
  3. `mstar-dispatch-gates` + `mstar-branch-worktree` (anti-recursion; checkout alignment with QC)
8
8
  4. Host adapter: `mstar-host` (detect; Read `references/opencode.md`, `cursor.md`, or `codex.md`)
9
9
  5. **`references/qa-engineer/acceptance-gate.md`** (L4 execution)
10
- 6. **On demand:** `mstar-plan-artifacts` (closing R#); `mstar-plan-conventions` (paths); `mstar-design-md` (UI verify against DESIGN.md); `mstar-phase-gates` (when Assignment references verification phase); QC consolidated reports and inputs named in Assignment
10
+ 6. **On demand:** `mstar-plan-artifacts` (closing R#); `mstar-plan-conventions` (paths); `mstar-design-md` (UI verify against DESIGN.md); `mstar-phase-gates` (when Assignment references verification phase); review bundle files and QC consolidated inputs named in Assignment
11
11
 
12
12
  Full cross-role matrix: `mstar-roles` SKILL.md.
13
13
 
@@ -38,7 +38,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
38
38
  - **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
39
39
  - **NEVER** delegate test design, execution, evidence, or QA reports to `explore`.
40
40
  - **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.
41
- - **NEVER** default to a full test-suite re-run when **`QA mode: acceptance-only`** and QC consolidated (or `qc.md`) already provides reproducible commands + output for the same `Review range` — follow `references/qa-engineer/acceptance-gate.md`.
41
+ - **NEVER** default to a full test-suite re-run when **`QA mode: acceptance-only`** and the review bundle QC consolidated report (or `qc.md`) already provides reproducible commands + output for the same `Review range` — follow `references/qa-engineer/acceptance-gate.md`.
42
42
 
43
43
  ## Core QA Gate Duties
44
44
 
@@ -52,6 +52,8 @@ Before sign-off: validate phase-gate prerequisites, Assignment metadata alignmen
52
52
 
53
53
  ## QA Report Template (Report-only)
54
54
 
55
+ When Assignment provides a report path, write report-only output under `{SDD_DIR}/review/` (for example `qa.md`) unless PM explicitly chooses tracked report archive mode.
56
+
55
57
  ```markdown
56
58
  # QA Report (Report-only)
57
59
 
@@ -4,7 +4,7 @@ Extension of `references/qc-specialist-shared.md`. Frontmatter and path rules re
4
4
 
5
5
  ## Report body template
6
6
 
7
- Write under **`{PLAN_DIR}/reports/<plan-id>/qc#.md`** (`qc1`…`qc3` or `qc.md`). YAML frontmatter first (see `qc-specialist-shared.md`), then:
7
+ Write under the Assignment-provided **`{SDD_DIR}/review/qc#.md`** (`qc1`…`qc3` or `qc.md`). YAML frontmatter first (see `qc-specialist-shared.md`), then:
8
8
 
9
9
  ```markdown
10
10
  # Code Review Report
@@ -18,7 +18,7 @@ Extension of `references/qc-specialist-shared.md`. Read when dispatched as `qc-s
18
18
  4. Run project lint and static analysis for the change.
19
19
  5. Execute **`reviewer-checklist.md`** manually.
20
20
  6. Produce structured findings with severity and evidence. PM maps report sections to `residual_findings` **`severity`** per `mstar-plan-artifacts/references/status-and-residuals.md` — do not invent non-canonical severity strings.
21
- 7. **Commit report:** Write `.md` under `{PLAN_DIR}/reports/<plan-id>/`; `git add` **only** report paths; `git commit`; real `git log -1 --oneline` in Completion Report.
21
+ 7. **Write report:** Write `.md` to the Assignment-provided `{SDD_DIR}/review/` report path. Do not commit raw bundle reports unless Assignment explicitly says `Review archive mode: tracked reports`.
22
22
  8. **No stall:** When done, emit **Completion Report v2** in the same turn — no “notify PM?” choosers.
23
23
 
24
24
  ## Deep review (optional, lens mode)
@@ -18,7 +18,7 @@ Before any non-trivial QC assignment, read in order:
18
18
 
19
19
  1. `mstar-harness-core`
20
20
  2. `mstar-dispatch-gates` + `mstar-branch-worktree`
21
- 3. `mstar-plan-artifacts` (report paths and naming)
21
+ 3. `mstar-plan-artifacts` (review bundle paths and naming)
22
22
  4. Host: `mstar-host` → active host reference
23
23
  5. **`references/qc-specialist/reviewer-workflow.md`**
24
24
  6. **`references/qc-specialist/reviewer-checklist.md`**
@@ -49,8 +49,8 @@ If any item below matches, **stop** and return `Blocked` to `project-manager`:
49
49
 
50
50
  - **NEVER** invoke another QC seat or `{role_id}` again, nor `qa-engineer` / dev / `architect` / `project-manager`, unless `Delegation: allowed (...)` lists them.
51
51
  - **NEVER** ask the user for permission to submit a report or stall after a completed review.
52
- - **NEVER** modify business implementation/tests, `status.json` residual fields, or paths outside QC report whitelist.
53
- - **NEVER** `git add .` stage **only** report files you changed.
52
+ - **NEVER** modify business implementation/tests, `status.json` residual fields, or paths outside the Assignment-specified QC report path.
53
+ - **NEVER** `git add .` or commit raw bundle reports by default.
54
54
  - **NEVER** close or archive residual entries in `status.json` from QC.
55
55
  - **NEVER** treat `Handoff` or routing prose as invoke instructions.
56
56
  - **NEVER** infer tool exposure implies authorization.
@@ -76,13 +76,13 @@ See **`references/qc-specialist/report-template.md`**. Machine **`severity`** en
76
76
 
77
77
  ## Report path (required)
78
78
 
79
- Write **`{PLAN_DIR}/reports/<plan-id>/{report_suffix}.md`** (tri: `qc1`…`qc3`; inline: `qc.md`). No `<plan-id>` filename prefix.
79
+ Write the Assignment-provided path under **`{SDD_DIR}/review/{report_suffix}.md`** (tri: `qc1`…`qc3`; inline: `qc.md`). No `<plan-id>` filename prefix.
80
80
 
81
81
  ## Targeted re-review (same report file)
82
82
 
83
83
  When Assignment includes **`QC re-review: targeted`**:
84
84
 
85
- - Edit the **same** `{report_suffix}.md` — add **`## Revalidation`**, update frontmatter verdict/`generated_at`.
85
+ - Edit the **same** bundle `{report_suffix}.md` — add **`## Revalidation`**, update frontmatter verdict/`generated_at`.
86
86
  - Do **not** create `qcN-rev2.md` on this path.
87
87
  - Full tri re-review → new basenames per `mstar-plan-artifacts/references/plan-files-and-reports.md`.
88
88
 
@@ -118,11 +118,11 @@ generated_at: "YYYY-MM-DD"
118
118
 
119
119
  ## Repository Write Scope
120
120
 
121
- QC may write only `{PLAN_DIR}/reports/**/*.md` per assignment.
121
+ QC may write only the Assignment-specified review bundle `.md` path under `{SDD_DIR}/review/`.
122
122
 
123
123
  ### Git NEVER (QC reports)
124
124
 
125
- - **NEVER** claim complete without `git add` (report paths only) + `git commit` when required — real `git log -1 --oneline` in Completion Report.
125
+ - **NEVER** commit raw `{SDD_DIR}/review/` reports unless Assignment explicitly says `Review archive mode: tracked reports`.
126
126
  - **NEVER** `git add .`
127
127
 
128
128
  ## Detailed References Index
@@ -81,8 +81,8 @@ Host mapping → **`mstar-host`** references (`model` / Task field).
81
81
 
82
82
  ## After all tasks
83
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).
84
+ 1. `review-package MERGE_BASE HEAD` → branch diff in `{SDD_DIR}/review/`
85
+ 2. PM dispatches **plan QC tri-review (L3)** — **`QC mode: full tri-review`**, **N=3** — with branch review-package path and report paths under `{SDD_DIR}/review/` → **`mstar-review-qc`** · **`mstar-dispatch-gates`**. Layer SSOT → **`mstar-review-qc/references/review-responsibility-boundaries.md`**. PM writes `{SDD_DIR}/review/qc-consolidated.md` and durable main-plan gate summary. **Mandatory whenever `Execution mode: sdd`** (single-plan or iteration).
86
86
  3. Critical/Important QC findings → **one** fix dispatch (full list), then targeted re-review
87
87
  4. QA gate → **`mstar-harness-core`** Done rules; PM **`mstar-roles/references/project-manager/qa-trigger-matrix.md`**
88
88
 
@@ -58,10 +58,11 @@ After all tasks:
58
58
 
59
59
  ```bash
60
60
  MERGE_BASE=$(git merge-base <target-branch> HEAD)
61
- skills/mstar-sdd/scripts/review-package "$MERGE_BASE" HEAD "$SDD_DIR/branch-review-....diff"
61
+ mkdir -p "$SDD_DIR/review"
62
+ skills/mstar-sdd/scripts/review-package "$MERGE_BASE" HEAD "$SDD_DIR/review/branch-review-....diff"
62
63
  ```
63
64
 
64
- Pass **branch** diff path to QC dispatch — not task-level diffs.
65
+ Pass **branch** diff path and bundle report paths (`$SDD_DIR/review/qc1.md` …) to QC dispatch — not task-level diffs. Raw QC/QA files stay in the gitignored review bundle; PM records durable summary and residuals in tracked plan/status artifacts.
65
66
 
66
67
  ## PM context hygiene
67
68
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mstar-harness/opencode",
3
- "version": "1.0.6",
3
+ "version": "1.2.0",
4
4
  "description": "Morning Star harness OpenCode plugin (skills bootstrap and agent loading).",
5
5
  "license": "MIT",
6
6
  "repository": {