@mstar-harness/opencode 1.5.1 → 1.5.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to the `@mstar-harness/opencode` package are documented in t
4
4
 
5
5
  The monorepo root [CHANGELOG.md](../../CHANGELOG.md) summarizes cross-surface releases.
6
6
 
7
+ ## 1.5.3
8
+
9
+ - Version alignment with harness **1.5.3** (bundled skills/commands: frontmatter YAML quotes + `/iteration-loop` scale `XL`).
10
+
11
+ See root [CHANGELOG.md](../../CHANGELOG.md) **1.5.3**.
12
+
13
+ ## 1.5.2
14
+
15
+ - Version alignment with harness **1.5.2** (bundled skills/commands: process-vs-results git policy + `{SPECS_DIR}` resolve order).
16
+
17
+ See root [CHANGELOG.md](../../CHANGELOG.md) **1.5.2**.
18
+
7
19
  ## 1.5.1
8
20
 
9
21
  - Version alignment with harness **1.5.1** (bundled skills/commands: Phase 5 push cadence — local early fix, push only when CI/review wave idle).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: iteration-loop
3
- description: Autonomous full iteration loop for cloud agents — Phase 1 (code-first auto direction lock + compass/plans + Review & Edit chain) through Phase 2–5 (execute → close → PR → merge-ready). Optional args: direction, scale (S|M|L, default M). Not Done until Phase 5 exit checklist passes. Minimal human intervention; no grill-me.
3
+ description: "Autonomous full iteration loop for cloud agents — Phase 1 (code-first auto direction lock + compass/plans + Review & Edit chain) through Phase 2–5 (execute → close → PR → merge-ready). Optional args: direction, scale (S|M|L|XL, default M). Not Done until Phase 5 exit checklist passes. Minimal human intervention; no grill-me."
4
4
  agent: project-manager
5
5
  ---
6
6
 
@@ -27,17 +27,18 @@ Phase gate SSOT → **`mstar-iteration`** §1–§5. This command is a **consume
27
27
  | Arg | Meaning | Default |
28
28
  |-----|---------|---------|
29
29
  | `direction` | Iteration direction / feedback constraint (free text) | Code-first research → **auto-lock recommended** |
30
- | `scale` | `S` \| `M` \| `L` | **`M`** |
30
+ | `scale` | `S` \| `M` \| `L` \| `XL` | **`M`** |
31
31
 
32
32
  **Scale budget**(写入 compass;约束 **业务** plan 数量)→ **`mstar-iteration`** §1.2 + `references/autonomous-direction-lock.md`:
33
33
 
34
34
  - **S** → 1 business plan
35
35
  - **M** → 2–3 business plans
