@mstar-harness/opencode 1.0.0 → 1.0.2
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 +254 -0
- package/README.md +62 -0
- package/harness-commands/iteration-drive.md +18 -8
- package/harness-commands/iteration-start.md +13 -14
- package/harness-commands/mstar-bootstrap.md +4 -5
- package/harness-skills/mstar-compound/SKILL.md +24 -2
- package/harness-skills/mstar-compound-refresh/SKILL.md +1 -1
- package/harness-skills/mstar-dispatch-gates/SKILL.md +3 -2
- package/harness-skills/mstar-host/references/codex.md +1 -1
- package/harness-skills/mstar-host/references/cursor.md +17 -1
- package/harness-skills/mstar-host/references/opencode.md +3 -0
- package/harness-skills/mstar-host/references/parallel-dispatch.md +1 -1
- package/harness-skills/mstar-iteration/SKILL.md +58 -16
- package/harness-skills/mstar-iteration/references/iteration-artifact-boundaries.md +94 -0
- package/harness-skills/mstar-iteration/references/iteration-compass-template.md +15 -0
- package/harness-skills/mstar-iteration/references/iteration-corpus-hygiene.md +51 -0
- package/harness-skills/mstar-iteration/references/iteration-workspace-readme-template.md +29 -0
- package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +24 -13
- package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +3 -0
- package/harness-skills/mstar-roles/references/architect.md +1 -1
- package/harness-skills/mstar-roles/references/product-manager.md +1 -1
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +15 -0
- package/harness-skills/mstar-roles/references/project-manager.md +8 -2
- package/harness-skills/mstar-roles/references/writing-specialist.md +1 -0
- package/harness-skills/mstar-sdd/SKILL.md +13 -5
- package/harness-skills/mstar-sdd/references/file-handoffs.md +3 -0
- package/harness-skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
- package/harness-skills/mstar-sdd/references/implementer-prompt.md +3 -1
- package/harness-skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
- package/harness-skills/pm/SKILL.md +20 -45
- package/package.json +4 -2
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-iteration
|
|
3
|
-
description: Morning Star 迭代管理 —— iteration-start
|
|
3
|
+
description: Morning Star 迭代管理 —— iteration-start(specs + `<iteration-id>/` workspace;禁止直写 knowledge)、Autonomous Execute、iteration-close(compound 提升 workspace → knowledge)、PR 交付、PR merge-ready loop。分支 SSOT:`status.json` + compass frontmatter。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# mstar-iteration(迭代管理)
|
|
7
7
|
|
|
8
8
|
## Load order
|
|
9
9
|
|
|
10
|
-
**Read `mstar-harness-core` first.** Path symbols → **`mstar-plan-conventions`**. Per-plan gates → **`mstar-phase-gates`**. Knowledge crystallization → **`mstar-compound`**. On conflict, **`mstar-harness-core` wins**.
|
|
10
|
+
**Read `mstar-harness-core` first.** Path symbols → **`mstar-plan-conventions`**. Per-plan gates → **`mstar-phase-gates`**. Knowledge crystallization → **`mstar-compound`**. **Phase 2 implement 波次**(进入 per-plan implement 前)→ **`mstar-sdd`** + **`mstar-dispatch-gates`**。Phase 2 QC 前 → **`mstar-review-qc`**。On conflict, **`mstar-harness-core` wins**.
|
|
11
11
|
|
|
12
12
|
## 设计思路
|
|
13
13
|
|
|
@@ -43,7 +43,7 @@ Phase 5: PR merge-ready loop —— 至 mergeable + CI 全绿 + reviews resolved
|
|
|
43
43
|
| **→ Phase 4** | §3.5 exit checklist 全 `[x]`;frontmatter `status: completed` + `end_date` | 打印 `## Phase 4: PR delivery`;开 PR 到 `metadata.target_branch`(§4) | 跳过 §3.1 entry checklist 或 compound Phase 6 |
|
|
44
44
|
| **→ Phase 5** | Phase 4 PR 已创建 | 打印 `## Phase 5: PR merge-ready`;执行 §5 loop 至 §5.5 exit | 开 PR 后停止;跳过 review resolve / CI loop |
|
|
45
45
|
| **→ 迭代交付完成** | §5.5 exit checklist 全 `[x]` | PR mergeable;required CI 全绿;reviews resolved | Phase 4 开 PR 即宣称完成 |
|
|
46
|
-
| **iteration-start → integration branch** | §1.6 Review & Edit chain |
|
|
46
|
+
| **iteration-start → integration branch** | §1.6 Review & Edit chain | 三角色按序 invoke;**specs** 为主产出;**禁止** start 链向 `{KNOWLEDGE_DIR}/` 新增;writing-specialist corpus hygiene + compass `status: locked` | PM 代做专业编辑;并行三角色;product/architect 写 knowledge;临时笔记进 specs |
|
|
47
47
|
|
|
48
48
|
**误判信号**:对话里出现 compound 摘要、roadmap 更新、或「所有 plan 已完成」但 **未** 打印 §3.1 / §3.5 checklist → 视为 **Phase 3 未执行**,回到 §3.0。
|
|
49
49
|
|
|
@@ -153,18 +153,31 @@ iteration 正式全流程**必须**写入 `{HARNESS_DIR}/status.json`:
|
|
|
153
153
|
|
|
154
154
|
compass frontmatter 的 `iteration_base_branch` / `target_branch` **必须与** `status.json` 一致;若仅写在 compass 而 status 缺失,§2.3 同轮 backfill。
|
|
155
155
|
|
|
156
|
+
### 1.5.5 产物边界(specs · iterations · knowledge)
|
|
157
|
+
|
|
158
|
+
Phase 1 与 §1.6 须遵守 **`references/iteration-artifact-boundaries.md`**(HARD):
|
|
159
|
+
|
|
160
|
+
| 树 | iteration-start 主责 | 说明 |
|
|
161
|
+
|----|---------------------|------|
|
|
162
|
+
| **`{SPECS_DIR}/`** | product-manager、architect | **长期**规范性产出:锁定规格、ADR、契约;plan `primary_spec` / `spec_refs` 主要挂此处 |
|
|
163
|
+
| **`{ITERATION_DIR}/`** | product-manager、architect、PM | compass(根)+ **`<iteration-id>/` workspace**(迭代级 specs & guides) |
|
|
164
|
+
| **`{KNOWLEDGE_DIR}/`** | **非** start/execute 直写;**`mstar-compound`** @ iteration-close(含 workspace **提升**) | 可复用实施 SSOT |
|
|
165
|
+
|
|
166
|
+
**禁止**:product/architect 在 §1.6 向 `{KNOWLEDGE_DIR}/` **新增**;把迭代级草案写入 `{SPECS_DIR}/`(应进 `<iteration-id>/specs/` 或 guides)。
|
|
167
|
+
|
|
156
168
|
### 1.6 Review & Edit chain(integration 分支前强制)
|
|
157
169
|
|
|
158
170
|
**Phase 1 在 PM lock 前不算完成**——compass/plans 初稿落盘 ≠ Done。
|
|
159
171
|
|
|
160
172
|
派发机制 → **`mstar-dispatch-gates`**(specialist review-and-edit dispatch,**顺序链**)。PM **不得**将迭代 harness 文档 commit 到 `spec_integration_branch`,直到:
|
|
161
173
|
|
|
162
|
-
1. **product-manager** → **architect** → **writing-specialist**
|
|
163
|
-
2.
|
|
174
|
+
1. **product-manager** → **architect** → **writing-specialist** 已按序 invoke 编辑 compass、plans、`{SPECS_DIR}/` 与 **`{ITERATION_DIR}/<iteration-id>/`** workspace(guides/specs,按需);**不得**在 start 链向 `{KNOWLEDGE_DIR}/` 新增
|
|
175
|
+
2. **writing-specialist** 完成 **corpus hygiene**:全库 `{SPECS_DIR}/` + 既有 `{KNOWLEDGE_DIR}/` 卫生;错放迁回 **`<iteration-id>/`** workspace;细则 → **`iteration-corpus-hygiene.md`**、**`iteration-artifact-boundaries.md`**
|
|
176
|
+
3. PM 将 compass `status` 设为 `locked`,并确认各 plan 的 Prepare gate(specify / clarify / plan)
|
|
164
177
|
|
|
165
|
-
**顺序理由**:产品范围与优先级 →
|
|
178
|
+
**顺序理由**:产品范围与优先级 → 架构与长期契约(specs)→ 行文、规格库卫生与错放纠正(须在 PM/architect 定稿后扫全库 specs)。并行会导致后手重复劳动或覆盖前手未定稿内容。OpenCode:plain role id — **`mstar-host/references/opencode.md`** § Role-mention hygiene。
|
|
166
179
|
|
|
167
|
-
**完成证据** = 磁盘上的 compass / plans / specs
|
|
180
|
+
**完成证据** = 磁盘上的 compass / plans / specs / iteration 文档修订 + specs(与既有 knowledge)卫生/归档(如有)+ 索引与 metadata 更新 + compass `status: locked`。**不**要求 `reports/<iteration-id>/` 审查报告——迭代审查的 SSOT 是被编辑的文档本身,无 per-plan QC 式审计链。
|
|
168
181
|
|
|
169
182
|
**反模式**:PM 线程代替三角色完成全部编辑而不 invoke;或将本链三角色并行派发 —— 见 **`mstar-harness-core`** 反模式索引。
|
|
170
183
|
|
|
@@ -227,7 +240,17 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
227
240
|
对每个 active `plan_id`:
|
|
228
241
|
|
|
229
242
|
1. **Plan start — feature branch**:Assignment 用 `Working branch: create <plan-feature-branch> from <spec_integration_branch>`。一个 plan 一条专用实现分支;内部并行 → topic branches + worktrees(`mstar-branch-worktree`)
|
|
230
|
-
2. **Implement → InReview
|
|
243
|
+
2. **Implement → InReview**(`§ 2.5`):
|
|
244
|
+
- **默认 `Execution mode: sdd`**(多 task plan;hotfix 可 `inline`)。
|
|
245
|
+
- PM 载入 **`mstar-sdd`** 后,按 plan task 顺序 **串行** per-task 循环(**不是**一次派发 dev 做全部 tasks):
|
|
246
|
+
1. `sdd-workspace <plan-id>` → `{SDD_DIR}`
|
|
247
|
+
2. `task-brief <plan-file> N` → `{SDD_DIR}/task-N-brief.md`;记录 `BASE_SHA`
|
|
248
|
+
3. Dispatch **one** implementer subagent(`references/implementer-prompt.md`:brief 路径 + report 路径 + `Model tier`;**禁止**贴整份 plan)
|
|
249
|
+
4. Implementer `DONE` → `review-package BASE HEAD` → task diff 文件
|
|
250
|
+
5. Dispatch **one** task reviewer subagent(brief + report + diff + Global Constraints)
|
|
251
|
+
6. Fix loop 直至 review clean;append `{SDD_DIR}/progress.md`;更新 `status.json` / plan checkbox
|
|
252
|
+
7. Next task
|
|
253
|
+
- 每次 Completion Report v2 后更新 `status.json` + 主 plan
|
|
231
254
|
3. **QC → QA → Done**:per-plan 审查链 → **`mstar-sdd`**(L1–L2)+ **`mstar-review-qc/references/review-responsibility-boundaries.md`**(L3 tri / inline 单席)+ QA。
|
|
232
255
|
4. **Plan complete — merge back**:合并 plan feature branch → `spec_integration_branch`;在下一 plan 或 QC 前解决冲突
|
|
233
256
|
5. **Cross-plan 进度同步**:更新 `{ITERATION_DIR}/<iteration-id>-delivery-compass.md` 的 `## Plans` 表状态列
|
|
@@ -241,7 +264,18 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
241
264
|
|
|
242
265
|
### 2.5 Dispatch-first(implement 派发约束)
|
|
243
266
|
|
|
244
|
-
派发纪律 SSOT → **`mstar-dispatch-gates`** · **`mstar-host/references/parallel-dispatch.md
|
|
267
|
+
派发纪律 SSOT → **`mstar-dispatch-gates`** · **`mstar-sdd`** · **`mstar-host/references/parallel-dispatch.md`**。
|
|
268
|
+
|
|
269
|
+
**SDD implement(Phase 2 默认)** — PM **已载入 `mstar-sdd`** 后执行:
|
|
270
|
+
|
|
271
|
+
| 规则 | 说明 |
|
|
272
|
+
|------|------|
|
|
273
|
+
| 串行 | 同一 plan 内 **one implementer at a time**;每 task 后 **one fresh task reviewer** |
|
|
274
|
+
| Sticky(可选) | Assignment **`SDD implementer session: sticky`** + `implementer-session.json`;implementer **resume**,reviewer **fresh** — `mstar-sdd/references/sticky-implementer-session.md` |
|
|
275
|
+
| 文件交接 | brief / report / diff / `progress.md` 在 `{SDD_DIR}`;dispatch prompt **只给路径**,不贴 plan 全文或 task 历史 |
|
|
276
|
+
| Assignment 字段 | 每个 implement dispatch 须含 `Execution mode: sdd`、`SDD dir`、`Model tier`;**禁止**省略 `Model tier` |
|
|
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) |
|
|
245
279
|
|
|
246
280
|
Iteration Phase 2 附加:
|
|
247
281
|
|
|
@@ -301,11 +335,12 @@ PM **必须**在对话中打印本 checklist;不得默认同过。
|
|
|
301
335
|
PM 批量触发后须:
|
|
302
336
|
|
|
303
337
|
1. 收集本迭代 plan 实现 / debug / review 素材,筛候选知识
|
|
304
|
-
2.
|
|
305
|
-
3.
|
|
306
|
-
4.
|
|
338
|
+
2. **盘点** `{ITERATION_DIR}/<iteration-id>/**` workspace(`guides/`、`specs/`)— **`mstar-compound`**「Iteration workspace promotion」;提升值得保留者进 `{KNOWLEDGE_DIR}/`
|
|
339
|
+
3. 逐条过 `mstar-compound` 自检;跳过项记入 compass `## Compound Round Summary`
|
|
340
|
+
4. 写入或更新 `{KNOWLEDGE_DIR}/<category>/<slug>.md`;新领域词更新 `CONCEPTS.md`
|
|
341
|
+
5. **每篇**新 doc 完成 Phase 6(`{KNOWLEDGE_DIR}/README.md` 登记)
|
|
307
342
|
|
|
308
|
-
|
|
343
|
+
若无结晶且无 workspace 提升,仍在 `## Compound Round Summary` 写明 `无可结晶知识` / workspace 盘点结论及原因。
|
|
309
344
|
|
|
310
345
|
### 3.3 更新 roadmap
|
|
311
346
|
|
|
@@ -329,7 +364,7 @@ PM 批量触发后须:
|
|
|
329
364
|
PM 打印 **iteration-close exit checklist**;全部为 `[x]` 后方可 `git commit`;然后进入 **Phase 4**(§4):
|
|
330
365
|
|
|
331
366
|
- [ ] §3.1 前置 gate 已打印并满足
|
|
332
|
-
- [ ] §3.2 compound
|
|
367
|
+
- [ ] §3.2 compound 完成;**`<iteration-id>/` workspace 已盘点**(提升 / 保留 / 跳过已记入 Compound Summary);新增 knowledge doc 均已登记 `{KNOWLEDGE_DIR}/README.md`(或已记录无可结晶原因)
|
|
333
368
|
- [ ] §3.3 `## Roadmap Position` current iteration 已标 `delivered`;tracker / STRATEGY 已按需更新
|
|
334
369
|
- [ ] §3.4 frontmatter `status: completed` + `end_date`;Compound Summary + Retrospective 已填
|
|
335
370
|
- [ ] 当前分支是 `spec_integration_branch`
|
|
@@ -415,14 +450,18 @@ PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权
|
|
|
415
450
|
| `mstar-sdd` | SDD implement 波次 — per-plan loop |
|
|
416
451
|
| `mstar-review-qc` | SDD 强制 plan QC tri — per-plan loop |
|
|
417
452
|
| `mstar-branch-worktree` | 分支/merge/worktree 隔离 |
|
|
418
|
-
| `mstar-compound` | iteration-close
|
|
453
|
+
| `mstar-compound` | iteration-close 中触发知识结晶(**唯一**默认 knowledge 新增路径) |
|
|
419
454
|
| `mstar-compound-refresh` | iteration-close 后可触发知识维护 |
|
|
455
|
+
| `references/iteration-artifact-boundaries.md` | Phase 1 specs / iterations workspace / knowledge 分工 |
|
|
456
|
+
| `references/iteration-workspace-readme-template.md` | `<iteration-id>/README.md` 可选模板 |
|
|
457
|
+
| `references/iteration-corpus-hygiene.md` | §1.6 writing-specialist specs 卫生细则 |
|
|
420
458
|
| `mstar-strategy` | iteration-start 时读 `STRATEGY.md` 对齐方向 |
|
|
421
459
|
|
|
422
460
|
## NOT to do
|
|
423
461
|
|
|
424
462
|
- 不要在 per-plan Done 后立即单独 compound——等 iteration-close 统一做
|
|
425
463
|
- 不要在 Autonomous Execute(Phase 2)中修改 per-plan gate 判定
|
|
464
|
+
- **不要在 Phase 2 用 inline 大包 Assignment 替代 SDD per-task 循环**(除非 plan 显式 `Execution mode: inline` / hotfix)
|
|
426
465
|
- 不要用 compass 替代 `status.json` 作为 plan 状态 SSOT
|
|
427
466
|
- 不要在没有完成 per-plan 前置检查的情况下进入 iteration-close
|
|
428
467
|
- 不要在缺少 `iteration_base_branch` / `target_branch` 时默认使用 `main` / `master`
|
|
@@ -431,5 +470,8 @@ PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权
|
|
|
431
470
|
- 不要跳过 compound Phase 6(`{KNOWLEDGE_DIR}/README.md` 索引)——即使只结晶一篇文档
|
|
432
471
|
- 不要跳过 compound——如果本迭代确实没有可结晶的知识,在 compass `## Compound Round Summary` 写 `无可结晶知识(原因:<简述>)`
|
|
433
472
|
- 不要将 **Phase 4 开 PR** 等同于 **迭代交付完成** — 必须完成 **Phase 5** §5.5 merge-ready loop
|
|
434
|
-
-
|
|
473
|
+
- **不要在 iteration-start §1.6 由 product/architect 向 `{KNOWLEDGE_DIR}/` 新增文档**(知识 → iteration-close **`mstar-compound`**)
|
|
474
|
+
- **不要把迭代级草案写入 `{SPECS_DIR}/`**(应进 `{ITERATION_DIR}/<iteration-id>/specs/` 或 `guides/`)
|
|
475
|
+
- **不要在 iteration-close 跳过 `<iteration-id>/` workspace 盘点**(compound 提升 SSOT → **`mstar-compound`**)
|
|
476
|
+
- **不要在 iteration-start §1.6 跳过 writing-specialist 全库 specs corpus hygiene**(仅改当轮 compass/plans 而不扫 `{SPECS_DIR}/`)
|
|
435
477
|
- **不要在 SDD plan 上以单席 `qc.md` 收尾**(除非用户书面 `QC mode: single — override`)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# iteration-start 产物边界(specs · iterations · knowledge)
|
|
2
|
+
|
|
3
|
+
> **When**: Phase 1 — PM 初稿落盘、§1.6 Review & Edit chain;Phase 2 迭代执行期可继续写入 iteration workspace;Phase 3 iteration-close 经 **`mstar-compound`** 提升。
|
|
4
|
+
> **Conflict**: 与 `mstar-plan-artifacts/references/knowledge-and-designs.md` 一致;冲突以 **`mstar-harness-core`** 为准。
|
|
5
|
+
|
|
6
|
+
## 三棵树分工(HARD)
|
|
7
|
+
|
|
8
|
+
| 树 | 路径 | 长期价值 | 谁写(何时) | 典型内容 |
|
|
9
|
+
|----|------|----------|--------------|----------|
|
|
10
|
+
| **Specs(仓库级)** | `{SPECS_DIR}/` | **是** — 跨迭代规范性权威 | product / architect @ **iteration-start** | 已锁定产品/API 规格、ADR、契约 |
|
|
11
|
+
| **Iterations** | `{ITERATION_DIR}/` | **迭代级** — 历史快照;可提升 | product / architect / PM @ start & execute | compass + **`<iteration-id>/` workspace** |
|
|
12
|
+
| **Knowledge** | `{KNOWLEDGE_DIR}/` | **是** — 可复用实施 SSOT | **`mstar-compound`** @ **iteration-close**(含 workspace 提升) | 结晶、提升后的长期实施知识 |
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
iteration-start / execute
|
|
16
|
+
product / architect ──► {SPECS_DIR}/ 已锁定的长期规格
|
|
17
|
+
──► {ITERATION_DIR}/<id>/ 迭代级 specs + guides(工作区)
|
|
18
|
+
✗ {KNOWLEDGE_DIR}/ 不直接新增
|
|
19
|
+
|
|
20
|
+
iteration-close (§3.2)
|
|
21
|
+
mstar-compound ──► 读 plan 素材 + {ITERATION_DIR}/<id>/**
|
|
22
|
+
──► {KNOWLEDGE_DIR}/ 提升值得保留的 specs/guides
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## `{ITERATION_DIR}/<iteration-id>/` 工作区(迭代级 specs & guides)
|
|
26
|
+
|
|
27
|
+
compass 仍在根目录:`**{ITERATION_DIR}/<iteration-id>-delivery-compass.md**`(现有约定)。**迭代级** specs / guides 放入同名子目录工作区:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
{ITERATION_DIR}/
|
|
31
|
+
README.md
|
|
32
|
+
<iteration-id>-delivery-compass.md
|
|
33
|
+
<iteration-id>/
|
|
34
|
+
README.md # 可选:本迭代工作区索引
|
|
35
|
+
guides/ # 探索笔记、过程指南、未锁定权衡
|
|
36
|
+
specs/ # 迭代级规格草案(尚未升格到 {SPECS_DIR}/ 或 knowledge)
|
|
37
|
+
<flat-files>.md # 允许;大迭代可再分子目录
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
| 子路径 | 放什么 | 不放什么 |
|
|
41
|
+
|--------|--------|----------|
|
|
42
|
+
| **`<iteration-id>/guides/`** | 候选方案、调研、会议记录、实施过程说明 | 已锁定的仓库级规范 |
|
|
43
|
+
| **`<iteration-id>/specs/`** | 本迭代演进中的规格、迭代内契约草稿 | 已锁定、跨迭代 `{SPECS_DIR}/` 级权威(应升格或已在 `{SPECS_DIR}/`) |
|
|
44
|
+
| **compass(根)** | 范围、plans 表、验收、分支策略 | 长文探索正文(链到 workspace) |
|
|
45
|
+
|
|
46
|
+
**何时用 workspace 而非单文件 working guide**:一篇 guide 不够时,**默认**用 `<iteration-id>/` 目录;单文件 `<iteration-id>-working-guide.md` 仍允许作轻量入口(可链接进 workspace)。
|
|
47
|
+
|
|
48
|
+
**索引**:`{ITERATION_DIR}/README.md` 登记 compass 行 + workspace 目录行;workspace 内 `README.md` 列出 `guides/`、`specs/` 下文档。
|
|
49
|
+
|
|
50
|
+
## `{SPECS_DIR}/` 准入(仓库级长期)
|
|
51
|
+
|
|
52
|
+
写入 `{SPECS_DIR}/` 前须满足 **至少一条**(与 iteration workspace 区分):
|
|
53
|
+
|
|
54
|
+
- 决策**已锁定**,变更需显式评审
|
|
55
|
+
- 跨 plan、跨迭代仍成立
|
|
56
|
+
- 本迭代及后续 plan 的 **`primary_spec` / `spec_refs`** 权威来源
|
|
57
|
+
|
|
58
|
+
**不应**进 `{SPECS_DIR}/`:
|
|
59
|
+
|
|
60
|
+
- 仍在迭代内演进的草案 → **`<iteration-id>/specs/`**
|
|
61
|
+
- 探索 scratch → **`<iteration-id>/guides/`**
|
|
62
|
+
- 实施踩坑(未整理)→ 留 workspace 或 plan 素材,**close 时 compound 提升**
|
|
63
|
+
|
|
64
|
+
## Knowledge 与 compound 提升
|
|
65
|
+
|
|
66
|
+
- **`{KNOWLEDGE_DIR}/` 新增**:默认仅在 **iteration-close** §3.2 **`mstar-compound`**。
|
|
67
|
+
- **提升来源(iteration-close)**:除 plan 实现/debug/review 素材外,**必须盘点** `{ITERATION_DIR}/<iteration-id>/**`(`guides/`、`specs/`、扁平文件)。值得跨迭代复用的内容 → 按 compound 双轨模板**重写**进 `{KNOWLEDGE_DIR}/`(非整文件复制);细则 → **`mstar-compound`**「Iteration workspace promotion」。
|
|
68
|
+
- **提升后**:在源文件顶部或 workspace `README.md` 标注 `Promoted to: {KNOWLEDGE_DIR}/...`;源文件**保留**为迭代历史(或迁入 `<iteration-id>/archived/` 若团队约定)。
|
|
69
|
+
- **iteration-start §1.6**:product / architect **不得**向 `{KNOWLEDGE_DIR}/` **新增**;误写由 writing-specialist 迁回 **workspace**。
|
|
70
|
+
|
|
71
|
+
## §1.6 各角色编辑范围
|
|
72
|
+
|
|
73
|
+
| 角色 | 必须编辑 | 禁止 |
|
|
74
|
+
|------|----------|------|
|
|
75
|
+
| **product-manager** | compass、plans、`{SPECS_DIR}/`、`{ITERATION_DIR}/<iteration-id>/`(guides/specs) | `{KNOWLEDGE_DIR}/` **新增**;迭代草案写入 `{SPECS_DIR}/` |
|
|
76
|
+
| **architect** | 同上 + workspace `specs/` 技术向 | 同上;在 `{SPECS_DIR}/` 堆实施踩坑 |
|
|
77
|
+
| **writing-specialist** | 当轮文档 + `{SPECS_DIR}/` corpus hygiene + 既有 knowledge 卫生 | 代替 compound **提升**;跳过 specs 全库审查 |
|
|
78
|
+
|
|
79
|
+
Phase 2 执行期:各角色可继续向 **`<iteration-id>/`** 追加 guides/specs;**仍不**直写 `{KNOWLEDGE_DIR}/`。
|
|
80
|
+
|
|
81
|
+
## plans[].metadata 挂接
|
|
82
|
+
|
|
83
|
+
| 内容 | 挂接键 | 路径 |
|
|
84
|
+
|------|--------|------|
|
|
85
|
+
| 仓库级锁定规格 | `primary_spec` / `spec_refs` | `{SPECS_DIR}/` |
|
|
86
|
+
| 迭代上下文 | `iteration_compass` / `iteration_refs` | compass + `{ITERATION_DIR}/<iteration-id>/...` |
|
|
87
|
+
| 知识库(已有) | 仅历史链接 | `{KNOWLEDGE_DIR}/` — **start 不新增** |
|
|
88
|
+
|
|
89
|
+
## 反模式
|
|
90
|
+
|
|
91
|
+
- 用 `{KNOWLEDGE_DIR}/` 存迭代探索(应进 `<iteration-id>/guides/`)
|
|
92
|
+
- 把迭代 workspace 草案直接复制进 `{SPECS_DIR}/` 而不锁定评审
|
|
93
|
+
- iteration-close **只做** plan 素材 compound、**不**盘点 `<iteration-id>/` workspace
|
|
94
|
+
- 提升时整文件复制到 knowledge(应 compound 结构化重写)
|
|
@@ -71,6 +71,20 @@ Status values: `Todo` | `InProgress` | `InReview` | `Done` | `Blocked`
|
|
|
71
71
|
|------|-----------|--------|------------|
|
|
72
72
|
| <risk> | Low/Med/High | Low/Med/High | <mitigation> |
|
|
73
73
|
|
|
74
|
+
## Iteration workspace (optional)
|
|
75
|
+
|
|
76
|
+
> Iteration-level **specs** and **guides** live under `{ITERATION_DIR}/<iteration-id>/` — not in `{SPECS_DIR}/` or `{KNOWLEDGE_DIR}/`. Promoted to knowledge at iteration-close via **`mstar-compound`**.
|
|
77
|
+
|
|
78
|
+
| Path | Purpose |
|
|
79
|
+
|------|---------|
|
|
80
|
+
| `<iteration-id>/guides/` | Exploration, process notes |
|
|
81
|
+
| `<iteration-id>/specs/` | Iteration-scoped spec drafts |
|
|
82
|
+
| `<iteration-id>/README.md` | Workspace index (recommended when non-trivial) |
|
|
83
|
+
|
|
84
|
+
Link from compass when used:
|
|
85
|
+
|
|
86
|
+
- Workspace: `<iteration-id>/` | <one-line purpose>
|
|
87
|
+
|
|
74
88
|
## Compound Round Summary
|
|
75
89
|
|
|
76
90
|
> Filled at iteration-close.
|
|
@@ -105,6 +119,7 @@ Status values: `Todo` | `InProgress` | `InReview` | `Done` | `Blocked`
|
|
|
105
119
|
| `## Non-Goals` | Yes | Phase 1 |
|
|
106
120
|
| `## Roadmap Position` | **Yes** | Phase 1(必填节,非散落于 general context prose);Phase 3 §3.3(current iteration → `delivered`) |
|
|
107
121
|
| `## Risk Register` | Optional | Phase 1, Phase 2 (update) |
|
|
122
|
+
| Iteration workspace (`<iteration-id>/`) | Optional | Phase 1 §1.5.5 — `guides/` + `specs/`; index in `{ITERATION_DIR}/README.md` |
|
|
108
123
|
| `## Compound Round Summary` | Yes | Phase 3 §3.4 |
|
|
109
124
|
| `## Iteration Retrospective` | Recommended | Phase 3 §3.4 |
|
|
110
125
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# iteration-start corpus hygiene(specs primary · knowledge read-only)
|
|
2
|
+
|
|
3
|
+
> **When**: Phase 1 §1.6 — **writing-specialist** only, after product/architect landed compass / plans / `{SPECS_DIR}/` / **`{ITERATION_DIR}/<iteration-id>/`** workspace.
|
|
4
|
+
> **Boundaries**: **`iteration-artifact-boundaries.md`** — no `{KNOWLEDGE_DIR}/` adds @ start; iteration drafts → **`<iteration-id>/guides/`** or **`specs/`**.
|
|
5
|
+
|
|
6
|
+
## Scope (HARD)
|
|
7
|
+
|
|
8
|
+
| Priority | Tree | Action |
|
|
9
|
+
|----------|------|--------|
|
|
10
|
+
| **Primary** | `{SPECS_DIR}/**` | Full active corpus review |
|
|
11
|
+
| **Included** | `{ITERATION_DIR}/<iteration-id>/**` | Workspace guides/specs + compass cross-links |
|
|
12
|
+
| **Secondary** | `{KNOWLEDGE_DIR}/**` (existing) | Archive / relocate only — **no** new docs |
|
|
13
|
+
| **Included** | `{PLAN_DIR}/` plans touched this iteration | Spec refs, terminology |
|
|
14
|
+
|
|
15
|
+
**Out of scope**: compound promotion (iteration-close); `{PLAN_DIR}/reports/`; code.
|
|
16
|
+
|
|
17
|
+
## Misplaced content (relocate)
|
|
18
|
+
|
|
19
|
+
| Found in | Target |
|
|
20
|
+
|----------|--------|
|
|
21
|
+
| `{SPECS_DIR}/` | Iteration-only draft → `{ITERATION_DIR}/<iteration-id>/specs/` or `guides/` |
|
|
22
|
+
| `{SPECS_DIR}/` | Implementation/debug notes → workspace `guides/` (compound @ close) |
|
|
23
|
+
| `{KNOWLEDGE_DIR}/` | New exploration from start chain → `<iteration-id>/guides/` or archive |
|
|
24
|
+
| Flat `{ITERATION_DIR}/*-working-guide.md` | OK as entry; or merge into `<iteration-id>/guides/` when workspace exists |
|
|
25
|
+
|
|
26
|
+
## Classification
|
|
27
|
+
|
|
28
|
+
Same as before for specs + existing knowledge: Active / Superseded / Redundant / Obsolete / Unclear → archive under `archived/specs/` or `archived/knowledge/` with relative path preserved.
|
|
29
|
+
|
|
30
|
+
## Index and metadata
|
|
31
|
+
|
|
32
|
+
1. `{SPECS_DIR}/README.md` — update as needed
|
|
33
|
+
2. `{KNOWLEDGE_DIR}/README.md` — archive rows only; no new iteration exploration rows
|
|
34
|
+
3. `{ITERATION_DIR}/README.md` — compass + **`<iteration-id>/` workspace** directory row
|
|
35
|
+
4. `{ITERATION_DIR}/<iteration-id>/README.md` — list guides/specs (create if non-trivial)
|
|
36
|
+
5. `plans[].metadata` — `primary_spec` / `spec_refs` → `{SPECS_DIR}/`; `iteration_refs` → workspace paths
|
|
37
|
+
|
|
38
|
+
## Evidence of done
|
|
39
|
+
|
|
40
|
+
- No iteration scratch left in `{SPECS_DIR}/`
|
|
41
|
+
- Workspace used for iteration-level drafts (`<iteration-id>/guides|specs/`)
|
|
42
|
+
- No new `{KNOWLEDGE_DIR}/` from §1.6 chain
|
|
43
|
+
- Completion Report lists workspace paths + spec hygiene moves
|
|
44
|
+
|
|
45
|
+
## Distinction from compound @ iteration-close
|
|
46
|
+
|
|
47
|
+
| | §1.6 hygiene | compound workspace promotion |
|
|
48
|
+
|--|--------------|------------------------------|
|
|
49
|
+
| When | iteration-start | iteration-close §3.2 |
|
|
50
|
+
| `{ITERATION_DIR}/<id>/` | Create/edit drafts | **Inventory → promote** to `{KNOWLEDGE_DIR}/` |
|
|
51
|
+
| `{KNOWLEDGE_DIR}/` | No new writes | Structured new docs |
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Iteration workspace README (template)
|
|
2
|
+
|
|
3
|
+
Optional index inside `{ITERATION_DIR}/<iteration-id>/`. Copy when the workspace has more than a few files.
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
# <iteration-id> workspace
|
|
7
|
+
|
|
8
|
+
Iteration-scoped **specs** and **guides** — not `{KNOWLEDGE_DIR}/`. Worthy content is **promoted** at iteration-close via `mstar-compound`.
|
|
9
|
+
|
|
10
|
+
## Guides
|
|
11
|
+
|
|
12
|
+
| Document | Description | Status |
|
|
13
|
+
|----------|-------------|--------|
|
|
14
|
+
| [guides/<name>.md](guides/<name>.md) | <purpose> | draft / active / promoted |
|
|
15
|
+
|
|
16
|
+
## Specs (iteration-level)
|
|
17
|
+
|
|
18
|
+
| Document | Description | Status |
|
|
19
|
+
|----------|-------------|--------|
|
|
20
|
+
| [specs/<name>.md](specs/<name>.md) | <purpose> | draft / locked-in-{SPECS_DIR} / promoted |
|
|
21
|
+
|
|
22
|
+
## Promotion log (filled at iteration-close)
|
|
23
|
+
|
|
24
|
+
| Source | Promoted to | Date | Notes |
|
|
25
|
+
|--------|-------------|------|-------|
|
|
26
|
+
| | | | |
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Status values**: `draft` | `active` | `promoted` (link knowledge path) | `superseded` | `snapshot-only`
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
| 区域 | 典型内容 | 受众 / 权威 |
|
|
13
13
|
|------|----------|-------------|
|
|
14
14
|
| **`docs/`**(或项目约定的用户文档根) | 安装/quickstart、稳定架构概览、贡献指南、对外 API 说明 | 人类贡献者与终端用户;clone 后应可读 |
|
|
15
|
-
| **`{SPECS_DIR}`**(可选) | 冻结 v1-spec、ADR、program roadmap | 产品/API
|
|
16
|
-
| **`{ITERATION_DIR}`**(可选) |
|
|
17
|
-
| **`{KNOWLEDGE_DIR}`**(可选) | 实现细节 SSOT、架构细则、契约说明、跨版本 tracker
|
|
15
|
+
| **`{SPECS_DIR}`**(可选) | 冻结 v1-spec、ADR、program roadmap — **跨迭代长期权威** | 产品/API 规范性最高权威;**iteration-start** 由 product/architect 主写 |
|
|
16
|
+
| **`{ITERATION_DIR}`**(可选) | delivery compass + **`<iteration-id>/` workspace**(`guides/`、`specs/`) | Agent handoff;迭代级草稿;close 时 compound **提升** → knowledge |
|
|
17
|
+
| **`{KNOWLEDGE_DIR}`**(可选) | 实现细节 SSOT、架构细则、契约说明、跨版本 tracker — **经 `mstar-compound` 结晶** | Agent handoff;**不**在 iteration-start 由 product/architect 新增 |
|
|
18
18
|
| **`{PLAN_DIR}/`** | 单 plan 主文件、`reports/`、可选 `residuals/` | 计划执行与审查留档 |
|
|
19
19
|
|
|
20
20
|
|
|
@@ -23,15 +23,21 @@
|
|
|
23
23
|
## `{ITERATION_DIR}`(可选·迭代/版本级 compass)
|
|
24
24
|
|
|
25
25
|
- **物理路径**:`**{ITERATION_DIR}/**`(推荐布局下常为 `**.mstar/iterations/**`,与 `{KNOWLEDGE_DIR}`、`{PLAN_DIR}` 并列;legacy 项目可继续为 `.agents/iterations/`)。
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
26
|
+
- **放什么**:delivery compass(根目录 `*-delivery-compass*.md`);**`<iteration-id>/` 工作区** — `guides/`(探索、过程)、`specs/`(迭代级规格草案);遗留规划快照。
|
|
27
|
+
- **不放什么**:已锁定的仓库级规范(→ **`{SPECS_DIR}/`**);已提升的跨迭代实施 SSOT(→ **`{KNOWLEDGE_DIR}/`**,经 compound);单 plan QC(→ `reports/`)。
|
|
28
|
+
- **索引**:`**{ITERATION_DIR}/README.md**` 登记 compass + workspace 目录;`<iteration-id>/README.md` 登记工作区内文档。
|
|
29
|
+
- **维护**:`@product-manager` / `@architect` 起草 workspace;`**@project-manager**` 维护索引与 metadata;**iteration-close** 时 **`mstar-compound`** 盘点 workspace 并**提升**至 `{KNOWLEDGE_DIR}/`。
|
|
30
|
+
|
|
31
|
+
## `{SPECS_DIR}`(可选·长期规格)
|
|
32
|
+
|
|
33
|
+
- `{SPECS_DIR}` 解析:优先 `{HARNESS_DIR}/specs/`,否则 `{HARNESS_DIR}/designs/`;皆无则建议新建 `specs/`。
|
|
34
|
+
- **放什么**:跨迭代有效、已锁定或待锁定的产品/API 规范、ADR、契约 — **iteration-start 主产出**(product/architect)。
|
|
35
|
+
- **不放什么**:本迭代-only 探索(→ `<iteration-id>/guides/`);迭代级 spec 草案(→ `<iteration-id>/specs/`);实施踩坑原文(→ workspace 或 plan 素材,**close 时 compound 提升**)。
|
|
36
|
+
- **索引**:非 trivial 树建议 `{SPECS_DIR}/README.md`;plan **`primary_spec` / `spec_refs`** 主要指向此处。
|
|
31
37
|
|
|
32
38
|
## `{KNOWLEDGE_DIR}`(可选·实施知识库)
|
|
33
39
|
|
|
34
|
-
-
|
|
40
|
+
- **新增 SSOT 默认路径**:**iteration-close** 时经 **`mstar-compound`** 写入;**iteration-start §1.6 禁止** product/architect 新增(见 **`mstar-iteration/references/iteration-artifact-boundaries.md`**)。
|
|
35
41
|
- **必须**维护 `**{KNOWLEDGE_DIR}/README.md**` 作为**目录索引**:至少包含表格列 **Document(链接)**、**Source Plan(`plans[].id`)**、**Description**、**Status**(如 `Active` / `Superseded by implementation (<plan-id>)` / `Archived`)。
|
|
36
42
|
- 可选:目录级 `**{KNOWLEDGE_DIR}/AGENTS.md**` 承载命名、维护节奏、与 `{SPECS_DIR}` 的权威边界(Nexus 模式);harness 宽规则仍以 `mstar-plan-conventions` 与本 reference 为准。
|
|
37
43
|
- 初始化启用知识库时:创建空表头的 `README.md`,随文档递增行。
|
|
@@ -44,16 +50,21 @@
|
|
|
44
50
|
|
|
45
51
|
## 与 `status.json` 的链接
|
|
46
52
|
|
|
47
|
-
- 某 plan
|
|
53
|
+
- 某 plan 的**权威设计输入**在规格、迭代 compass 或(已有)知识库中时,在 `**plans[].metadata**` 中登记路径:`**primary_spec**` / `**spec_refs**` → 优先 **`{SPECS_DIR}/`**;`**iteration_compass**` / `**iteration_refs**` → **`{ITERATION_DIR}/`**;已有 **`{KNOWLEDGE_DIR}/`** 链接保留,但 **iteration-start 不得新增** knowledge 路径。
|
|
48
54
|
- 执行方在 **implement 前**须按 metadata 读取这些文件,并与主 plan 核对;不得在未读链接文档的情况下**静默偏离**其中已写明的决策(若需偏离,先回写 knowledge 或 plan 并走 PM/architect 门禁)。
|
|
49
55
|
|
|
50
56
|
## 维护规则
|
|
51
57
|
|
|
52
|
-
1.
|
|
58
|
+
1. **新增**:
|
|
59
|
+
- **Specs(长期)**:`{SPECS_DIR}/` → spec 索引(若有)→ `plans[].metadata` 的 `primary_spec` / `spec_refs`
|
|
60
|
+
- **迭代 workspace**:`{ITERATION_DIR}/<iteration-id>/guides|specs/` → `{ITERATION_DIR}/README.md` + workspace README → `iteration_refs`
|
|
61
|
+
- **Knowledge**:**`mstar-compound`** @ iteration-close(含 workspace **提升**)→ `{KNOWLEDGE_DIR}/README.md`
|
|
53
62
|
2. **阅读**:开发类 agent 在开始编码前,**必须**阅读当前 plan 在 `metadata` 中指向的 knowledge 文档(若存在);`@project-manager` 在 Assignment 中可再次点名路径。
|
|
54
63
|
3. **修订**:评审或规格变更若改动了 knowledge 文件,同步更新 README 中 **Status** 或 Description;版本迭代优先新文件名 `v<N+1>` 或保留旧版并标明 Superseded。
|
|
55
|
-
4.
|
|
56
|
-
|
|
64
|
+
4. **归档**:
|
|
65
|
+
- **iteration-start(强制)**:`writing-specialist` §1.6 以 **`{SPECS_DIR}/` 全库卫生为主**;对**既有** `{KNOWLEDGE_DIR}/` 仅归档/错放纠正,**不**新增 knowledge。细则 → **`mstar-iteration/references/iteration-corpus-hygiene.md`**。
|
|
66
|
+
- **其它时机**:当文档内容已完全反映到已合并代码中、且非 iteration-start 扫库时:可将索引 **Status** 标为 `Superseded by implementation (...)` 或 `Archived`;可保留原位或迁入 `archived/knowledge/`。**不要**把知识库产物搬进 `{HARNESS_DIR}/archived/plans/`(该处用于**计划行**冷快照)。
|
|
67
|
+
5. **结晶(Compound)**:PM 在 **iteration-close** 触发 **`mstar-compound`**:plan 素材 + **`{ITERATION_DIR}/<iteration-id>/` workspace 提升** → `{KNOWLEDGE_DIR}/`。不在 per-plan Done 后单独执行。维护 → **`mstar-compound-refresh`**。
|
|
57
68
|
|
|
58
69
|
## 与 `reports/`、`{PLAN_DIR}/residuals/` 的区分
|
|
59
70
|
|
|
@@ -17,9 +17,12 @@
|
|
|
17
17
|
| **SDD scratch** | `{HARNESS_DIR}/sdd/<plan-id>/`(gitignored) | `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
|
+
| **迭代工作区** | `.mstar/iterations/<iteration-id>/`(`guides/`、`specs/` 等) | `mstar-iteration`(读写);close 时 `mstar-compound`(提升读) |
|
|
20
21
|
| **迭代索引** | `.mstar/iterations/README.md` | `mstar-iteration`(读写) |
|
|
21
22
|
| **规格** | `specs/`(优先),否则 `designs/` | `mstar-plan-artifacts` |
|
|
22
23
|
| **archived residuals** | `.mstar/archived/residuals/<plan-id>.json` | `mstar-plan-artifacts` |
|
|
24
|
+
| **archived knowledge** | `.mstar/archived/knowledge/`(保留原 `{KNOWLEDGE_DIR}` 相对路径) | `mstar-iteration` §1.6 corpus hygiene、`mstar-plan-artifacts` |
|
|
25
|
+
| **archived specs** | `.mstar/archived/specs/`(保留原 `{SPECS_DIR}` 相对路径) | `mstar-iteration` §1.6 corpus hygiene、`mstar-plan-artifacts` |
|
|
23
26
|
|
|
24
27
|
## 仓库根目录(`<repo-root>/`,与 `.git/` 同级)
|
|
25
28
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**Always:** `mstar-harness-core`, `mstar-dispatch-gates`, `mstar-phase-gates` (Prepare: specify/clarify/plan), `mstar-plan-conventions` (`{PLAN_DIR}`, plan-writing path).
|
|
6
6
|
|
|
7
|
-
**Typically:** `mstar-plan-artifacts` (
|
|
7
|
+
**Typically:** `mstar-plan-artifacts` (specs, **`{ITERATION_DIR}/<id>/` workspace**); `mstar-design-md`; `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**.
|
|
8
8
|
|
|
9
9
|
**On demand:** `mstar-branch-worktree` (when committing architecture docs to the business repo).
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**Always:** `mstar-harness-core`, `mstar-dispatch-gates`, `mstar-phase-gates` (Prepare / clarify), `mstar-plan-conventions` (`{PLAN_DIR}`, plan-writing path).
|
|
6
6
|
|
|
7
|
-
**Typically:** `mstar-plan-artifacts` (specs, knowledge
|
|
7
|
+
**Typically:** `mstar-plan-artifacts` (specs, **`{ITERATION_DIR}/<id>/` workspace** — not knowledge @ start); `mstar-design-md`; `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**.
|
|
8
8
|
|
|
9
9
|
**On demand:** `mstar-branch-worktree` (when committing product docs to the business repo).
|
|
10
10
|
|
|
@@ -73,6 +73,7 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
|
|
|
73
73
|
**Execute as**: <role-id>
|
|
74
74
|
**Delegation**: forbidden | allowed (...)
|
|
75
75
|
**Execution mode**: sdd | inline | N/A
|
|
76
|
+
**SDD implementer session**: fresh | sticky | N/A — **default `fresh`**; `sticky` reuses same implementer subagent across tasks (reviewers stay fresh). See `mstar-sdd/references/sticky-implementer-session.md`
|
|
76
77
|
**SDD dir**: `{HARNESS_DIR}/sdd/<plan-id>/` | N/A
|
|
77
78
|
**Model tier**: fast | standard | capable | N/A
|
|
78
79
|
**QC mode**: full tri-review | single | N/A — **default `full tri-review` when `Execution mode: sdd`**; `single` only for `inline` / override
|
|
@@ -163,3 +164,17 @@ The **`**You are a leaf executor. You MUST NOT:**`** section (previously just pr
|
|
|
163
164
|
|
|
164
165
|
For host behavior details (dispatch turn shape, paste-only failure mode, invoke-count discipline),
|
|
165
166
|
read `mstar-host` → the active host reference and `references/parallel-dispatch.md` as host SSOT for dispatch.
|
|
167
|
+
|
|
168
|
+
## SDD vs inline implement Assignment(PM)
|
|
169
|
+
|
|
170
|
+
| Mode | Who loads `mstar-sdd` | Assignment shape |
|
|
171
|
+
|------|----------------------|------------------|
|
|
172
|
+
| **`Execution mode: sdd`**(多 task 默认;iteration Phase 2 默认) | **PM** before first implement dispatch | **Per task**:one implementer dispatch + one **fresh** task reviewer;prompt 只含 `{SDD_DIR}/task-N-brief.md` + report 路径 |
|
|
173
|
+
| **`SDD implementer session: sticky`** | PM | Task 1: `fresh` or start sticky + `implementer-session.json`; Task 2+: host **resume** + continuation prompt — **still** per-task review |
|
|
174
|
+
| **`Execution mode: inline`**(hotfix / 单 task) | PM optional | One leaf Assignment;可含完整 scope,但仍须 canonical 字段 |
|
|
175
|
+
|
|
176
|
+
**NEVER(SDD)**:
|
|
177
|
+
|
|
178
|
+
- 把整份 plan 或 T1–Tn 全文贴进 **一个** `fullstack-dev` leaf Assignment。
|
|
179
|
+
- 省略 `Execution mode` / `SDD dir` / `Model tier` 却期望 SDD 产物(`progress.md`、per-task review)。
|
|
180
|
+
- 期望 leaf `fullstack-dev` 载入 `mstar-sdd` 并自编排 per-task 循环 — **编排仅 PM**(`iteration-drive` / `mstar-iteration` §2.4–2.5)。
|
|
@@ -138,9 +138,15 @@ Before first implement dispatch (non-hotfix):
|
|
|
138
138
|
|
|
139
139
|
If any fail -> do not dispatch implement.
|
|
140
140
|
|
|
141
|
-
### PM entry sessions
|
|
141
|
+
### PM entry sessions
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
| Entry | Next reads |
|
|
144
|
+
|-------|------------|
|
|
145
|
+
| **`/pm`** or **`pm` skill** (Codex, Cursor; OpenCode when no command) | This shim → **`project-manager.md`** § Required Reading + topic skills on demand |
|
|
146
|
+
| **Cursor / OpenCode** **`commands/`** (`iteration-start`, `iteration-drive`, `mstar-bootstrap`) | Command **Boot** + **`project-manager.md`** — iteration lifecycle only; **not** required for ordinary per-plan PM |
|
|
147
|
+
| **OpenCode** (no command, not `/pm`) | `project-manager` + `mstar-host` → `opencode.md` |
|
|
148
|
+
|
|
149
|
+
**Dispatch-first**, iteration branch policy(`iteration_base_branch` / `spec_integration_branch` / `target_branch`), Autonomous Execute → **`mstar-iteration`** §2. Routing, gates, Task Board, QC, templates → this file + topic `mstar-*` skills.
|
|
144
150
|
|
|
145
151
|
---
|
|
146
152
|
|
|
@@ -36,6 +36,7 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
|
|
|
36
36
|
3. Marketing/copy writing
|
|
37
37
|
4. Script writing
|
|
38
38
|
5. Tone/style adaptation by audience
|
|
39
|
+
6. **iteration-start corpus hygiene** (§1.6 step 3): specs-first hygiene; misplaced drafts → **`{ITERATION_DIR}/<iteration-id>/`** workspace — **`iteration-artifact-boundaries.md`** + **`iteration-corpus-hygiene.md`**. **Promotion** workspace → knowledge is **`mstar-compound`** @ iteration-close only.
|
|
39
40
|
|
|
40
41
|
## Scope Boundaries
|
|
41
42
|
|
|
@@ -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). **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
|
|
@@ -19,7 +19,9 @@ If you were dispatched as an SDD implementer or task reviewer, skip PM orchestra
|
|
|
19
19
|
|
|
20
20
|
## Core principle
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
**Default:** fresh implementer subagent per task + task review (spec + quality) + plan-level QC on whole branch = quality with isolated context.
|
|
23
|
+
|
|
24
|
+
**Optional:** **`SDD implementer session: sticky`** — same implementer subagent across sequential tasks on one plan/branch; **task reviewers stay fresh per task**. SSOT → **`references/sticky-implementer-session.md`**.
|
|
23
25
|
|
|
24
26
|
**Narration:** at most one short line between tool calls — ledger and file paths carry the record.
|
|
25
27
|
|
|
@@ -39,11 +41,13 @@ Batch all findings for the human in one message. If clean, proceed silently.
|
|
|
39
41
|
1. Record `BASE_SHA` (never use `HEAD~1` later)
|
|
40
42
|
2. `sdd-workspace <plan-id>` → `SDD_DIR`
|
|
41
43
|
3. `task-brief <plan> N` → brief file
|
|
42
|
-
4. Dispatch implementer
|
|
44
|
+
4. Dispatch implementer:
|
|
45
|
+
- **`SDD implementer session: fresh`** (default) — new subagent; templates: `references/implementer-prompt.md`
|
|
46
|
+
- **`SDD implementer session: sticky`** — first task: same as fresh + write `{SDD_DIR}/implementer-session.json` with `host_agent_id`; later tasks: host **resume** + `references/implementer-continuation-prompt.md` (see **`references/sticky-implementer-session.md`**)
|
|
43
47
|
5. On `DONE`: `review-package BASE HEAD` → diff file
|
|
44
|
-
6. Dispatch task reviewer (brief, report, diff, Global Constraints) — `references/task-reviewer-prompt.md`
|
|
48
|
+
6. Dispatch **fresh** task reviewer (brief, report, diff, Global Constraints) — `references/task-reviewer-prompt.md` — **never** sticky resume for reviewers
|
|
45
49
|
7. Fix loop for Critical/Important; re-review until approved
|
|
46
|
-
8. Append `progress.md`; update `status.json` `task_commits[]` if
|
|
50
|
+
8. Append `progress.md`; update `status.json` `task_commits[]` and `implementer-session.json` `last_task` if sticky
|
|
47
51
|
9. Next task
|
|
48
52
|
|
|
49
53
|
**Never** dispatch multiple implementers in parallel (write conflicts).
|
|
@@ -100,6 +104,8 @@ Minor findings → `## Minor (for plan QC)` section in same file.
|
|
|
100
104
|
- Skip task review or accept missing verdict
|
|
101
105
|
- Re-dispatch tasks listed complete in ledger
|
|
102
106
|
- PM thread implements instead of subagent dispatch
|
|
107
|
+
- Sticky **resume** for task reviewers
|
|
108
|
+
- Resume implementer without `host_agent_id` in `implementer-session.json`
|
|
103
109
|
|
|
104
110
|
## Scripts
|
|
105
111
|
|
|
@@ -114,5 +120,7 @@ From repo: `skills/mstar-sdd/scripts/` (bundled in OpenCode as `harness-skills/m
|
|
|
114
120
|
## References
|
|
115
121
|
|
|
116
122
|
- `references/file-handoffs.md` — paths and fix-loop evidence
|
|
123
|
+
- `references/sticky-implementer-session.md` — `fresh` vs `sticky`, ledger, host resume, micro-batch fallback
|
|
117
124
|
- `references/implementer-prompt.md`
|
|
125
|
+
- `references/implementer-continuation-prompt.md`
|
|
118
126
|
- `references/task-reviewer-prompt.md`
|
|
@@ -13,6 +13,7 @@ PM and subagents move artifacts as **files**, not pasted text. Pasted content st
|
|
|
13
13
|
- Interfaces / decisions brief cannot know
|
|
14
14
|
- Report path: `$SDD_DIR/task-N-report.md`
|
|
15
15
|
- `Model tier` → host-specific model (required)
|
|
16
|
+
- **`SDD implementer session`**: `fresh` (new subagent) or `sticky` (resume — see **`sticky-implementer-session.md`**)
|
|
16
17
|
|
|
17
18
|
## Implementer report file
|
|
18
19
|
|
|
@@ -71,3 +72,5 @@ Do not paste:
|
|
|
71
72
|
- Full diff content
|
|
72
73
|
|
|
73
74
|
Fresh subagent gets: brief + interfaces + constraints + file paths only.
|
|
75
|
+
|
|
76
|
+
**Sticky implementer** (task 2+): resume same session; read new brief path + `progress.md` — do not re-paste prior task summaries. PM updates `implementer-session.json`.
|