@mstar-harness/opencode 1.0.6 → 1.1.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/CHANGELOG.md +7 -0
- package/harness-agents/qc-specialist-2.md +9 -16
- package/harness-agents/qc-specialist-3.md +9 -16
- package/harness-agents/qc-specialist.md +9 -16
- package/harness-skills/mstar-branch-worktree/SKILL.md +2 -2
- package/harness-skills/mstar-dispatch-gates/SKILL.md +3 -3
- package/harness-skills/mstar-harness-core/SKILL.md +2 -2
- package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +4 -4
- package/harness-skills/mstar-host/references/cursor.md +1 -1
- package/harness-skills/mstar-host/references/parallel-dispatch.md +3 -3
- package/harness-skills/mstar-iteration/SKILL.md +6 -5
- package/harness-skills/mstar-iteration/references/iteration-compass-template.md +14 -0
- package/harness-skills/mstar-iteration/references/iteration-corpus-hygiene.md +1 -1
- package/harness-skills/mstar-phase-gates/SKILL.md +2 -2
- package/harness-skills/mstar-plan-artifacts/SKILL.md +2 -2
- package/harness-skills/mstar-plan-artifacts/references/done-compaction.md +2 -2
- package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +9 -8
- package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +39 -21
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +7 -6
- package/harness-skills/mstar-plan-conventions/SKILL.md +7 -7
- package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +4 -4
- package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +2 -2
- package/harness-skills/mstar-review-qc/SKILL.md +5 -5
- package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +5 -5
- package/harness-skills/mstar-roles/SKILL.md +7 -7
- package/harness-skills/mstar-roles/references/project-manager/plan-management.md +2 -2
- package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +2 -2
- package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +6 -6
- package/harness-skills/mstar-roles/references/project-manager.md +4 -4
- package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +2 -2
- package/harness-skills/mstar-roles/references/qa-engineer.md +4 -2
- package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +1 -1
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +1 -1
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +7 -7
- package/harness-skills/mstar-sdd/SKILL.md +2 -2
- package/harness-skills/mstar-sdd/references/file-handoffs.md +3 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ 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.1.0
|
|
8
|
+
|
|
9
|
+
- Bundled skills: raw QC/QA process reports default to gitignored `{SDD_DIR}/review/`; durable gate summaries and `status.json` residual findings are the tracked handoff surface. `{PLAN_DIR}/reports/` is legacy / explicit audit mode only.
|
|
10
|
+
- Bundled skills: iteration compass template adds `Quality Gate Summary` for iteration-level QC/QA and residual rollups.
|
|
11
|
+
|
|
12
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.1.0**.
|
|
13
|
+
|
|
7
14
|
## 1.0.6
|
|
8
15
|
|
|
9
16
|
- Bundled skills: `mstar-sdd` pins L2 per-task reviewer to `generalPurpose`; forbids `qc-specialist*` at task scope.
|
|
@@ -9,21 +9,17 @@ tools:
|
|
|
9
9
|
edit: true
|
|
10
10
|
bash: true
|
|
11
11
|
permission:
|
|
12
|
-
# `edit` covers write/patch/multiedit. Only `.md` under resolved `{
|
|
12
|
+
# `edit` covers write/patch/multiedit. Only `.md` under resolved `{SDD_DIR}/review/` bundle roots.
|
|
13
13
|
edit:
|
|
14
14
|
"*": deny
|
|
15
|
-
".mstar/
|
|
16
|
-
".mstar/
|
|
17
|
-
".agents/
|
|
18
|
-
".agents/
|
|
19
|
-
".
|
|
20
|
-
".
|
|
21
|
-
".worktrees/**/.
|
|
22
|
-
".worktrees/**/.
|
|
23
|
-
".worktrees/**/.agents/plans/reports/*.md": allow
|
|
24
|
-
".worktrees/**/.agents/plans/reports/**/*.md": allow
|
|
25
|
-
".worktrees/**/.plans/reports/*.md": allow
|
|
26
|
-
".worktrees/**/.plans/reports/**/*.md": allow
|
|
15
|
+
".mstar/sdd/*.md": allow
|
|
16
|
+
".mstar/sdd/**/*.md": allow
|
|
17
|
+
".agents/sdd/*.md": allow
|
|
18
|
+
".agents/sdd/**/*.md": allow
|
|
19
|
+
".worktrees/**/.mstar/sdd/*.md": allow
|
|
20
|
+
".worktrees/**/.mstar/sdd/**/*.md": allow
|
|
21
|
+
".worktrees/**/.agents/sdd/*.md": allow
|
|
22
|
+
".worktrees/**/.agents/sdd/**/*.md": allow
|
|
27
23
|
bash:
|
|
28
24
|
"*": deny
|
|
29
25
|
# Git inspection (read-only)
|
|
@@ -35,9 +31,6 @@ permission:
|
|
|
35
31
|
"git stash list*": allow
|
|
36
32
|
"git branch*": allow
|
|
37
33
|
"git status*": allow
|
|
38
|
-
# Versioning QC reports only (paths you edited must stay under allowed reports/ trees)
|
|
39
|
-
"git add*": allow
|
|
40
|
-
"git commit*": allow
|
|
41
34
|
# JavaScript / TypeScript
|
|
42
35
|
"eslint*": allow
|
|
43
36
|
"npx eslint*": allow
|
|
@@ -9,21 +9,17 @@ tools:
|
|
|
9
9
|
edit: true
|
|
10
10
|
bash: true
|
|
11
11
|
permission:
|
|
12
|
-
# `edit` covers write/patch/multiedit. Only `.md` under resolved `{
|
|
12
|
+
# `edit` covers write/patch/multiedit. Only `.md` under resolved `{SDD_DIR}/review/` bundle roots.
|
|
13
13
|
edit:
|
|
14
14
|
"*": deny
|
|
15
|
-
".mstar/
|
|
16
|
-
".mstar/
|
|
17
|
-
".agents/
|
|
18
|
-
".agents/
|
|
19
|
-
".
|
|
20
|
-
".
|
|
21
|
-
".worktrees/**/.
|
|
22
|
-
".worktrees/**/.
|
|
23
|
-
".worktrees/**/.agents/plans/reports/*.md": allow
|
|
24
|
-
".worktrees/**/.agents/plans/reports/**/*.md": allow
|
|
25
|
-
".worktrees/**/.plans/reports/*.md": allow
|
|
26
|
-
".worktrees/**/.plans/reports/**/*.md": allow
|
|
15
|
+
".mstar/sdd/*.md": allow
|
|
16
|
+
".mstar/sdd/**/*.md": allow
|
|
17
|
+
".agents/sdd/*.md": allow
|
|
18
|
+
".agents/sdd/**/*.md": allow
|
|
19
|
+
".worktrees/**/.mstar/sdd/*.md": allow
|
|
20
|
+
".worktrees/**/.mstar/sdd/**/*.md": allow
|
|
21
|
+
".worktrees/**/.agents/sdd/*.md": allow
|
|
22
|
+
".worktrees/**/.agents/sdd/**/*.md": allow
|
|
27
23
|
bash:
|
|
28
24
|
"*": deny
|
|
29
25
|
# Git inspection (read-only)
|
|
@@ -35,9 +31,6 @@ permission:
|
|
|
35
31
|
"git stash list*": allow
|
|
36
32
|
"git branch*": allow
|
|
37
33
|
"git status*": allow
|
|
38
|
-
# Versioning QC reports only (paths you edited must stay under allowed reports/ trees)
|
|
39
|
-
"git add*": allow
|
|
40
|
-
"git commit*": allow
|
|
41
34
|
# JavaScript / TypeScript
|
|
42
35
|
"eslint*": allow
|
|
43
36
|
"npx eslint*": allow
|
|
@@ -9,21 +9,17 @@ tools:
|
|
|
9
9
|
edit: true
|
|
10
10
|
bash: true
|
|
11
11
|
permission:
|
|
12
|
-
# `edit` covers write/patch/multiedit. Only `.md` under resolved `{
|
|
12
|
+
# `edit` covers write/patch/multiedit. Only `.md` under resolved `{SDD_DIR}/review/` bundle roots.
|
|
13
13
|
edit:
|
|
14
14
|
"*": deny
|
|
15
|
-
".mstar/
|
|
16
|
-
".mstar/
|
|
17
|
-
".agents/
|
|
18
|
-
".agents/
|
|
19
|
-
".
|
|
20
|
-
".
|
|
21
|
-
".worktrees/**/.
|
|
22
|
-
".worktrees/**/.
|
|
23
|
-
".worktrees/**/.agents/plans/reports/*.md": allow
|
|
24
|
-
".worktrees/**/.agents/plans/reports/**/*.md": allow
|
|
25
|
-
".worktrees/**/.plans/reports/*.md": allow
|
|
26
|
-
".worktrees/**/.plans/reports/**/*.md": allow
|
|
15
|
+
".mstar/sdd/*.md": allow
|
|
16
|
+
".mstar/sdd/**/*.md": allow
|
|
17
|
+
".agents/sdd/*.md": allow
|
|
18
|
+
".agents/sdd/**/*.md": allow
|
|
19
|
+
".worktrees/**/.mstar/sdd/*.md": allow
|
|
20
|
+
".worktrees/**/.mstar/sdd/**/*.md": allow
|
|
21
|
+
".worktrees/**/.agents/sdd/*.md": allow
|
|
22
|
+
".worktrees/**/.agents/sdd/**/*.md": allow
|
|
27
23
|
bash:
|
|
28
24
|
"*": deny
|
|
29
25
|
# Git inspection (read-only)
|
|
@@ -35,9 +31,6 @@ permission:
|
|
|
35
31
|
"git stash list*": allow
|
|
36
32
|
"git branch*": allow
|
|
37
33
|
"git status*": allow
|
|
38
|
-
# Versioning QC reports only (paths you edited must stay under allowed reports/ trees)
|
|
39
|
-
"git add*": allow
|
|
40
|
-
"git commit*": allow
|
|
41
34
|
# JavaScript / TypeScript
|
|
42
35
|
"eslint*": allow
|
|
43
36
|
"npx eslint*": allow
|
|
@@ -139,10 +139,10 @@ description: Morning Star business-repo Git feature branches, same-repo concurre
|
|
|
139
139
|
|
|
140
140
|
- **`project-manager`** 分派 **QC** 时须在 Assignment 写明与待审实现一致的 **`Working branch`**,并写明 **`Review cwd` / `Worktree path`**:**优先**沿用开发 **Completion Report** 中回报的业务仓 **实现检出路径**(即「该 feature 的 worktree」)**当且仅当**该路径上的检出分支 **`HEAD` 已包含本轮待审的全部提交**(含曾发生在其他并行 worktree、现已归并到该分支的变更)。否则 **必须**改用 **集成完成后的** `Working branch` 与对应检出路径(或在该分支上 **另开** 审查专用 worktree)。若开发未用 worktree,则写明单一明确的业务仓根路径。若审查需与开发目录 **物理分离** 但仍审 **同一分支**,可指示在 **`Working branch`** 上 **另加** 一个 worktree 专供审查(只读使用业务仓)。**多流并行开发**时的前置归并、**推荐默认编排(plan 集成分支先行)** 与误派禁令见上一小节。
|
|
141
141
|
- **三票审同一功能(强制对齐)**:分派 **QC 三审**时,除上述字段外,**必须**在 **三份 Assignment 中逐字写入相同**的 **`plan_id`** 与 **`Review range` / `Diff basis`**:
|
|
142
|
-
- **`plan_id`**:与 `{
|
|
142
|
+
- **`plan_id`**:与 `{SDD_DIR}` 的 `<plan-id>` 段、主 **Plan Path**、`status.json.plans[].id` 一致;无 `{PLAN_DIR}` 流程时写 **`plan_id: N/A`**,并另给一行 **`Feature / scope label`**(不可歧义,足以与并行其它 feature 区分)。
|
|
143
143
|
- **`Review range` / `Diff basis`**:明确本次审查所针对的 **diff/提交范围**(例如 `merge-base: <target_branch-or-base-ref>` + `tip: HEAD`;或 `rev-range: <full-40>..<full-40>`;或一句 `equivalent to: git diff <merge-base>...HEAD`,以团队可复现为准)。**三名 reviewer 的 Assignment 间该字段必须完全一致**;**`qa-engineer`** 验证同一 feature 时 **复用同一 `plan_id` 与同一 `Review range` / `Diff basis`**。**热修 / QC 单审**路径也须含 **同一组字段**,仅承接方份数为 1。
|
|
144
144
|
- **三审并行**时,三名 reviewer **共用同一组 `Review cwd` / `Worktree path` + `Working branch` + `plan_id` + `Review range` / `Diff basis`**(对业务仓只读分析);**一般不必**为每位 reviewer 各开一个 worktree,除非宿主或执行环境要求进程级隔离。
|
|
145
|
-
- QC 的
|
|
145
|
+
- QC 的 **报告落盘**默认仅限 Assignment 指定的 `{SDD_DIR}/review/`;上述约定保证 `git diff`、`git log`、lint 与所读文件与 **待合并 feature** 一致。PM 另行提交主 plan gate summary / `status.json` residual changes as durable artifacts.
|
|
146
146
|
- **`project-manager`** 分派 **`qa-engineer`** 时(仅 **`QA gate: mandatory`**),Assignment 须与 QC **逐字相同**的 **`Review cwd` / `Worktree path`**、**`Working branch`**、**`plan_id`**、**`Review range` / `Diff basis`**(QC 已写清则 QA 照抄)。**`qa-engineer`** 执行业务仓命令前须核对检出与分支;Report-only 且无路径依赖时,回报须说明验证环境,否则 `Blocked`。
|
|
147
147
|
- 若 **QA 与同仓其他可写角色并发**提交测试代码,仍须遵守上文「同仓并发写入」的 **worktree** 规则(可为 QA 单开一条写入 worktree,**同一 `Working branch`**,由 PM 在 Assignment 写明)。
|
|
148
148
|
|
|
@@ -54,8 +54,8 @@ description: Morning Star 派发与委派门禁 —— 仅 PM 可增派 subagent
|
|
|
54
54
|
当 PM 声明「并发分派」时,须同时满足**文案并发**与**工具并发**:
|
|
55
55
|
|
|
56
56
|
- **工具并发**:同一调度轮次内,多个 subagent 调用须在**同一条 assistant 消息**里一次性发出(宿主允许时)。
|
|
57
|
-
- **QC tri-review(SDD 强制)**:`Execution mode: sdd` 且全部 task 完成后 → `qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 同条消息 **N=3
|
|
58
|
-
- **QC 单席(例外)**:`Execution mode: inline`(hotfix 等),或 Assignment 显式 `QC mode: single` / `QC mode: single — override: <reason>` → `qc-specialist` ×1,`N=1
|
|
57
|
+
- **QC tri-review(SDD 强制)**:`Execution mode: sdd` 且全部 task 完成后 → `qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 同条消息 **N=3**(写 `{SDD_DIR}/review/qc1.md`…`qc3.md`;PM 汇总 `qc-consolidated.md` + durable plan summary)。Assignment 须含 branch **review-package** 路径与 report paths。适用于**单 plan 与 iteration**。
|
|
58
|
+
- **QC 单席(例外)**:`Execution mode: inline`(hotfix 等),或 Assignment 显式 `QC mode: single` / `QC mode: single — override: <reason>` → `qc-specialist` ×1,`N=1`,写 `{SDD_DIR}/review/qc.md`。
|
|
59
59
|
- **QC targeted re-review**:Assignment 含 **`QC re-review: targeted — reviewers: …`** 时,**N** = 所列席位数(1–3),同条消息发满 **N**。
|
|
60
60
|
- **先自检再发送**:发送前核对「Assignment 条数 = 本条消息中的实际 **派发** 调用条数」。
|
|
61
61
|
- **前置步骤与派发回合分离(防串行 rollout)**:为派发准备的 **`bash` / `read` / `glob` / `grep`**(如 `merge-base`、`Review range`、`git rev-parse`)**不计入** `N` 次派发;可在上一条仅含准备的消息完成。准备完成后,**下一条派发消息**须**一次性**含 **`N` 次** Task / subagent invoke。**禁止**先发 `1` 次、等返回再补发其余 `N-1` 次。
|
|
@@ -73,7 +73,7 @@ When **`Execution mode: sdd`** (`mstar-sdd`):
|
|
|
73
73
|
- **`SDD implementer session: sticky`**:same implementer subagent may **resume** across tasks when host supports it; **reviewers never resume** — see **`mstar-sdd/references/sticky-implementer-session.md`**.
|
|
74
74
|
- File handoffs only — no pasted plan/diff/history in dispatch prompts.
|
|
75
75
|
- Record per-task BASE SHA; use `review-package` for diffs — **never `HEAD~1`**.
|
|
76
|
-
- After all tasks: branch `review-package` → **mandatory tri-review N=3** when `Execution mode: sdd`; **N=1** only for `inline` / explicit single override.
|
|
76
|
+
- After all tasks: branch `review-package` in `{SDD_DIR}/review/` → **mandatory tri-review N=3** when `Execution mode: sdd`; **N=1** only for `inline` / explicit single override.
|
|
77
77
|
|
|
78
78
|
## 并行规则(摘要)
|
|
79
79
|
|
|
@@ -39,7 +39,7 @@ description: Morning Star (启明星) harness **强制全局入口** —— 信
|
|
|
39
39
|
| 角色 | 始终 | 按任务追加(典型) |
|
|
40
40
|
|------|------|-------------------|
|
|
41
41
|
| **全部** | 本 skill | — |
|
|
42
|
-
| **`@project-manager`** | 本 skill | `mstar-dispatch-gates`、`mstar-phase-gates`、`mstar-plan-conventions`、`mstar-roles`;implement 波次 `mstar-sdd`;派 QC 前 `mstar-review-qc`;并行/审查 `mstar-branch-worktree`;plan/status/
|
|
42
|
+
| **`@project-manager`** | 本 skill | `mstar-dispatch-gates`、`mstar-phase-gates`、`mstar-plan-conventions`、`mstar-roles`;implement 波次 `mstar-sdd`;派 QC 前 `mstar-review-qc`;并行/审查 `mstar-branch-worktree`;plan/status/review bundle `mstar-plan-artifacts`;UI 类 plan Prepare 阶段 `mstar-design-md`(DESIGN.md 门禁);新建/大改 skill 时 `mstar-skill-authoring`;迭代管理 `mstar-iteration`(Phase 1–5);战略性工作 `mstar-strategy`。**不**读 `mstar-coding-behavior` |
|
|
43
43
|
| **实现/审查/运维** | 本 skill + `mstar-coding-behavior` + 角色 ref | 有 git 写:`mstar-branch-worktree`;有 plan 路径:`mstar-plan-conventions`;**PM** 派 QC 前:`mstar-review-qc`;**`qc-specialist*`**:`mstar-roles` → `references/qc-specialist/`;`qa-engineer`:`references/qa-engineer/`;改 status/residual:`mstar-plan-artifacts`;UI:`mstar-design-md`;知识库:`mstar-compound`(PM) |
|
|
44
44
|
| **leaf 承接方** | 上栏 + **`mstar-dispatch-gates`**(反递归节) | — |
|
|
45
45
|
|
|
@@ -92,7 +92,7 @@ PM 在 Assignment 写 **`Task category`**(主类 + 可选 `secondary`):
|
|
|
92
92
|
| `mstar-sdd` | Subagent-driven development:file handoff、per-task review、ledger |
|
|
93
93
|
| `mstar-branch-worktree` | 功能分支、worktree、QC/QA 检出对齐 |
|
|
94
94
|
| `mstar-plan-conventions` | `{HARNESS_DIR}` 发现、初始化、Spec 分支模型摘要、产物路径 SSOT |
|
|
95
|
-
| `mstar-plan-artifacts` | 主 plan、
|
|
95
|
+
| `mstar-plan-artifacts` | 主 plan、review bundle / durable summaries、`status.json`、residual、knowledge、Done 归档 |
|
|
96
96
|
| `mstar-design-md` | DESIGN.md 设计系统规范 —— 创建/审计/维护 design tokens,三级检查清单,light/dark 双主题 |
|
|
97
97
|
| `mstar-review-qc` | PM:QC tri 编排、residual 留档、四层边界;leaf 执行 → `mstar-roles/references/qc-specialist/` |
|
|
98
98
|
| `mstar-coding-behavior` | Think / Simplicity / Surgical / Debugging / Review Feedback / Goal-Driven / Communication |
|
|
@@ -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.
|
|
34
|
+
2. Ensure `{HARNESS_DIR}/sdd/` is gitignored; 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}/`, `
|
|
49
|
+
| **`harness-init`** | Bootstrap harness tree | `{HARNESS_DIR}/`, `{PLAN_DIR}/`, `sdd/` gitignore, `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
|
|
|
@@ -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,
|
|
110
|
+
1. harness-init — init .mstar/, status.json, sdd/ gitignore, 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
|
|
|
@@ -198,6 +198,6 @@ When `/pm` runs under Plan mode:
|
|
|
198
198
|
## Related skills
|
|
199
199
|
|
|
200
200
|
- `mstar-plan-conventions` — discovery, init, plan-writing path gate
|
|
201
|
-
- `mstar-plan-artifacts` — `status.json`,
|
|
201
|
+
- `mstar-plan-artifacts` — `status.json`, review bundle summaries, checkboxes, residual
|
|
202
202
|
- `mstar-phase-gates` — Prepare / Execute order
|
|
203
203
|
- `mstar-roles/references/project-manager/dispatch-and-assignment.md` — Checkpoint: commit → Completion Report → Status Update
|
|
@@ -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}`, `
|
|
22
|
+
| `harness-init` | Init `{HARNESS_DIR}`, `{PLAN_DIR}`, `sdd/` gitignore, `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
|
|
|
@@ -29,8 +29,8 @@ Printing `## Assignment` in the main thread **without** matching host invocation
|
|
|
29
29
|
|
|
30
30
|
## QC default (initial wave)
|
|
31
31
|
|
|
32
|
-
- **`Execution mode: sdd`**: **N=3** tri-review + branch review-package path → `qc1`…`qc3` + consolidated.
|
|
33
|
-
- **`inline` / override**: **N=1** → `qc.md`.
|
|
32
|
+
- **`Execution mode: sdd`**: **N=3** tri-review + branch review-package path → `{SDD_DIR}/review/qc1.md`…`qc3.md` + consolidated.
|
|
33
|
+
- **`inline` / override**: **N=1** → `{SDD_DIR}/review/qc.md`.
|
|
34
34
|
|
|
35
35
|
## QC iteration / SDD (same rule)
|
|
36
36
|
|
|
@@ -55,7 +55,7 @@ Formal iteration Phase 2 uses the same SDD + tri rule — not a separate carve-o
|
|
|
55
55
|
|
|
56
56
|
- Assignment: **`QC re-review: targeted — reviewers: <role-ids>`** → **N** = listed seats only (1–3), **one** dispatch turn with **N** invocations.
|
|
57
57
|
- Do **not** default to three invocations after a routine fix round.
|
|
58
|
-
- Post-dispatch: verify only **dispatched** seats returned; PM updates same `qc-consolidated.md` (see `mstar-plan-artifacts/references/plan-files-and-reports.md`).
|
|
58
|
+
- Post-dispatch: verify only **dispatched** seats returned; PM updates same bundle `qc-consolidated.md` and durable plan summary (see `mstar-plan-artifacts/references/plan-files-and-reports.md`).
|
|
59
59
|
|
|
60
60
|
## Self-check before send
|
|
61
61
|
|
|
@@ -177,7 +177,7 @@ Phase 1 与 §1.6 须遵守 **`references/iteration-artifact-boundaries.md`**(
|
|
|
177
177
|
|
|
178
178
|
**顺序理由**:产品范围与优先级 → 架构与长期契约(specs)→ 行文、规格库卫生与错放纠正(须在 PM/architect 定稿后扫全库 specs)。并行会导致后手重复劳动或覆盖前手未定稿内容。OpenCode:plain role id — **`mstar-host/references/opencode.md`** § Role-mention hygiene。
|
|
179
179
|
|
|
180
|
-
**完成证据** = 磁盘上的 compass / plans / specs / iteration 文档修订 + specs(与既有 knowledge)卫生/归档(如有)+ 索引与 metadata 更新 + compass `status: locked
|
|
180
|
+
**完成证据** = 磁盘上的 compass / plans / specs / iteration 文档修订 + specs(与既有 knowledge)卫生/归档(如有)+ 索引与 metadata 更新 + compass `status: locked`。**不**要求单独的迭代审查报告——迭代审查的 SSOT 是被编辑的文档本身,无 per-plan QC 式审计链。
|
|
181
181
|
|
|
182
182
|
**反模式**:PM 线程代替三角色完成全部编辑而不 invoke;或将本链三角色并行派发 —— 见 **`mstar-harness-core`** 反模式索引。
|
|
183
183
|
|
|
@@ -251,7 +251,7 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
251
251
|
6. Fix loop 直至 review clean;append `{SDD_DIR}/progress.md`;更新 `status.json` / plan checkbox
|
|
252
252
|
7. Next task
|
|
253
253
|
- 每次 Completion Report v2 后更新 `status.json` + 主 plan
|
|
254
|
-
3. **QC → QA gate → Done**:per-plan 审查链 → **`mstar-sdd`**(L1–L2)+ **`mstar-review-qc/references/review-responsibility-boundaries.md`**(L3 tri / inline
|
|
254
|
+
3. **QC → QA gate → Done**:per-plan 审查链 → **`mstar-sdd`**(L1–L2)+ **`mstar-review-qc/references/review-responsibility-boundaries.md`**(L3 tri / inline 单席;raw reports in `{SDD_DIR}/review/`,durable summary in main plan/status)+ **`QA gate`**(`mandatory` → `qa-engineer`;`pm-acceptance` → PM checklist)。
|
|
255
255
|
4. **Plan complete — merge back**:合并 plan feature branch → `spec_integration_branch`;在下一 plan 或 QC 前解决冲突
|
|
256
256
|
5. **Cross-plan 进度同步**:更新 `{ITERATION_DIR}/<iteration-id>-delivery-compass.md` 的 `## Plans` 表状态列
|
|
257
257
|
6. **Next plan** 从步骤 1 继续
|
|
@@ -275,7 +275,7 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
275
275
|
| 文件交接 | brief / report / diff / `progress.md` 在 `{SDD_DIR}`;dispatch prompt **只给路径**,不贴 plan 全文或 task 历史 |
|
|
276
276
|
| Assignment 字段 | 每个 implement dispatch 须含 `Execution mode: sdd`、`SDD dir`、`Model tier`;**禁止**省略 `Model tier` |
|
|
277
277
|
| 大包 inline | **禁止**把 T1–Tn 或整份 plan 写进 **一个** `fullstack-dev` leaf Assignment 冒充 SDD |
|
|
278
|
-
| 分支 diff | 全部 task 完成后 `review-package MERGE_BASE HEAD` → branch diff → plan QC tri(N=3) |
|
|
278
|
+
| 分支 diff | 全部 task 完成后 `review-package MERGE_BASE HEAD` → `{SDD_DIR}/review/` branch diff → plan QC tri(N=3) |
|
|
279
279
|
|
|
280
280
|
Iteration Phase 2 附加:
|
|
281
281
|
|
|
@@ -315,6 +315,7 @@ PM 在迭代内全部 plan Done 后执行。**本 Phase 在 integration 分支
|
|
|
315
315
|
|------|----------|
|
|
316
316
|
| YAML frontmatter:`iteration_id`, `start_date`, `status` | 从文件名 / 正文提取;收口前 `status` 保持 `active` 或 `locked` |
|
|
317
317
|
| `## Roadmap Position` | 从 general context / roadmap prose 迁移为本节 |
|
|
318
|
+
| `## Quality Gate Summary` | 按模板补占位,§3.4 填写 |
|
|
318
319
|
| `## Compound Round Summary` | 按模板补占位,§3.4 填写 |
|
|
319
320
|
| `## Iteration Retrospective (minimal)` | 按模板补占位,§3.4 填写 |
|
|
320
321
|
|
|
@@ -359,7 +360,7 @@ PM 批量触发后须:
|
|
|
359
360
|
|
|
360
361
|
1. compass **YAML frontmatter**:`status: completed`,`end_date: YYYY-MM-DD`(必须;见 §3.0.5)
|
|
361
362
|
2. 更新 `{ITERATION_DIR}/README.md` 索引中该迭代行 Status 为 `completed`
|
|
362
|
-
3. 填充 compass `## Compound Round Summary` 与 `## Iteration Retrospective (minimal)`(见模板)
|
|
363
|
+
3. 填充 compass `## Quality Gate Summary`、`## Compound Round Summary` 与 `## Iteration Retrospective (minimal)`(见模板)
|
|
363
364
|
|
|
364
365
|
### 3.5 Close exit checklist + commit
|
|
365
366
|
|
|
@@ -370,7 +371,7 @@ PM 打印 **iteration-close exit checklist**;全部为 `[x]` 后方可 `git co
|
|
|
370
371
|
- [ ] §3.1 前置 gate 已打印并满足
|
|
371
372
|
- [ ] §3.2 compound 完成;**`<iteration-id>/` workspace 已盘点**(提升 / 保留 / 跳过已记入 Compound Summary);新增 knowledge doc 均已登记 `{KNOWLEDGE_DIR}/README.md`(或已记录无可结晶原因)
|
|
372
373
|
- [ ] §3.3 `## Roadmap Position` current iteration 已标 `delivered`;tracker / STRATEGY 已按需更新
|
|
373
|
-
- [ ] §3.4 frontmatter `status: completed` + `end_date`;Compound Summary + Retrospective 已填
|
|
374
|
+
- [ ] §3.4 frontmatter `status: completed` + `end_date`;Quality Gate Summary + Compound Summary + Retrospective 已填
|
|
374
375
|
- [ ] 当前分支是 `spec_integration_branch`
|
|
375
376
|
- [ ] PR base = `metadata.target_branch`(与 compass frontmatter 一致);**不是**未记录的 `main`
|
|
376
377
|
|
|
@@ -85,6 +85,19 @@ Link from compass when used:
|
|
|
85
85
|
|
|
86
86
|
- Workspace: `<iteration-id>/` | <one-line purpose>
|
|
87
87
|
|
|
88
|
+
## Quality Gate Summary
|
|
89
|
+
|
|
90
|
+
> Filled at iteration-close. Human summary only; per-plan gate details stay in each main plan, and open residual SSOT stays in `{HARNESS_DIR}/status.json`.
|
|
91
|
+
|
|
92
|
+
| plan_id | QC decision | QA gate | Residuals | Durable summary |
|
|
93
|
+
|---------|-------------|---------|-----------|-----------------|
|
|
94
|
+
| <plan-id-1> | Approve / Approve with residuals / Request Changes / N/A | mandatory / pm-acceptance / report-only / N/A | none / R1,R2 / accepted | `{PLAN_DIR}/<plan>.md#review-gate-summary` |
|
|
95
|
+
|
|
96
|
+
Notes:
|
|
97
|
+
|
|
98
|
+
- Raw review bundle: `{SDD_DIR}/review/` (ephemeral; do not rely on it after Done).
|
|
99
|
+
- Open residual SSOT: `{HARNESS_DIR}/status.json` root `residual_findings[<plan-id>]`.
|
|
100
|
+
|
|
88
101
|
## Compound Round Summary
|
|
89
102
|
|
|
90
103
|
> Filled at iteration-close.
|
|
@@ -120,6 +133,7 @@ Link from compass when used:
|
|
|
120
133
|
| `## Roadmap Position` | **Yes** | Phase 1(必填节,非散落于 general context prose);Phase 3 §3.3(current iteration → `delivered`) |
|
|
121
134
|
| `## Risk Register` | Optional | Phase 1, Phase 2 (update) |
|
|
122
135
|
| Iteration workspace (`<iteration-id>/`) | Optional | Phase 1 §1.5.5 — `guides/` + `specs/`; index in `{ITERATION_DIR}/README.md` |
|
|
136
|
+
| `## Quality Gate Summary` | Yes | Phase 3 §3.4 |
|
|
123
137
|
| `## Compound Round Summary` | Yes | Phase 3 §3.4 |
|
|
124
138
|
| `## Iteration Retrospective` | Recommended | Phase 3 §3.4 |
|
|
125
139
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
| **Secondary** | `{KNOWLEDGE_DIR}/**` (existing) | Archive / relocate only — **no** new docs |
|
|
13
13
|
| **Included** | `{PLAN_DIR}/` plans touched this iteration | Spec refs, terminology |
|
|
14
14
|
|
|
15
|
-
**Out of scope**: compound promotion (iteration-close); `{
|
|
15
|
+
**Out of scope**: compound promotion (iteration-close); per-plan review bundles (`{SDD_DIR}/review/`); code.
|
|
16
16
|
|
|
17
17
|
## Misplaced content (relocate)
|
|
18
18
|
|
|
@@ -74,9 +74,9 @@ per-plan 门禁通过后,PM 在**迭代层面**管理以下活动(不计入
|
|
|
74
74
|
|
|
75
75
|
per-plan Done 是 per-plan 的闭环终点;compound 是迭代级收口活动,不影响 per-plan 状态判定。
|
|
76
76
|
|
|
77
|
-
## Plan
|
|
77
|
+
## Plan 目录与审查证据(启用 `{PLAN_DIR}` 时)
|
|
78
78
|
|
|
79
|
-
- 进入 `InReview` 后,QC
|
|
79
|
+
- 进入 `InReview` 后,QC/QA 原始过程报告默认落入 `{SDD_DIR}/review/`(**SDD 默认 tri** `qc1`…`qc-consolidated`;**inline** 单席 `qc.md`)。**fix 后默认 targeted re-review**。SDD per-task review 在 implement 波次内完成(`mstar-sdd` task reviewer)。PM 将 durable gate summary 回写主 plan / `status.json`,而不是把 raw reports 作为默认 git 产物。
|
|
80
80
|
- 非阻断项与后续技术债:PM 汇总后写入 `{HARNESS_DIR}/status.json` 根级 `residual_findings[<plan-id>]`(**open**,与 `plans` 平级;canonical 见 **`mstar-plan-artifacts` SKILL.md**);关闭后迁入 `{HARNESS_DIR}/archived/residuals/<plan-id>.json`,与 `mstar-review-qc` 一致。每条 **`severity`** 遵守 **`mstar-plan-artifacts/references/status-and-residuals.md`**「Residual findings:severity(SSOT,机器字段)」。
|
|
81
81
|
|
|
82
82
|
## 快速判定(PM)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-plan-artifacts
|
|
3
|
-
description: Morning Star plan harness artifacts — `{PLAN_DIR}` main plans and `
|
|
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
|
|
@@ -11,7 +11,7 @@ description: Morning Star plan harness artifacts — `{PLAN_DIR}` main plans and
|
|
|
11
11
|
|
|
12
12
|
| Topic | See |
|
|
13
13
|
|-------|-----|
|
|
14
|
-
| Main plan,
|
|
14
|
+
| Main plan, review bundle naming, durable summaries, QC waves, residual and plan index order | `references/plan-files-and-reports.md` |
|
|
15
15
|
| Plan template (Global Constraints, Interfaces) | `templates/plan.main.md` |
|
|
16
16
|
| knowledge / iterations / specs boundaries and indexes | `references/knowledge-and-designs.md` |
|
|
17
17
|
| Done row compaction Profile A/B | `references/done-compaction.md` |
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
- **最小集**(机器导航够用):**`id`**、**`status`**(`Done`)、**`file`**(主 plan 路径)、**`metadata`** 仅含:
|
|
20
20
|
- **`archived_record`**:相对 **`{HARNESS_DIR}`** 的路径,例如 `archived/plans/<plan-id>.json`(冷快照内为**完整**当时 `plans[]` 元素,含臃肿字段)
|
|
21
21
|
- 若该 `plan-id` 在 **open 列表**(根级 **`residual_findings`**;若仅存 legacy 侧则同口径)中仍有 **open** 行,在 **`metadata`** 内保留 **`residual_summary`**(语义见 `status-and-residuals.md` **`residual_summary`(可选)** 小节)
|
|
22
|
-
- **可选**(人类扫表友好,非必须):**`title`** 一行、**`done_at`**;勿把长叙述塞回热行——放进 **`{HARNESS_DIR}/notes.json
|
|
22
|
+
- **可选**(人类扫表友好,非必须):**`title`** 一行、**`done_at`**;勿把长叙述塞回热行——放进 **`{HARNESS_DIR}/notes.json`**、主 plan gate summary、archived residuals,或依赖冷快照。
|
|
23
23
|
- 一旦快照已写入,热行**不得**再承载完整 `gates`、`qc_status`、`tests`、`commits`、长 `description`/`scope` 等;**以 `archived_record` 指向文件为准**。
|
|
24
|
-
- 单条 **`plans[].notes`**
|
|
24
|
+
- 单条 **`plans[].notes`** 字符串若仍在用,保持**极短**(如指向主 plan gate summary 或 R#);**不要**重复 QC/QA 原始报告大段原文。
|
|
25
25
|
- **可选索引**:`{HARNESS_DIR}/archived/plans/_index.json` — `plan-id` → 相对路径,便于不依赖 glob 的工具。
|
|
26
26
|
- **可选滚动保留**:进一步缩小 `plans[]` 时,可只在热文件中保留**最近窗口**的瘦 `Done` 行,更旧 id 仅出现在 `_index.json` 与快照文件中;若采用,须在项目 `AGENTS.md` 中写明,并检查依赖「热文件中必有全部历史 id」的脚本。
|
|
27
27
|
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
| **`{SPECS_DIR}`**(可选) | 冻结 v1-spec、ADR、program roadmap — **跨迭代长期权威** | 产品/API 规范性最高权威;**iteration-start** 由 product/architect 主写 |
|
|
16
16
|
| **`{ITERATION_DIR}`**(可选) | delivery compass + **`<iteration-id>/` workspace**(`guides/`、`specs/`) | Agent handoff;迭代级草稿;close 时 compound **提升** → knowledge |
|
|
17
17
|
| **`{KNOWLEDGE_DIR}`**(可选) | 实现细节 SSOT、架构细则、契约说明、跨版本 tracker — **经 `mstar-compound` 结晶** | Agent handoff;**不**在 iteration-start 由 product/architect 新增 |
|
|
18
|
-
| **`{PLAN_DIR}/`** | 单 plan
|
|
18
|
+
| **`{PLAN_DIR}/`** | 单 plan 主文件、durable gate summary、可选 `residuals/` | 计划执行与长期决策留档 |
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
**不应**放入 `docs/` 的内容:迭代 compass 正文、作为**特定 plan 输入/输出**的评审结论、实施笔记、未稳定规格草案、QC
|
|
21
|
+
**不应**放入 `docs/` 的内容:迭代 compass 正文、作为**特定 plan 输入/输出**的评审结论、实施笔记、未稳定规格草案、QC/QA 原始过程报告 —— 分别落 `{ITERATION_DIR}`、`{KNOWLEDGE_DIR}`、`{SPECS_DIR}` 或 `{SDD_DIR}/review/`;长期 gate 摘要回写主 plan。
|
|
22
22
|
|
|
23
23
|
## `{ITERATION_DIR}`(可选·迭代/版本级 compass)
|
|
24
24
|
|
|
25
25
|
- **物理路径**:`**{ITERATION_DIR}/**`(推荐布局下常为 `**.mstar/iterations/**`,与 `{KNOWLEDGE_DIR}`、`{PLAN_DIR}` 并列;legacy 项目可继续为 `.agents/iterations/`)。
|
|
26
26
|
- **放什么**:delivery compass(根目录 `*-delivery-compass*.md`);**`<iteration-id>/` 工作区** — `guides/`(探索、过程)、`specs/`(迭代级规格草案);遗留规划快照。
|
|
27
|
-
- **不放什么**:已锁定的仓库级规范(→ **`{SPECS_DIR}/`**);已提升的跨迭代实施 SSOT(→ **`{KNOWLEDGE_DIR}/`**,经 compound);单 plan QC
|
|
27
|
+
- **不放什么**:已锁定的仓库级规范(→ **`{SPECS_DIR}/`**);已提升的跨迭代实施 SSOT(→ **`{KNOWLEDGE_DIR}/`**,经 compound);单 plan QC/QA 原始报告(→ `{SDD_DIR}/review/`)。
|
|
28
28
|
- **索引**:`**{ITERATION_DIR}/README.md**` 登记 compass + workspace 目录;`<iteration-id>/README.md` 登记工作区内文档。
|
|
29
29
|
- **维护**:`@product-manager` / `@architect` 起草 workspace;`**@project-manager**` 维护索引与 metadata;**iteration-close** 时 **`mstar-compound`** 盘点 workspace 并**提升**至 `{KNOWLEDGE_DIR}/`。
|
|
30
30
|
|
|
@@ -66,13 +66,14 @@
|
|
|
66
66
|
- **其它时机**:当文档内容已完全反映到已合并代码中、且非 iteration-start 扫库时:可将索引 **Status** 标为 `Superseded by implementation (...)` 或 `Archived`;可保留原位或迁入 `archived/knowledge/`。**不要**把知识库产物搬进 `{HARNESS_DIR}/archived/plans/`(该处用于**计划行**冷快照)。
|
|
67
67
|
5. **结晶(Compound)**:PM 在 **iteration-close** 触发 **`mstar-compound`**:plan 素材 + **`{ITERATION_DIR}/<iteration-id>/` workspace 提升** → `{KNOWLEDGE_DIR}/`。不在 per-plan Done 后单独执行。维护 → **`mstar-compound-refresh`**。
|
|
68
68
|
|
|
69
|
-
## 与
|
|
69
|
+
## 与 review bundle、`{PLAN_DIR}/residuals/` 的区分
|
|
70
70
|
|
|
71
|
-
- `**
|
|
71
|
+
- `**{SDD_DIR}/review/`**:偏 **审查流程临时证据**(review package、QC1/2/3、consolidated、QA),gitignored,可在 Done 后丢失。
|
|
72
|
+
- `**主 plan gate summary**`:偏 **长期门禁决策摘要**(verdict、review range、R#、QA gate),随主 plan 追踪。
|
|
72
73
|
- `**{PLAN_DIR}/residuals/<plan-id>/`**:偏 **仍 open 的 R# 长文补充**(与根级 `**residual_findings**` 配套,canonical 见 `mstar-plan-conventions` **SKILL.md** 开篇);见下文「open residual 散文详情」。
|
|
73
74
|
- `**{KNOWLEDGE_DIR}/**`:偏 **可复用的实现向设计上下文**(架构细则、决策、分析),可被后续 plan 或多会话反复引用。
|
|
74
75
|
- `**{ITERATION_DIR}/**`:偏 **某一迭代/版本** 的 compass 与规划快照,通常按版本索引而非按单 plan 长期复用。
|
|
75
|
-
-
|
|
76
|
+
- review bundle、gate summary、residuals、knowledge、iterations 可互链,但职责不混写。
|
|
76
77
|
|
|
77
78
|
---
|
|
78
79
|
|
|
@@ -83,7 +84,7 @@
|
|
|
83
84
|
|
|
84
85
|
| 与相邻目录的分工 | 典型内容 |
|
|
85
86
|
| ----------------------------------------- | --------------------------------------------------------------------- |
|
|
86
|
-
| `**{
|
|
87
|
+
| `**{SDD_DIR}/review/**` | QC / QA **流程临时证据**(`qc1.md` … `qc-consolidated.md`、`qa.md` 等),gitignored |
|
|
87
88
|
| **本目录 `{PLAN_DIR}/residuals/<plan-id>/`** | 针对**仍 open** 的某一 R#:defer 背景、遗留原因、代码锚点、后续接手提示等**长文** |
|
|
88
89
|
| `**{KNOWLEDGE_DIR}/**` | 可跨 plan 复用的**实现向**设计上下文、规格修订、gap 分析(若文中顺带提到 residual,仍以 JSON + residuals 为跟踪权威) |
|
|
89
90
|
| `**{ITERATION_DIR}/**` | 迭代/版本级 compass;**不**替代 `{KNOWLEDGE_DIR}` 中的跨版本 SSOT |
|
|
@@ -93,6 +94,6 @@
|
|
|
93
94
|
|
|
94
95
|
**登记**:在对应 open 条目中填写可选 `**detail_doc`**(仓库内相对路径,常形如 `**{PLAN_DIR}/residuals/<plan-id>/R1-….md**`)。**禁止**只写散文、不在 SSOT 中登记 open 行。
|
|
95
96
|
|
|
96
|
-
**维护**:`**@project-manager`**(或与 Assignment 一致的可写角色);`**@qc-specialist***` 宿主白名单通常**不含**本目录——审查结论仍以 `**
|
|
97
|
+
**维护**:`**@project-manager`**(或与 Assignment 一致的可写角色);`**@qc-specialist***` 宿主白名单通常**不含**本目录——审查结论仍以 Assignment 指定的 `**{SDD_DIR}/review/`** 为准,散文由 PM/实现方据结论整理。
|
|
97
98
|
|
|
98
99
|
**关闭与归档**:当该条从 **open 列表**(根级 **`residual_findings[<plan-id>]`**;若仅存 legacy 侧则从该处)移除并**追加**至 `**{HARNESS_DIR}/archived/residuals/<plan-id>.json`** 时,应将对应 `**.md**` 一并收口:可迁入 `**{HARNESS_DIR}/archived/knowledge/**`(若视为历史考据)、或团队约定的 `**{HARNESS_DIR}/archived/residuals/**` 子路径(与 `**.json**` 同批变更可追溯);并在归档条目的 `**closure_evidence` / `closure_note**`(或团队约定字段)中**写明散文最终路径**。勿长期保留「JSON 已关闭而散文仍留在 `residuals/` 且声称仍 open」的状态。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Plan 文件与
|
|
1
|
+
# Plan 文件与 Review Bundle 留档(Morning Star)
|
|
2
2
|
|
|
3
|
-
> **Load order(与其它 `mstar-*` skill 一致)**:依赖本 reference 排
|
|
3
|
+
> **Load order(与其它 `mstar-*` skill 一致)**:依赖本 reference 排 review bundle / QC 波次前,须已 Read **`mstar-harness-core`** skill(SKILL.md;多 worktree 与 QC 单一 `HEAD` 见 **`mstar-branch-worktree`**)。冲突以 **`mstar-harness-core`** 为准。
|
|
4
4
|
|
|
5
5
|
## Plan 文件(`{PLAN_DIR}/<name>.md`)
|
|
6
6
|
|
|
@@ -8,67 +8,85 @@
|
|
|
8
8
|
|
|
9
9
|
**命名(推荐)**:`<plan-id>-<plan-name>.md`(例:`01-data-infrastructure.md`)。`status.json` 中 `file` 字段填相对仓库根或 `{PLAN_DIR}` 下的实际路径。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Review bundle(`{SDD_DIR}/review/`)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
QC/QA 原始过程报告默认是 **ephemeral review bundle**,置于 `{SDD_DIR}/review/`(即 `{HARNESS_DIR}/sdd/<plan-id>/review/`)。该目录随 `{SDD_DIR}` gitignored,不作为长期 git 审计链。
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
**QC basename rule**:`{SDD_DIR}` 已含 `<plan-id>` — **do not** repeat it in report filenames. Put `plan_id` in YAML frontmatter only.
|
|
16
|
+
|
|
17
|
+
| 类型 | 文件名(相对 `{SDD_DIR}/review/`) |
|
|
16
18
|
|------|--------|
|
|
17
|
-
| 架构/设计评审 | `<plan-id>-review.md`(或团队约定的 `review.md`) |
|
|
18
19
|
| QC 三审报告(**SDD 默认** `Execution mode: sdd`) | `qc1.md`、`qc2.md`、`qc3.md` |
|
|
19
20
|
| QC 单席报告(**`inline` / hotfix 例外**) | `qc.md` |
|
|
20
21
|
| QC 汇总结论(tri 模式) | `qc-consolidated.md` |
|
|
22
|
+
| QA 验收报告(`QA gate: mandatory`) | `qa.md`(或 Assignment 指定的同目录 basename) |
|
|
23
|
+
|
|
24
|
+
`{PLAN_DIR}/reports/` is **legacy / explicit audit mode only**. Use it only when the user or project policy explicitly requires tracked raw reports; the default harness path is `{SDD_DIR}/review/`.
|
|
21
25
|
|
|
22
26
|
## SDD 运行时(不入 reports)
|
|
23
27
|
|
|
24
|
-
Per-task briefs, implementer reports,
|
|
28
|
+
Per-task briefs, implementer reports, review diffs, branch review packages, and QC/QA bundle files live under **`{SDD_DIR}`** (`mstar-plan-conventions`). Gitignored. Main plan may index `{SDD_DIR}` / `{SDD_DIR}/review/` paths only — do not paste SDD bodies or raw QC/QA reports into plan markdown.
|
|
25
29
|
|
|
26
30
|
Plan template with Global Constraints / Interfaces → **`templates/plan.main.md`**.
|
|
27
31
|
|
|
28
32
|
## QC 模式(L3 plan 级)
|
|
29
33
|
|
|
30
|
-
职责分层 L1–L4 → **`mstar-review-qc/references/review-responsibility-boundaries.md
|
|
34
|
+
职责分层 L1–L4 → **`mstar-review-qc/references/review-responsibility-boundaries.md`**。bundle basename 见上表;触发时机与 re-review 波次见下节 **§ QC 三审触发时机**。
|
|
35
|
+
|
|
36
|
+
## Durable summaries(主 plan / status)
|
|
37
|
+
|
|
38
|
+
Raw bundle files may disappear after the working context is gone. Before Done, PM must preserve the durable decision surface:
|
|
31
39
|
|
|
32
|
-
|
|
40
|
+
- Main plan `## Review Gate Summary`:
|
|
41
|
+
- `Decision`: `Approve` | `Approve with residuals` | `Request Changes` | `Needs Discussion`
|
|
42
|
+
- `Review range / Diff basis`
|
|
43
|
+
- `Review bundle`: `{SDD_DIR}/review/`
|
|
44
|
+
- `QC inputs`: `qc1.md` / `qc2.md` / `qc3.md` or `qc.md`
|
|
45
|
+
- `Blocking result`: fixed / none / deferred with reason
|
|
46
|
+
- `Residual findings`: R# ids + short titles + owner/target
|
|
47
|
+
- Main plan `## QA Gate Summary` when QA applies:
|
|
48
|
+
- `QA gate` / `QA mode`
|
|
49
|
+
- evidence reused vs newly run checks
|
|
50
|
+
- related R# closure recommendations
|
|
51
|
+
- `{HARNESS_DIR}/status.json` root `residual_findings[<plan-id>]`: open R# machine SSOT.
|
|
33
52
|
|
|
34
|
-
|
|
35
|
-
- **极窄例外**(须团队显式采纳并承担审计缺口):例如仓库体积极敏感时,仅保留 consolidated + 指向外部归档的链接——**不在**本默认 harness 中推荐;默认仍保留三份 `qc*.md`。
|
|
53
|
+
The durable summary is not a paste of raw reports. It is a small gate record sufficient for handoff after `{SDD_DIR}` is unavailable.
|
|
36
54
|
|
|
37
55
|
## Residual findings(R#):权威在哪、和主 plan 谁先谁后?
|
|
38
56
|
|
|
39
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、关闭与归档流程**以该数组为准**。
|
|
40
58
|
- **推荐操作顺序**(避免 plan 与 JSON 两套 ID 漂移):
|
|
41
|
-
1. `project-manager`
|
|
42
|
-
2. **立即**将上述条目写入根级 **`residual_findings[<plan-id>]`**(含 `source`
|
|
59
|
+
1. `project-manager` 读完 review bundle 并完成「QC 三审轻量汇总」:对 finding **去重合并**,为每条待跟踪项分配**稳定 `id`**(如 `R1`、`R2`,全 plan 内唯一)。
|
|
60
|
+
2. **立即**将上述条目写入根级 **`residual_findings[<plan-id>]`**(含 `source` 指向 reviewer seat + bundle basename + finding id + review range,便于回溯);**勿**与 legacy 侧双写(见 `mstar-plan-conventions` **SKILL.md** 开篇)。
|
|
43
61
|
3. **可选**:在主 plan 中增加 **「Residual findings(索引)」** 小节,**仅复述** `id` + 短标题 + 决策摘要,并写明「**权威列表见** `status.json` 根级 `residual_findings[<plan-id>]`(见 `mstar-plan-conventions` **SKILL.md** 开篇)」。**不要**只在主 plan 里「发明」R# 而不写回 SSOT。
|
|
44
62
|
- **不要**反过来把主 plan 当作唯一登记处:若仅更新 plan、`status.json` 未同步,下一任 agent **无法**依赖 SSOT 继承债务状态。
|
|
45
63
|
|
|
46
64
|
## QC 三审触发时机(单 plan · 多 batch)
|
|
47
65
|
|
|
48
|
-
- **默认(SDD)**:同一 **`plan_id`** 下,**plan QC tri-review**(`qc-specialist` ×3 → `qc1`…`qc3` + consolidated
|
|
66
|
+
- **默认(SDD)**:同一 **`plan_id`** 下,**plan QC tri-review**(`qc-specialist` ×3 → `{SDD_DIR}/review/qc1.md`…`qc3.md` + `qc-consolidated.md`)**仅在** dev team 按该 plan 约定范围全部交付、且 **L2 task reviewers** 均已通过后执行 **一次**。**不要**在每个中间 batch 跑完整三审。
|
|
49
67
|
- **单席例外**:`Execution mode: inline` / hotfix → 交付完成后 **一次** `qc.md`(`QC mode: single`)。
|
|
50
68
|
- **batch 之间**:依赖实现方按 **`mstar-coding-behavior`** 提供完成证据、主 plan 任务勾选与 PM 协调;需要书面中间意见时,用对话、主 plan 批注或**非三审**的定向检查(如单审、架构 review),**不**默认等同「又一轮完整三审」。
|
|
51
|
-
- **After `Request Changes` (default — targeted re-review)**:PM maps each **blocking** finding to the QC seat that raised it (`source` on R#, consolidated table, or the originating `qcN.md` / `F-###`). Dispatch **only** those reviewers (`QC re-review: targeted — reviewers: qc-specialist, qc-specialist-2, …`). Each re-reviewing QC **updates the same** `qc1.md` / `qc2.md` / `qc3.md` in place (add `## Revalidation`, refresh verdict / `generated_at`); **do not** add `qc1-rev2.md` siblings
|
|
52
|
-
- **Full tri re-review (exception)**:Only when Assignment states **`QC re-review: full tri-review`**. Run **three** parallel reviews again; use **new basenames** (`qc1-rev2.md` … `qc3-rev2.md`, `qc-consolidated-rev2.md`) so wave-1 files stay
|
|
53
|
-
- **显式例外**:仅当用户与 PM 书面同意**中间门禁**时,在 Assignment 写清 **`QC gate: incremental — <scope>`**(或等价),并仍须保证该次三审的 **`plan_id` + `Review range` / `Diff basis`**
|
|
69
|
+
- **After `Request Changes` (default — targeted re-review)**:PM maps each **blocking** finding to the QC seat that raised it (`source` on R#, consolidated table, or the originating `qcN.md` / `F-###`). Dispatch **only** those reviewers (`QC re-review: targeted — reviewers: qc-specialist, qc-specialist-2, …`). Each re-reviewing QC **updates the same** bundle file (`qc1.md` / `qc2.md` / `qc3.md`) in place (add `## Revalidation`, refresh verdict / `generated_at`); **do not** add `qc1-rev2.md` siblings for targeted re-review. PM **updates the same** `qc-consolidated.md` and durable plan summary.
|
|
70
|
+
- **Full tri re-review (exception)**:Only when Assignment states **`QC re-review: full tri-review`**. Run **three** parallel reviews again; use **new bundle basenames** (`qc1-rev2.md` … `qc3-rev2.md`, `qc-consolidated-rev2.md`) so wave-1 files stay distinct; PM states **active wave** in consolidated decision and durable plan summary. See `mstar-review-qc` · `mstar-dispatch-gates`.
|
|
71
|
+
- **显式例外**:仅当用户与 PM 书面同意**中间门禁**时,在 Assignment 写清 **`QC gate: incremental — <scope>`**(或等价),并仍须保证该次三审的 **`plan_id` + `Review range` / `Diff basis`** 三份一致;**优先**用 `{SDD_DIR}/review/<scope>/` 子目录,避免与终局 `qc1..3.md` 混名。
|
|
54
72
|
- **同仓多 worktree 并行 dev**:**推荐**在排各 batch / 各轨 worktree 前确立 **plan 集成分支** 与各轨 topic 线及 **merge 靶**(见 `mstar-branch-worktree` **「推荐默认编排:先建 plan 集成分支,再挂各 worktree」**)。**多 `plan_id` 同属一条 `primary_spec`(Spec 文档)时**:该「集成分支」在计划语义上即 **Spec 集成分支**;各 Plan 的 topic 分支 **merge 回 Spec 集成分支**,**全部 Plans 完成后** 向显式 `target_branch` **走 PR**,见 `mstar-plan-conventions` SKILL.md **「Spec 驱动的分支模型」**。终局(或增量)三审派单前,PM 仍须满足 **单一待审 `Working branch` / `HEAD`** 或已按上条 **拆 scope**;**不得**假设「整 plan 一次三审」可只靠某一个开发 worktree 路径覆盖未合并的其他并行轨。
|
|
55
73
|
|
|
56
74
|
### 多 `plan_id` 同时 `InReview`(PM 编排)
|
|
57
75
|
|
|
58
76
|
- **流程**:实现完成 → 该 **`plan_id`** 进入 **`InReview`** → **QC 三审(仅针对该 plan 的 `Review range`)** → PM consolidated → **QA** → **`Done`**。**禁止**在多个 `plan_id` 已 `InReview` 的情况下,只推进新实现、不派 QC,或把多个 plan 的变更**伪装成**一套三审字段(单一 `plan_id` / 单一 diff 范围覆盖多 plan)。
|
|
59
|
-
- **并行 vs 串行**:不同 `plan_id` **相互独立**时,可 **并行**派发多组三审(每组各自的 Assignment 与 `
|
|
77
|
+
- **并行 vs 串行**:不同 `plan_id` **相互独立**时,可 **并行**派发多组三审(每组各自的 Assignment 与 `{SDD_DIR}/review/`);若 PM 选择串行,须在 Status Update 写明顺序——**每组仍须完整三审 + QA**,不是「一个大 QC」混审。
|
|
60
78
|
- **读 skill**:书写或派发 QC 相关 Assignment 前,PM **必须** Read **`mstar-review-qc`**(编排与 residual);leaf `qc-specialist*` → **`mstar-roles/references/qc-specialist/`**。见 `mstar-plan-conventions` SKILL.md **QC pre-dispatch gate**。
|
|
61
79
|
|
|
62
|
-
**QC 落盘与宿主权限**:`qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 在支持路径白名单的宿主上(如 OpenCode 的 **`permission.edit
|
|
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 提示词)。
|
|
63
81
|
|
|
64
|
-
**QC 报告与 Git
|
|
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.
|
|
65
83
|
|
|
66
84
|
## 主 plan 内任务清单(Markdown checkbox)
|
|
67
85
|
|
|
68
86
|
- **谁应更新**:`fullstack-dev` / `frontend-dev` / `fullstack-dev-2`、`qa-engineer`、`ops-engineer`、`architect`、`product-manager` 在**完成本人 Assignment 范围内的工作后**,须在主 plan(`<plan-id>-<plan-name>.md`)中把**对应条目**的 Markdown 任务标记为已完成(常见:`- [ ]` → `- [x]`;若项目用其它清单记号,保持同文件内一致)。与 Completion Report **并列**,作为跨会话可核对的**落盘痕迹**。
|
|
69
87
|
- **范围**:**只勾选与当前任务直接对应、且已由本角色交付证据支撑的条目**;不得代为勾选他人负责或未完工项。若正文用分段、Owner 或角色标签区分任务,以 Assignment 与文内约定为准。
|
|
70
88
|
- **与 `status.json` / frontmatter 的关系**:勾选任务**不**等于整条计划收口。`plans[].status` 及主 plan frontmatter 的 **`Done`** 仍**仅** `project-manager` / `qa-engineer`(见「状态更新权限」)。`architect` / `product-manager` **不得**擅自将整条计划标为 `Done`;是否将 `status.json` 推进为 `InReview` 等仍按下文「状态更新权限」与 Assignment。
|
|
71
|
-
- **`qc-specialist*`**:**不得**修改主 plan(宿主仅允许 `{
|
|
89
|
+
- **`qc-specialist*`**:**不得**修改主 plan(宿主仅允许 Assignment 指定的 review bundle `.md`);审查结论落在 `{SDD_DIR}/review/` 内。若主 plan 需新增或勾选与审查相关的条目,由 `project-manager` 或 Assignment 明确授权的角色据报告回写。
|
|
72
90
|
- **只读角色**:不直接改主 plan;将建议交给 `project-manager` 代为更新清单。
|
|
73
91
|
|
|
74
92
|
Plan 正文与 `status.json` 必须保持一致;不一致时以 `status.json` 的条目状态为准并尽快纠正正文或登记 notes。
|
|
@@ -6,7 +6,7 @@
|
|
|
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
|
|
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).
|
|
10
10
|
|
|
11
11
|
## Basic structure
|
|
12
12
|
|
|
@@ -37,7 +37,7 @@ Canonical vs legacy residual definitions → **`mstar-plan-artifacts` SKILL.md**
|
|
|
37
37
|
"id": "R1",
|
|
38
38
|
"title": "Finding title",
|
|
39
39
|
"severity": "critical | high | medium | low | nit",
|
|
40
|
-
"source": "QC-#1
|
|
40
|
+
"source": "QC-#1 qc1.md F-001 @ <review-range>, QA qa.md, review, …",
|
|
41
41
|
"scope": "Affected file or component",
|
|
42
42
|
"decision": "defer | accept | risk-accepted",
|
|
43
43
|
"owner": "@fullstack-dev",
|
|
@@ -124,9 +124,10 @@ In old JSON, **`"severity": "warning"`** is read and rolled up as **`low`**. **F
|
|
|
124
124
|
| `primary_spec` | string | Main spec path (`{KNOWLEDGE_DIR}/…`, `{SPECS_DIR}/…`) |
|
|
125
125
|
| `iteration_compass` | string | Optional `{ITERATION_DIR}/…` |
|
|
126
126
|
| `iteration_refs` | string[] | Optional multiple compass paths |
|
|
127
|
-
| `qc_status` / `tests` / `commits` | string | InReview/Done snapshots; not a substitute for `
|
|
127
|
+
| `qc_status` / `tests` / `commits` | string | InReview/Done snapshots; not a substitute for durable plan gate summaries or root `residual_findings` |
|
|
128
128
|
| `sdd_dir` | string | SDD scratch path, e.g. `{HARNESS_DIR}/sdd/<plan-id>/` (gitignored; `mstar-sdd`) |
|
|
129
129
|
| `sdd_progress` | string | Optional pointer to `{SDD_DIR}/progress.md` ledger |
|
|
130
|
+
| `review_bundle` | string | Optional pointer to `{SDD_DIR}/review/` for current ephemeral QC/QA evidence |
|
|
130
131
|
| `task_commits` | array\<object\> | SDD recovery: `{ "task_id": "T1", "base": "<sha>", "head": "<sha>" }` per completed task |
|
|
131
132
|
|
|
132
133
|
### Optional delivery ledger (`phase` + `batches` + `verification`)
|
|
@@ -141,7 +142,7 @@ For multi-batch or multi-role plans:
|
|
|
141
142
|
|
|
142
143
|
Recommended `batches[]` subfields: `index`, `covers`, `status`, `owner`, `commits`, `a2_self_audit` (or synonym), `verification`.
|
|
143
144
|
|
|
144
|
-
> `batches` / `verification` are evidence indexes — not replacements for
|
|
145
|
+
> `batches` / `verification` are evidence indexes — not replacements for durable plan gate summaries or root `residual_findings`.
|
|
145
146
|
|
|
146
147
|
### `plans[].notes` vs `{HARNESS_DIR}/notes.json`
|
|
147
148
|
|
|
@@ -184,7 +185,7 @@ Plan row (per active iteration plan):
|
|
|
184
185
|
|
|
185
186
|
- Each `plans[]` row may include optional **`metadata`** (`{}` or omit).
|
|
186
187
|
- Init with `"residual_findings": {}`; **no dual-write** with legacy side (see SKILL.md). Program timeline → **`notes.json`**, not long `metadata.notes` in `status.json`.
|
|
187
|
-
- **`plans[].id`** keys must align with root **`residual_findings`** keys
|
|
188
|
+
- **`plans[].id`** keys must align with root **`residual_findings`** keys and `{SDD_DIR}` plan-id segments. Do not store `residual_findings_plan_id`.
|
|
188
189
|
- **Empty `plan-id` key:** when no open items remain, **delete** the key from root **`residual_findings`** (and legacy side if present) — no `"plan-id": []`. Whether **`plans[]`** keeps the row is separate (`done-compaction.md`).
|
|
189
190
|
- **`residual_summary` (optional):** one-line human summary of **open** items only.
|
|
190
191
|
|
|
@@ -245,7 +246,7 @@ Archive file shape (append to `entries`):
|
|
|
245
246
|
```
|
|
246
247
|
|
|
247
248
|
- Each archived entry needs **`archived_at`** (`YYYY-MM-DD`).
|
|
248
|
-
- Closed records live in archive +
|
|
249
|
+
- Closed records live in archive + durable plan summaries; raw review bundles are ephemeral and not part of the long-term open list.
|
|
249
250
|
- After batch archive/close, **refresh `tech_debt_summary`** (script below).
|
|
250
251
|
|
|
251
252
|
### Short in-place close (transition only)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-plan-conventions
|
|
3
|
-
description: Morning Star (启明星) harness 计划目录约定 —— `{HARNESS_DIR}` / `{PLAN_DIR}` / `{ITERATION_DIR}` / `{KNOWLEDGE_DIR}` / `{SPECS_DIR}` 发现与初始化(默认 `.mstar/`,兼容 `.agents/`)、`docs
|
|
3
|
+
description: Morning Star (启明星) harness 计划目录约定 —— `{HARNESS_DIR}` / `{PLAN_DIR}` / `{SDD_DIR}` / `{ITERATION_DIR}` / `{KNOWLEDGE_DIR}` / `{SPECS_DIR}` 发现与初始化(默认 `.mstar/`,兼容 `.agents/`)、`docs` 与 harness 子树边界、review bundle、未启用 plan 时的工作方式、Spec 集成分支与多 Plan 实现分支(显式 base / merge 靶 / PR target)、Morning Star plan-writing path gate、工期预估(agent-oriented)。**必须**在读写 `.mstar/` / `.agents/`、初始化 harness、编排含 plan 的任务、或对齐 `metadata.primary_spec` 时 Read;`@project-manager` 开 plan 任务前必读。plan 文件 / status / residual / review bundle / knowledge → **`mstar-plan-artifacts`**;分支与 QC 检出 → **`mstar-branch-worktree`**。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Load order(必读顺序)
|
|
@@ -9,7 +9,7 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
9
9
|
|
|
10
10
|
| 你还可能要 Read | 何时 |
|
|
11
11
|
|-----------------|------|
|
|
12
|
-
| `mstar-plan-artifacts` | 主 plan、
|
|
12
|
+
| `mstar-plan-artifacts` | 主 plan、review bundle 摘要、`status.json`、residual、InReview/QC 波次、knowledge |
|
|
13
13
|
| `mstar-branch-worktree` | Assignment 写分支 / worktree / QC 检出 |
|
|
14
14
|
| `mstar-review-qc` | 派 QC(PM 同轮必读;SDD 强制 tri) |
|
|
15
15
|
| `mstar-sdd` | PM 执行 `Execution mode: sdd` 的 implement 波次 |
|
|
@@ -20,7 +20,7 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
20
20
|
|------|------|
|
|
21
21
|
| `{HARNESS_DIR}` | `.mstar/` |
|
|
22
22
|
| `{PLAN_DIR}` | `{HARNESS_DIR}/plans/` |
|
|
23
|
-
| `{SDD_DIR}` | `{HARNESS_DIR}/sdd/<plan-id>/`(SDD 运行时 scratch;
|
|
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
26
|
| `{SPECS_DIR}` | `specs/` 优先,否则 `designs/` |
|
|
@@ -44,16 +44,16 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
44
44
|
| `{SPECS_DIR}` | 冻结规格 / ADR |
|
|
45
45
|
| `{ITERATION_DIR}` | 迭代 compass 快照 |
|
|
46
46
|
| `{KNOWLEDGE_DIR}` | 实现 SSOT、可复用设计 |
|
|
47
|
-
| `{PLAN_DIR}/` | 主 plan
|
|
47
|
+
| `{PLAN_DIR}/` | 主 plan、durable gate summaries、可选 residual prose |
|
|
48
48
|
|
|
49
|
-
单 plan
|
|
49
|
+
单 plan 的 QC/QA **原始过程报告**默认进入 **`{SDD_DIR}/review/`**(gitignored review bundle),非 `docs/`,也不默认进入 `{PLAN_DIR}`。主 plan 仅保留 durable gate summary;R# open 状态以 `{HARNESS_DIR}/status.json` 为 SSOT。细则 → **`mstar-plan-artifacts`**。
|
|
50
50
|
|
|
51
51
|
## 初始化 Plan 目录
|
|
52
52
|
|
|
53
53
|
PM 在需要持久化追踪时:
|
|
54
54
|
|
|
55
55
|
1. 建 `.mstar/`、`plans/`、`status.json`(空模板见 **`mstar-plan-artifacts/templates/status.empty.json`**)
|
|
56
|
-
2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.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
57
|
3. 项目根 `.gitignore` 追加 `.mstar/sdd/`(或 `.agents/sdd/` legacy)— CLI `init` 可自动添加
|
|
58
58
|
4. Git:团队交付 **勿** ignore 整个 `{HARNESS_DIR}`(handoff 需 clone 可达)
|
|
59
59
|
|
|
@@ -92,4 +92,4 @@ Plans are written to **`{PLAN_DIR}`** when persistent plan tracking is enabled.
|
|
|
92
92
|
- `references/effort-estimation.md` — agent-oriented 工期(禁人天/FTE)
|
|
93
93
|
- `references/artifact-storage-paths.md` — **产物存储路径 SSOT**(知识文档、CONCEPTS.md、STRATEGY.md 等落盘位置;`mstar-compound`、`mstar-compound-refresh`、`mstar-strategy` 等技能引用此表,不得本地重定义)
|
|
94
94
|
|
|
95
|
-
**Plan 工件细则**(主 plan、
|
|
95
|
+
**Plan 工件细则**(主 plan、review bundle / durable summaries、`status.json`、residual、knowledge、Done 归档、**`templates/`**)→ skill **`mstar-plan-artifacts`**(`references/` 与 `templates/`)。
|
|
@@ -6,15 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
## Harness 子树内(`{HARNESS_DIR}/` 下)
|
|
8
8
|
|
|
9
|
-
这些是 agent handoff
|
|
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
|
|
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/` |
|
|
46
|
+
| `{PLAN_DIR}/reports/` | Legacy / explicit audit mode only;默认 QC/QA 原始过程报告进 `{SDD_DIR}/review/`,知识文档不放此处 |
|
|
47
47
|
|
|
48
48
|
## `<category>` 取值
|
|
49
49
|
|
package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
给新仓或迁移仓提供一套可复制的启动方式,确保:
|
|
8
8
|
|
|
9
|
-
- `status.json` / residual /
|
|
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
|
|
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**
|
|
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** `{
|
|
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 |
|
|
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: `{
|
|
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` (
|
|
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` → `{
|
|
70
|
-
| `qc-specialist-2` | `2` | Security and correctness risk | `qc2` →
|
|
71
|
-
| `qc-specialist-3` | `3` | Performance and reliability risk | `qc3` →
|
|
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):
|
|
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.
|
|
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
|
|
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
|
|
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}
|
|
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
|
|
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
|
-
-
|
|
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,
|
|
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`
|
|
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);
|
|
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 **`{
|
|
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. **
|
|
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` (
|
|
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
|
|
53
|
-
- **NEVER** `git add .`
|
|
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 **`{
|
|
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 `{
|
|
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**
|
|
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
|
|
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
|
-
|
|
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
|
|