36
- - **L** → 3–4 business plans(默认上限 4,除非 `direction` 显式要求更大)
36
+ - **L** → 3–4 business plans(上限 4
37
+ - **XL** → **>4** business plans(5+;适合大范围 autonomous 迭代)
37
38
 
38
- **HARD**:budget **只计**实际业务交付 plan;**不计** harness 流程(Review 链、QC/QA、compound、close、PR、merge-ready、compass/`status.json` 维护等)。流程门禁仍须执行,但不占 S/M/L 名额,也不得写成独立 process plan 来“凑数/占坑”。
39
+ **HARD**:budget **只计**实际业务交付 plan;**不计** harness 流程(Review 链、QC/QA、compound、close、PR、merge-ready、compass/`status.json` 维护等)。流程门禁仍须执行,但不占 S/M/L/XL 名额,也不得写成独立 process plan 来“凑数/占坑”。
39
40
 
40
- Parse: if the last token is exactly `S`/`M`/`L` (case-insensitive), treat it as `scale`; remaining text is `direction`. If only one token and it is `S`/`M`/`L`, that is `scale` with empty `direction`.
41
+ Parse: if the last token is exactly `S`/`M`/`L`/`XL` (case-insensitive), treat it as `scale`; remaining text is `direction`. If only one token and it is `S`/`M`/`L`/`XL`, that is `scale` with empty `direction`.
41
42
 
42
43
  ## Phase state machine(禁止跳步)
43
44
 
@@ -190,7 +191,7 @@ Tool rule → **`mstar-dispatch-gates`** specialist review-and-edit(顺序链
190
191
  Print before §6; all must be `[x]`:
191
192
 
192
193
  - [ ] Autonomous direction lock rationale recorded in compass(not grill-me)
193
- - [ ] Scale budget applied; **business** plan count within S/M/L(harness process not counted)
194
+ - [ ] Scale budget applied; **business** plan count within S/M/L/XL(harness process not counted)
194
195
  - [ ] Draft compass + plans + `status.json` registered
195
196
  - [ ] product-manager invoke completed;**未**向 `{KNOWLEDGE_DIR}/` 新增
196
197
  - [ ] architect invoke completed;**未**向 `{KNOWLEDGE_DIR}/` 新增
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mstar-branch-worktree
3
- description: Morning Star business-repo Git feature branches, worktree isolation layers **L1** (iteration cross-plan — control worktree + per-plan feature worktrees + `execution_lease`) and **L2** (within-plan — `references/parallel-writable-pre-dispatch.md`; N parallel Task invokes do NOT satisfy isolation), plan/Spec integration branches, and QC/QA checkout alignment (`Review cwd`, `Working branch`, `plan_id`, `Review range` / `Diff basis` must match verbatim across three QC reviewers and QA). Read when PM writes `Working branch` / `Branch policy`, iteration Phase 2 control vs feature worktree paths, dispatches ≥2 concurrent writable implement tracks on one repo, `Worktree isolation: required`, two or more writable streams touch one repo, dispatching QC tri-review or QA after merging to a single `HEAD`, dev/QA/ops before first `git commit`, or explaining worktree paths. Required for `project-manager` parallel implement or pre-QC orchestration; `fullstack-dev*` / `frontend-dev` / `qa-engineer` / `ops-engineer` on repo writes; `qc-specialist*` before review. Does not replace the state machine (`mstar-harness-core`).
3
+ description: "Morning Star business-repo Git feature branches, worktree isolation layers **L1** (iteration cross-plan — control worktree + per-plan feature worktrees + `execution_lease`) and **L2** (within-plan — `references/parallel-writable-pre-dispatch.md`; N parallel Task invokes do NOT satisfy isolation), plan/Spec integration branches, and QC/QA checkout alignment (`Review cwd`, `Working branch`, `plan_id`, `Review range` / `Diff basis` must match verbatim across three QC reviewers and QA). Read when PM writes `Working branch` / `Branch policy`, iteration Phase 2 control vs feature worktree paths, dispatches ≥2 concurrent writable implement tracks on one repo, `Worktree isolation: required`, two or more writable streams touch one repo, dispatching QC tri-review or QA after merging to a single `HEAD`, dev/QA/ops before first `git commit`, or explaining worktree paths. Required for `project-manager` parallel implement or pre-QC orchestration; `fullstack-dev*` / `frontend-dev` / `qa-engineer` / `ops-engineer` on repo writes; `qc-specialist*` before review. Does not replace the state machine (`mstar-harness-core`)."
4
4
  ---
5
5
 
6
6
  ## Load order(必读顺序)
@@ -31,7 +31,7 @@ Cursor **Plan mode** uses **CreatePlan** and built-in plan todos for session UX.
31
31
  When plan management is required and directories are missing:
32
32
 
33
33
  1. Create `{HARNESS_DIR}` and `{PLAN_DIR}`.
34
- 2. Ensure `{HARNESS_DIR}/sdd/` is gitignored; per-plan review bundles are created under `{SDD_DIR}/review/` when needed.
34
+ 2. Ensure Morning Star **process-artifact** gitignore set is present (canonical snippet → `mstar-plan-conventions` SKILL.md「Git 跟踪策略」): `{HARNESS_DIR}/archived/`, `iterations/`, `plans/`, `sdd/`, `notes.json`, `status.json` (legacy `.agents/` equivalents when applicable). Per-plan review bundles are created under `{SDD_DIR}/review/` when needed.
35
35
  3. Create `{HARNESS_DIR}/archived/residuals/`.
36
36
  4. Initialize `{HARNESS_DIR}/status.json` from `mstar-plan-artifacts/templates/status.empty.json` if missing.
37
37
  5. Optional: `{HARNESS_DIR}/notes.json` from `templates/notes.empty.json`, `{HARNESS_DIR}/knowledge/README.md`.
@@ -46,7 +46,7 @@ Full PM checklist: `mstar-roles/references/project-manager/plan-management.md`.
46
46
 
47
47
  | Todo ID (use in title) | Goal | On-disk outcome |
48
48
  |------------------------|------|-----------------|
49
- | **`harness-init`** | Bootstrap harness tree | `{HARNESS_DIR}/`, `{PLAN_DIR}/`, `sdd/` gitignore, `archived/residuals/`, `status.json` initialized |
49
+ | **`harness-init`** | Bootstrap harness tree | `{HARNESS_DIR}/`, `{PLAN_DIR}/`, process-artifact gitignore set, `archived/residuals/`, `status.json` initialized |
50
50
  | **`spec-register`** | Register plan in SSOT | New `plans[]` row in `status.json` (`id`, `status`, `file`, `metadata`); spec stub in `{SPECS_DIR}` or plan frontmatter |
51
51
  | **`mirror-plan`** | SSOT main plan file | `{PLAN_DIR}/<plan-id>-<name>.md` with task checkboxes aligned to CreatePlan body |
52
52
 
@@ -66,7 +66,7 @@ Add one object to `status.json` → `plans[]`:
66
66
  }
67
67
  ```
68
68
 
69
- Set `updated_at` on `status.json` to today (`YYYY-MM-DD`). Commit harness files in the **business repo** when the project tracks `{HARNESS_DIR}` (default).
69
+ Set `updated_at` on `status.json` to today (`YYYY-MM-DD`). Commit **tracked results** in the business repo when applicable: `{HARNESS_DIR}/AGENTS.md`, `{KNOWLEDGE_DIR}/`, `{SPECS_DIR}/` (default git policy — see `mstar-plan-conventions`). Do **not** default `git add` for `status.json`, `plans/`, or `iterations/`.
70
70
 
71
71
  ### `mirror-plan` minimum content
72
72
 
@@ -107,7 +107,7 @@ Use this structure in CreatePlan `plan` markdown; mirror the same sections into
107
107
 
108
108
  ### Bootstrap (fixed prefix — complete before implement)
109
109
 
110
- 1. harness-init — init .mstar/, status.json, sdd/ gitignore, archived/residuals/
110
+ 1. harness-init — init .mstar/, status.json, process-artifact gitignore set, archived/residuals/
111
111
  2. spec-register — register plan_id in status.json; spec stub if applicable
112
112
  3. mirror-plan — write .mstar/plans/<plan-id>-<short-name>.md
113
113
 
@@ -19,7 +19,7 @@ Before first **CreatePlan**: Read `mstar-plan-conventions`, `mstar-plan-artifact
19
19
 
20
20
  | Todo ID | Purpose |
21
21
  |---------|---------|
22
- | `harness-init` | Init `{HARNESS_DIR}`, `{PLAN_DIR}`, `sdd/` gitignore, `archived/residuals/`, `status.json` |
22
+ | `harness-init` | Init `{HARNESS_DIR}`, `{PLAN_DIR}`, process-artifact gitignore set (`plans/`, `iterations/`, `sdd/`, `status.json`, …), `archived/residuals/`, `status.json` |
23
23
  | `spec-register` | Register `plan_id` in `status.json.plans[]` + spec stub if applicable |
24
24
  | `mirror-plan` | Write SSOT main plan under `{PLAN_DIR}/` |
25
25
 
@@ -24,7 +24,7 @@ Kimi **Plan mode** (`EnterPlanMode` / `ExitPlanMode`, `/plan`, or `Shift-Tab`) u
24
24
 
25
25
  1. **Read** (minimum): `mstar-plan-conventions`, `mstar-plan-artifacts` (SKILL.md); Prepare gates from `mstar-phase-gates` if not hotfix.
26
26
  2. **Discover** `{HARNESS_DIR}` / `{PLAN_DIR}` per `mstar-plan-conventions`.
27
- 3. **Initialize** if absent: `{HARNESS_DIR}/`, `{PLAN_DIR}/`, `status.json` from `mstar-plan-artifacts/templates/status.empty.json`, `archived/residuals/`, gitignored `sdd/`.
27
+ 3. **Initialize** if absent: `{HARNESS_DIR}/`, `{PLAN_DIR}/`, `status.json` from `mstar-plan-artifacts/templates/status.empty.json`, `archived/residuals/`, Morning Star process-artifact gitignore set (see `mstar-plan-conventions` SKILL.md「Git 跟踪策略」).
28
28
 
29
29
  ## Plan mode workflow (dual-write)
30
30
 
@@ -81,7 +81,7 @@ PM 在新迭代启动时执行。
81
81
  | **非目标** | 明确排除在本次迭代外的事项 |
82
82
  | **Roadmap 上下文** | 本迭代在整体 roadmap 中的位置(current iteration / next iteration) |
83
83
  | **Delivery branch policy** | `iteration_base_branch`(integration 分支从何处分出)、`spec_integration_branch`、`target_branch`(最终 PR 目标) |
84
- | **Scale budget**(可选) | 仅当 caller **显式**给出或选用 **autonomous** 时适用:`S` = 1 **业务** plan;`M` = 2–3;`L` = 3–4(默认上限 4)。**只计实际业务交付 plan**,不计 harness 流程性工作(Review 链 / QC / QA / compound / close / PR 等)。**interactive 默认不强制** S/M/L。计数细则 → **`references/autonomous-direction-lock.md`** § Scale budget |
84
+ | **Scale budget**(可选) | 仅当 caller **显式**给出或选用 **autonomous** 时适用:`S` = 1 **业务** plan;`M` = 2–3;`L` = 3–4(上限 4);`XL` = **>4**(5+)。**只计实际业务交付 plan**,不计 harness 流程性工作(Review 链 / QC / QA / compound / close / PR 等)。**interactive 默认不强制** S/M/L/XL。计数细则 → **`references/autonomous-direction-lock.md`** § Scale budget |
85
85
 
86
86
  #### Direction lock modes
87
87
 
@@ -8,7 +8,7 @@ Capability detail for Phase 1 when direction lock mode is **`autonomous`**.
8
8
 
9
9
  - Research (§1.1) and candidate exploration already done — **read repo artifacts before ranking**.
10
10
  - Do not invent roadmap items that have no file or status evidence.
11
- - Scale budget (`S`/`M`/`L`) applies in this mode (or when the caller supplies one); do not retrofit a scale cap onto an interactive start that never asked for one.
11
+ - Scale budget (`S`/`M`/`L`/`XL`) applies in this mode (or when the caller supplies one); do not retrofit a scale cap onto an interactive start that never asked for one.
12
12
 
13
13
  ## Ranking heuristics(highest first)
14
14
 
@@ -29,7 +29,7 @@ Write into compass (and plan Scope as needed):
29
29
  | Rationale | Why this candidate won(cite paths / roadmap lines) |
30
30
  | Acceptance criteria | Iteration-level Done |
31
31
  | Non-goals | Explicit exclusions |
32
- | Scale budget | `S` \| `M` \| `L` and resulting plan-count cap |
32
+ | Scale budget | `S` \| `M` \| `L` \| `XL` and resulting plan-count cap |
33
33
 
34
34
  ## Scale budget
35
35
 
@@ -37,7 +37,8 @@ Write into compass (and plan Scope as needed):
37
37
  |--------|-------------------------|
38
38
  | `S` | 1 |
39
39
  | `M` | 2–3 |
40
- | `L` | 3–4(default cap 4 unless a written constraint requires more) |
40
+ | `L` | 3–4(cap 4) |
41
+ | `XL` | **>4**(5+) |
41
42
 
42
43
  ### What counts toward the budget(HARD)
43
44
 
@@ -52,7 +53,7 @@ Count only **business delivery plans** registered in compass / `status.json` who
52
53
  | Phase 3–5 process | Compound / package promotion, iteration-close, Create PR, merge-ready / CI babysit |
53
54
  | Meta “plans” | “run QC”, “do compound”, “open PR”, “setup harness”, “write compass only” |
54
55
 
55
- Harness steps remain **mandatory gates** outside the budget — they do not consume S/M/L slots and must not be padded into the plan list to “fill” the budget.
56
+ Harness steps remain **mandatory gates** outside the budget — they do not consume S/M/L/XL slots and must not be padded into the plan list to “fill” the budget.
56
57
 
57
58
  If evidence suggests more **business** work than the budget allows, keep overflow in compass `## Roadmap Position` → next iteration — do not silently expand past the budget, and do not replace business plans with process plans to stay under the cap.
58
59
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mstar-phase-gates
3
- description: Morning Star (启明星) Spec-Driven 双阶段门禁 —— Prepare(`specify → clarify → plan`)、Execute(`plan(locked) → tasks → implement`;多 task 默认 **`Execution mode: sdd`**)、意图门禁、长期目标优先、分批 roadmap 强制落盘、clarify 核心纪律、hotfix 压缩路径、可验证编辑、Phase Gate 最小证据。**必须**在 PM 判定 gate、首次 implement 派单前、产品/架构参与 Prepare、或解释为何不能跳过 plan/clarify 时 Read;`@project-manager` 每轮编排非 hotfix 任务必读;`@product-manager` / `@architect` 写规格与锁 plan 时必读 Prepare 节;实现角色 Read Execute 与 hotfix 例外即可。Task category 与 `quick` 禁豁免规则仍在 `mstar-harness-core`。实现行为见 `mstar-coding-behavior`;SDD 见 `mstar-sdd`;迭代级活动见 `mstar-iteration`。
3
+ description: "Morning Star (启明星) Spec-Driven 双阶段门禁 —— Prepare(`specify → clarify → plan`)、Execute(`plan(locked) → tasks → implement`;多 task 默认 **`Execution mode: sdd`**)、意图门禁、长期目标优先、分批 roadmap 强制落盘、clarify 核心纪律、hotfix 压缩路径、可验证编辑、Phase Gate 最小证据。**必须**在 PM 判定 gate、首次 implement 派单前、产品/架构参与 Prepare、或解释为何不能跳过 plan/clarify 时 Read;`@project-manager` 每轮编排非 hotfix 任务必读;`@product-manager` / `@architect` 写规格与锁 plan 时必读 Prepare 节;实现角色 Read Execute 与 hotfix 例外即可。Task category 与 `quick` 禁豁免规则仍在 `mstar-harness-core`。实现行为见 `mstar-coding-behavior`;SDD 见 `mstar-sdd`;迭代级活动见 `mstar-iteration`。"
4
4
  ---
5
5
 
6
6
  ## Load order(必读顺序)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mstar-plan-artifacts
3
- description: Morning Star plan harness artifacts — `{PLAN_DIR}` main plans and durable review summaries, `{SDD_DIR}/review/` ephemeral QC/QA bundles, `{KNOWLEDGE_DIR}` / `{ITERATION_DIR}` indexes, Done compaction, plus `{HARNESS_DIR}/status.json` and root `residual_findings` (severity SSOT, open/archived lifecycle, `notes.json`). Read when writing plans or QC/QA review bundles, maintaining knowledge/iteration indexes, reading or writing `status.json` / R#, Done compaction, or mapping QC severity to JSON. Required for `@project-manager` on status, residuals, and InReview/QC waves; `@qc-specialist*` before writing review bundle reports; `@qa-engineer` before closing R# when `QA gate: mandatory`. Verdict rules: leaf → `mstar-roles/references/qc-specialist/report-template.md`; PM → `mstar-review-qc`. Paths in `mstar-plan-conventions`.
3
+ description: "Morning Star plan harness artifacts — `{PLAN_DIR}` main plans and durable review summaries, `{SDD_DIR}/review/` ephemeral QC/QA bundles, `{KNOWLEDGE_DIR}` / `{ITERATION_DIR}` indexes, Done compaction, plus `{HARNESS_DIR}/status.json` and root `residual_findings` (severity SSOT, open/archived lifecycle, `notes.json`). Read when writing plans or QC/QA review bundles, maintaining knowledge/iteration indexes, reading or writing `status.json` / R#, Done compaction, or mapping QC severity to JSON. Required for `@project-manager` on status, residuals, and InReview/QC waves; `@qc-specialist*` before writing review bundle reports; `@qa-engineer` before closing R# when `QA gate: mandatory`. Verdict rules: leaf → `mstar-roles/references/qc-specialist/report-template.md`; PM → `mstar-review-qc`. Paths in `mstar-plan-conventions`."
4
4
  ---
5
5
 
6
6
  ## Load order
@@ -31,7 +31,7 @@
31
31
 
32
32
  ## `{SPECS_DIR}`(可选·长期规格)
33
33
 
34
- - `{SPECS_DIR}` 解析:优先 `{HARNESS_DIR}/specs/`,否则 `{HARNESS_DIR}/designs/`;皆无则建议新建 `specs/`。
34
+ - `{SPECS_DIR}` 解析(非空即停):`{HARNESS_DIR}/specs/` `docs/specs/` → 仓库根 `specs/`;皆无或皆空则 init 创建 `{HARNESS_DIR}/specs/`。Legacy 只读:`{HARNESS_DIR}/designs/` 或根 `designs/` 非空时可用。细则 → `mstar-plan-conventions` SKILL.md「`{SPECS_DIR}` 解析」。
35
35
  - **放什么**:跨迭代有效、已锁定或待锁定的产品/API 规范、ADR、契约 — **iteration-start 主产出**(product/architect)。
36
36
  - **不放什么**:本迭代-only 探索(→ `<iteration-id>/guides/`);迭代级 spec 草案(→ `<iteration-id>/specs/`);实施踩坑原文(→ package 或 plan 素材,**close 时 compound 提升**)。
37
37
  - **索引**:非 trivial 树建议 `{SPECS_DIR}/README.md`;plan **`primary_spec` / `spec_refs`** 主要指向此处。
@@ -54,7 +54,7 @@ The durable summary is not a paste of raw reports. It is a small gate record suf
54
54
 
55
55
  ## Residual findings(R#):权威在哪、和主 plan 谁先谁后?
56
56
 
57
- - **Open 条目的单一事实来源(SSOT)**是 **`{HARNESS_DIR}/status.json`** 根级 **`residual_findings[<plan-id>]`**(与 `plans` 平级;canonical 见 `mstar-plan-artifacts` **SKILL.md** 开篇;字段见 `mstar-plan-artifacts/references/status-and-residuals.md`)。跨会话 handoff、关闭与归档流程**以该数组为准**。
57
+ - **Open 条目的单一事实来源(SSOT)**是 **`{HARNESS_DIR}/status.json`** 根级 **`residual_findings[<plan-id>]`**(与 `plans` 平级;canonical 见 `mstar-plan-artifacts` **SKILL.md** 开篇;字段见 `mstar-plan-artifacts/references/status-and-residuals.md`)。**同一工作副本内**的会话 handoff、关闭与归档流程**以该数组为准**(本地 SSOT,默认 gitignored);**跨 clone** 须持久的 residual 须提升入 tracked `{KNOWLEDGE_DIR}/` / `{SPECS_DIR}/` 等(见 `mstar-plan-conventions`「Git 跟踪策略」)。
58
58
  - **推荐操作顺序**(避免 plan 与 JSON 两套 ID 漂移):
59
59
  1. `project-manager` 读完 review bundle 并完成「QC 三审轻量汇总」:对 finding **去重合并**,为每条待跟踪项分配**稳定 `id`**(如 `R1`、`R2`,全 plan 内唯一)。
60
60
  2. **立即**将上述条目写入根级 **`residual_findings[<plan-id>]`**(含 `source` 指向 reviewer seat + bundle basename + finding id + review range,便于回溯);**勿**与 legacy 侧双写(见 `mstar-plan-conventions` **SKILL.md** 开篇)。
@@ -79,7 +79,7 @@ The durable summary is not a paste of raw reports. It is a small gate record suf
79
79
 
80
80
  **QC 落盘与宿主权限**:`qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 在支持路径白名单的宿主上(如 OpenCode 的 **`permission.edit`**),默认 **仅可** Write/Edit Assignment 指定的 **`{SDD_DIR}/review/`** 下 **`.md`**。全局 agent 提示词应允许 `.mstar/sdd/**`、`.agents/sdd/**` 及 worktree 下对应路径。报告文件**必须**以 YAML **frontmatter** 开头(键见各 QC agent 提示词)。
81
81
 
82
- **QC 报告与 Git**:默认 raw QC/QA bundle **不**执行 `git add` / `git commit`。PM must commit durable artifacts instead: main plan gate summaries, `{HARNESS_DIR}/status.json` residual changes, and any tracked specs/knowledge/iteration updates. If a project explicitly opts into tracked audit reports, state `Review archive mode: tracked reports` in Assignment and use project-specific allow rules.
82
+ **QC 报告与 Git**:默认 raw QC/QA bundle **不**执行 `git add` / `git commit`。PM durable gate summary 写入主 plan(本地会话 SSOT;默认 gitignored)并在当轮更新 `{HARNESS_DIR}/status.json` open residuals(本地 SSOT,默认 gitignored)。**跨 clone 须持久的** residual 或决策须提升入 tracked `{KNOWLEDGE_DIR}/` / `{SPECS_DIR}/` 或 `{HARNESS_DIR}/AGENTS.md`(见 `mstar-plan-conventions`「Git 跟踪策略」)— **勿**默认 `git add` `status.json` / `plans/`。若项目显式 opt-in 跟踪审计报告,在 Assignment 写 `Review archive mode: tracked reports` 并使用项目 allow rules
83
83
 
84
84
  ## 主 plan 内任务清单(Markdown checkbox)
85
85
 
@@ -6,7 +6,9 @@
6
6
  Canonical vs legacy residual definitions → **`mstar-plan-artifacts` SKILL.md** (“`status.json` and open residual (summary)”); this file covers **fields, severity, lifecycle, archive, and `jq` examples**.
7
7
  **Closed** residuals should not accumulate here long-term; authoritative archive → **`{HARNESS_DIR}/archived/residuals/<plan-id>.json`** (see “Residual findings lifecycle”).
8
8
 
9
- **Why this matters:** The open list and `archived/residuals/` are the **cross-session handoff surface** for risk and decisions. Non-blocking conclusions that stay only in chat or a gitignored review bundle **without SSOT** cannot be inherited reliably; `Done` drifts from visible known debt. **`@project-manager`** should register trackable open items soon after review closure; close/archive after verification per **`QA gate`** (`qa-engineer` when `mandatory`, else PM acceptance checklist).
9
+ **Why this matters:** Within a working copy, the open list in `status.json` and `archived/residuals/` are the **local session SSOT** for risk and decisions. Non-blocking conclusions that stay only in chat or a gitignored review bundle **without local SSOT update** cannot be inherited reliably in that session; `Done` drifts from visible known debt. **`@project-manager`** should register trackable open items soon after review closure; close/archive after verification per **`QA gate`** (`qa-engineer` when `mandatory`, else PM acceptance checklist).
10
+
11
+ **Cross-clone handoff** (default git policy): tracked `{HARNESS_DIR}/AGENTS.md`, `{KNOWLEDGE_DIR}/**`, `{SPECS_DIR}/**`, and root `CONCEPTS.md` / `STRATEGY.md` when used. Residuals that must survive clone must be **promoted** (compound) or written into those tracked results — do not treat `status.json` / `plans/` as the default clone handoff surface.
10
12
 
11
13
  ## Basic structure
12
14
 
@@ -23,9 +23,9 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
23
23
  | `{SDD_DIR}` | `{HARNESS_DIR}/sdd/<plan-id>/`(SDD 运行时 scratch + review bundle;gitignored) |
24
24
  | `{ITERATION_DIR}` | `{HARNESS_DIR}/iterations/` |
25
25
  | `{KNOWLEDGE_DIR}` | `{HARNESS_DIR}/knowledge/` |
26
- | `{SPECS_DIR}` | `specs/` 优先,否则 `designs/` |
26
+ | `{SPECS_DIR}` | `{HARNESS_DIR}/specs/`(默认);解析见下文「`{SPECS_DIR}` 解析」 |
27
27
 
28
- ### 解析顺序(找到即停)
28
+ ### `{HARNESS_DIR}` 解析顺序(找到即停)
29
29
 
30
30
  1. `.mstar/` → `{HARNESS_DIR}=.mstar/`, `{PLAN_DIR}=.mstar/plans/`
31
31
  2. 否则 `.agents/` → legacy `{HARNESS_DIR}=.agents/`, `{PLAN_DIR}=.agents/plans/`
@@ -34,7 +34,19 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
34
34
 
35
35
  并存时 **`.mstar/` 优先**;仅当项目已有 `.agents/` 且无 `.mstar/` 时继续沿用 `.agents/`。
36
36
 
37
- `{SPECS_DIR}`:有 `specs/` 用之;否则 `designs/`;皆无则建议新建 `specs/`。
37
+ ### `{SPECS_DIR}` 解析(找到非空目录即停)
38
+
39
+ 1. `{HARNESS_DIR}/specs/`(默认 `.mstar/specs/`)
40
+ 2. `docs/specs/`
41
+ 3. `specs/`(仓库根)
42
+
43
+ **空目录规则**:候选路径存在但无任何文件 → 视为不存在,继续下一候选。
44
+
45
+ **创建默认**:全部缺失或皆空 → 创建并使用 `{HARNESS_DIR}/specs/`(统一落在 `.mstar/` 下)。**禁止**在 greenfield init 时优先创建裸仓库根 `specs/`。
46
+
47
+ **Legacy(仅兼容读)**:若以上皆无内容,但 `{HARNESS_DIR}/designs/` 或仓库根 `designs/` **非空**,可作 `{SPECS_DIR}` 使用;init 时**不**新建 `designs/`。
48
+
49
+ 可选项目选择:部分 spoke 仓库另跟踪 `{HARNESS_DIR}/roadmap.md` — **非**默认 tracked;仅在项目 opt-in 时提及。
38
50
 
39
51
  ## 内容边界(摘要)
40
52
 
@@ -53,12 +65,61 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
53
65
  PM 在需要持久化追踪时:
54
66
 
55
67
  1. 建 `.mstar/`、`plans/`、`status.json`(空模板见 **`mstar-plan-artifacts/templates/status.empty.json`**)
56
- 2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.empty.json`**)、`knowledge/`、`iterations/`、`specs/`、`sdd/`(空目录占位;运行时 per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建)
57
- 3. 项目根 `.gitignore` 追加 `.mstar/sdd/`(或 `.agents/sdd/` legacy)— CLI `init` 可自动添加
58
- 4. Git:团队交付 **勿** ignore 整个 `{HARNESS_DIR}`(handoff clone 可达)
68
+ 2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.empty.json`**)、`knowledge/`、`iterations/`、`{HARNESS_DIR}/specs/`、`sdd/`(空目录占位;运行时 per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建)
69
+ 3. 项目根 `.gitignore` 追加 Morning Star **进程产物**忽略集(见下文「Git 跟踪策略」)— CLI `init` 可自动添加
70
+ 4. Git:**进程本地、结果共享** 默认跟踪 `{HARNESS_DIR}/AGENTS.md`、`{KNOWLEDGE_DIR}/**`、`{SPECS_DIR}/**`;`plans/`、`iterations/`、`status.json` 等为**本地会话 SSOT**,默认 gitignored。跨 clone 持久 handoff = knowledge + specs + `{HARNESS_DIR}/AGENTS.md`(及根 `CONCEPTS.md` / `STRATEGY.md` 若使用);须跨 clone 的 residual 须提升(compound)或写入 tracked results — **勿**默认 `git add` `status.json` / `plans/`。
59
71
 
60
72
  步骤与 `{HARNESS_DIR}/AGENTS.md` 分层 → **`references/harness-bootstrap-and-agents-layering.md`**。
61
73
 
74
+ ## Git 跟踪策略(进程 vs 结果)
75
+
76
+ **原则**:进程留在本地;结果与团队共享。
77
+
78
+ **默认 tracked(`{HARNESS_DIR}` 下)**:
79
+
80
+ - `{HARNESS_DIR}/AGENTS.md`
81
+ - `{KNOWLEDGE_DIR}/**`
82
+ - `{HARNESS_DIR}/specs/`(即解析后的 `{SPECS_DIR}` 在 harness 下的默认落点)
83
+
84
+ **默认 gitignored(`{HARNESS_DIR}` 下)**:
85
+
86
+ - `archived/`
87
+ - `iterations/`
88
+ - `plans/`
89
+ - `sdd/`
90
+ - `notes.json`
91
+ - `status.json`
92
+
93
+ Legacy `.agents/` 项目:将上表路径前缀 `.mstar/` 换为 `.agents/`。
94
+
95
+ **Canonical `.gitignore` snippet**(skills 与 CLI `init` 对齐):
96
+
97
+ ```gitignore
98
+ # Morning Star harness (.mstar/)
99
+ # Principle: process stays local; results are shared with the team.
100
+ # Ignored (process / coordination):
101
+ .mstar/archived/
102
+ .mstar/iterations/
103
+ .mstar/plans/
104
+ .mstar/sdd/
105
+ .mstar/notes.json
106
+ .mstar/status.json
107
+ # Tracked (results): .mstar/AGENTS.md, .mstar/knowledge/, .mstar/specs/
108
+ ```
109
+
110
+ Legacy `.agents/` 等价:
111
+
112
+ ```gitignore
113
+ # Morning Star harness (.agents/) — legacy
114
+ .agents/archived/
115
+ .agents/iterations/
116
+ .agents/plans/
117
+ .agents/sdd/
118
+ .agents/notes.json
119
+ .agents/status.json
120
+ # Tracked (results): .agents/AGENTS.md, .agents/knowledge/, .agents/specs/
121
+ ```
122
+
62
123
  ## Spec 驱动的分支模型(多 Plan · 同一 Spec)
63
124
 
64
125
  - **Iteration base branch**:创建 Spec/iteration 集成分支的祖先分支或 ref;必须显式记录,不能默认 `main` / `master`。
@@ -6,20 +6,21 @@
6
6
 
7
7
  ## Harness 子树内(`{HARNESS_DIR}/` 下)
8
8
 
9
- 这些是 agent handoff 用的结构化产物;除明确标注 gitignored scratch 外,默认随 `.git` 追踪,不面向人类直接阅读。
9
+ 这些是 agent handoff 用的结构化产物。**Git 跟踪**遵循 `mstar-plan-conventions` SKILL.md「Git 跟踪策略」:**进程本地、结果共享** `plans/`、`iterations/`、`status.json`、`sdd/` 等默认 gitignored;`AGENTS.md`、`knowledge/`、`specs/` 默认 tracked。
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
- | **主 plan** | `.mstar/plans/<plan-id>-<name>.md` | PM / `mstar-plan-artifacts` |
15
+ | **主 plan** | `.mstar/plans/<plan-id>-<name>.md`(gitignored;本地会话 SSOT) | PM / `mstar-plan-artifacts` |
16
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
17
  | **SDD scratch** | `{HARNESS_DIR}/sdd/<plan-id>/`(gitignored;含 per-task handoff 与 `review/` bundle) | `mstar-sdd` |
18
- | **status.json** | `.mstar/status.json` | `mstar-plan-artifacts` |
19
- | **迭代 package** | `.mstar/iterations/<iteration-id>/`(`delivery-compass.md`、`guides/`、`specs/`、可选 `README.md`) | `mstar-iteration`(读写);close 时 `mstar-compound`(提升读;默认排除 compass) |
20
- | **迭代索引** | `.mstar/iterations/README.md`(一行 = 一次迭代) | `mstar-iteration`(读写) |
21
- | **规格** | `specs/`(优先),否则 `designs/` | `mstar-plan-artifacts` |
22
- | **archived residuals** | `.mstar/archived/residuals/<plan-id>.json` | `mstar-plan-artifacts` |
18
+ | **status.json** | `.mstar/status.json`(gitignored;本地会话 SSOT) | `mstar-plan-artifacts` |
19
+ | **迭代 package** | `.mstar/iterations/<iteration-id>/`(gitignored;`delivery-compass.md`、`guides/`、`specs/`、可选 `README.md`) | `mstar-iteration`(读写);close 时 `mstar-compound`(提升读;默认排除 compass) |
20
+ | **迭代索引** | `.mstar/iterations/README.md`(gitignored;一行 = 一次迭代) | `mstar-iteration`(读写) |
21
+ | **规格** | `{HARNESS_DIR}/specs/`(默认 tracked;解析见 `mstar-plan-conventions`) | `mstar-plan-artifacts` |
22
+ | **harness AGENTS** | `.mstar/AGENTS.md`(tracked) | PM / init |
23
+ | **archived residuals** | `.mstar/archived/residuals/<plan-id>.json`(gitignored) | `mstar-plan-artifacts` |
23
24
  | **archived knowledge** | `.mstar/archived/knowledge/`(保留原 `{KNOWLEDGE_DIR}` 相对路径) | `mstar-iteration` §1.6 corpus hygiene、`mstar-plan-artifacts` |
24
25
  | **archived specs** | `.mstar/archived/specs/`(保留原 `{SPECS_DIR}` 相对路径) | `mstar-iteration` §1.6 corpus hygiene、`mstar-plan-artifacts` |
25
26
 
@@ -14,12 +14,24 @@
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`**);`sdd/` 空目录占位(per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建;项目根 `.gitignore` 须含 `.mstar/sdd/`,legacy `.agents/` 项目对应 `.agents/sdd/`)。
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
- 5. 可选:创建 `{ITERATION_DIR}`(`iterations/` + `README.md`)与 `{KNOWLEDGE_DIR}`(`knowledge/` + `README.md`);内容边界见 `mstar-plan-conventions` SKILL.md `references/knowledge-and-designs.md`。
20
- 6. 创建 `{HARNESS_DIR}/AGENTS.md`(harness 子树规则):符号表可复述 `{HARNESS_DIR}`、`{PLAN_DIR}`、`{ITERATION_DIR}`、`{KNOWLEDGE_DIR}`、`{SPECS_DIR}` `docs/` 分工;新项目推荐 `.mstar/AGENTS.md`,已有项目可继续使用 `.agents/AGENTS.md`。
21
- 7. 校准根 `AGENTS.md`:只保留仓库级长期约束,显式引用 `{HARNESS_DIR}/AGENTS.md` 作为 harness SSOT。
22
- 8. 仅在确有稳定边界时新增目录级 `AGENTS.md`(如 `contracts/`、`gateway/`、`sdk/`)。
17
+ 3. 初始化可选 `notes.json`(**`mstar-plan-artifacts/templates/notes.empty.json`**);`sdd/` 空目录占位(per-plan 子目录由 `mstar-sdd/scripts/sdd-workspace` 创建)。
18
+ 4. 项目根 `.gitignore` 追加 Morning Star **进程产物**忽略集(canonical snippet → `mstar-plan-conventions` SKILL.md「Git 跟踪策略」;legacy `.agents/` 有等价表)。
19
+ 5. **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`**)。
20
+ 6. 可选:创建 `{ITERATION_DIR}`(`iterations/` + `README.md`)与 `{KNOWLEDGE_DIR}`(`knowledge/` + `README.md`);`{HARNESS_DIR}/specs/`(解析后的 `{SPECS_DIR}` 默认落点);内容边界见 `mstar-plan-conventions` SKILL.md 与 `references/knowledge-and-designs.md`。
21
+ 7. 创建 `{HARNESS_DIR}/AGENTS.md`(harness 子树规则;**tracked**):符号表可复述 `{HARNESS_DIR}`、`{PLAN_DIR}`、`{ITERATION_DIR}`、`{KNOWLEDGE_DIR}`、`{SPECS_DIR}` 与 `docs/` 分工;新项目推荐 `.mstar/AGENTS.md`,已有项目可继续使用 `.agents/AGENTS.md`。
22
+ 8. 校准根 `AGENTS.md`:只保留仓库级长期约束,显式引用 `{HARNESS_DIR}/AGENTS.md` 作为 harness SSOT。
23
+ 9. 仅在确有稳定边界时新增目录级 `AGENTS.md`(如 `contracts/`、`gateway/`、`sdk/`)。
24
+
25
+ ## Git 跟踪策略(进程 vs 结果)
26
+
27
+ **原则**:进程留在本地;结果与团队共享。完整规则与 canonical `.gitignore` snippet → **`mstar-plan-conventions` SKILL.md「Git 跟踪策略」**。
28
+
29
+ | 类别 | 默认 tracked | 默认 gitignored |
30
+ |------|--------------|-----------------|
31
+ | 结果(跨 clone handoff) | `{HARNESS_DIR}/AGENTS.md`、`{KNOWLEDGE_DIR}/**`、`{SPECS_DIR}/**` | — |
32
+ | 进程(本地会话 SSOT) | — | `plans/`、`iterations/`、`status.json`、`notes.json`、`sdd/`、`archived/` |
33
+
34
+ 跨 clone 须持久的 residual 或决策:经 **`mstar-compound`** 提升入 `{KNOWLEDGE_DIR}/`、写入 `{SPECS_DIR}/`,或记入 tracked `{HARNESS_DIR}/AGENTS.md` — **勿**默认 `git add` `status.json` / `plans/`。
23
35
 
24
36
  ## 三层 `AGENTS.md` 职责切分
25
37
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mstar-review-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.
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(必读顺序)
@@ -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. Ensure `{HARNESS_DIR}/sdd/` is gitignored; per-plan `{SDD_DIR}/review/` is created by the SDD/review flow when needed.
22
+ 3. Ensure Morning Star **process-artifact** gitignore set is present (canonical snippet → `mstar-plan-conventions` SKILL.md「Git 跟踪策略」): `{HARNESS_DIR}/archived/`, `iterations/`, `plans/`, `sdd/`, `notes.json`, `status.json` (legacy `.agents/` equivalents when applicable). 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`.
@@ -28,8 +28,12 @@ If legacy plan directories already exist, reuse them; avoid dual-structure dupli
28
28
 
29
29
  ## Git Tracking Policy
30
30
 
31
- - Default: track `{HARNESS_DIR}` files in repo for reproducible handoff.
32
- - If project policy requires local-only, explicitly record it and ensure no required artifact depends on ignored files.
31
+ **Principle:** process stays local; results are shared with the team. Full rules → `mstar-plan-conventions` SKILL.md「Git 跟踪策略」.
32
+
33
+ - **Default tracked** under `{HARNESS_DIR}`: `AGENTS.md`, `{KNOWLEDGE_DIR}/**`, `{SPECS_DIR}/**` (resolved specs path; default `{HARNESS_DIR}/specs/`).
34
+ - **Default gitignored** (local session SSOT / coordination): `archived/`, `iterations/`, `plans/`, `sdd/`, `notes.json`, `status.json`.
35
+ - `status.json` and main plan files remain **local session SSOT** — PM must keep them current on disk, but **do not** default `git add` / `git commit` for cross-clone handoff. Promote durable residuals and decisions into tracked `knowledge/` / `specs/` / `AGENTS.md` (compound) when they must survive clone.
36
+ - If a project explicitly opts into tracking process artifacts, record that policy in `{HARNESS_DIR}/AGENTS.md` and ensure team alignment.
33
37
 
34
38
  ## PM Responsibilities
35
39
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mstar-sdd
3
- description: Morning Star subagent-driven development (SDD) — file handoff, per-task implementer + task reviewer (L2), progress ledger, branch review-package for plan QC tri (L3). **Implementer session** `fresh` (default) or **`sticky`** (same dev subagent across tasks — `references/sticky-implementer-session.md`). **Must** Read when project-manager runs `Execution mode: sdd` (multi-task plan, single-plan, or iteration Phase 2), dispatches SDD implementer/reviewer subagents, or prepares review-package paths. Leaf implementer/reviewer subagents skip PM sections via SUBAGENT-STOP in dispatch prompts.
3
+ description: "Morning Star subagent-driven development (SDD) — file handoff, per-task implementer + task reviewer (L2), progress ledger, branch review-package for plan QC tri (L3). **Implementer session** `fresh` (default) or **`sticky`** (same dev subagent across tasks — `references/sticky-implementer-session.md`). **Must** Read when project-manager runs `Execution mode: sdd` (multi-task plan, single-plan, or iteration Phase 2), dispatches SDD implementer/reviewer subagents, or prepares review-package paths. Leaf implementer/reviewer subagents skip PM sections via SUBAGENT-STOP in dispatch prompts."
4
4
  ---
5
5
 
6
6
  ## Load order
@@ -62,7 +62,7 @@ mkdir -p "$SDD_DIR/review"
62
62
  skills/mstar-sdd/scripts/review-package "$MERGE_BASE" HEAD "$SDD_DIR/review/branch-review-....diff"
63
63
  ```
64
64
 
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
+ 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 open residuals in **local** plan/`status.json` (session SSOT) and promotes cross-clone decisions into tracked knowledge/specs/`AGENTS.md` per `mstar-plan-conventions` git policy.
66
66
 
67
67
  ## PM context hygiene
68
68
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mstar-harness/opencode",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "description": "Morning Star harness OpenCode plugin (skills bootstrap and agent loading).",
5
5
  "license": "MIT",
6
6
  "repository": {