@mstar-harness/opencode 1.3.2 → 1.5.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 +12 -0
- package/harness-commands/iteration-drive.md +29 -25
- package/harness-commands/iteration-loop.md +14 -13
- package/harness-commands/iteration-start.md +2 -0
- package/harness-skills/mstar-branch-worktree/SKILL.md +42 -4
- package/harness-skills/mstar-branch-worktree/references/parallel-writable-pre-dispatch.md +14 -2
- package/harness-skills/mstar-dispatch-gates/SKILL.md +11 -4
- package/harness-skills/mstar-harness-core/SKILL.md +6 -2
- package/harness-skills/mstar-host/SKILL.md +3 -2
- package/harness-skills/mstar-host/references/kimi-plan-mode-bridge.md +55 -0
- package/harness-skills/mstar-host/references/kimi.md +163 -0
- package/harness-skills/mstar-host/references/parallel-dispatch.md +2 -2
- package/harness-skills/mstar-iteration/SKILL.md +53 -19
- package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +179 -0
- package/harness-skills/mstar-plan-artifacts/SKILL.md +1 -0
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +167 -0
- package/harness-skills/mstar-plan-artifacts/templates/README.md +1 -1
- package/harness-skills/mstar-roles/references/project-manager.md +6 -0
- package/harness-skills/pm/SKILL.md +3 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to the `@mstar-harness/opencode` package are documented in t
|
|
|
4
4
|
|
|
5
5
|
The monorepo root [CHANGELOG.md](../../CHANGELOG.md) summarizes cross-surface releases.
|
|
6
6
|
|
|
7
|
+
## 1.5.0
|
|
8
|
+
|
|
9
|
+
- Version alignment with harness **1.5.0** (bundled skills/commands: iteration Phase 2 worktree/lease + Phase 5 babysit-first helpers).
|
|
10
|
+
|
|
11
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.5.0**.
|
|
12
|
+
|
|
13
|
+
## 1.4.0
|
|
14
|
+
|
|
15
|
+
- Version alignment with harness **1.4.0** (Kimi Code host support lives in shared skills / `.kimi-plugin`; OpenCode package unchanged beyond version bump).
|
|
16
|
+
|
|
17
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.4.0**.
|
|
18
|
+
|
|
7
19
|
## 1.3.2
|
|
8
20
|
|
|
9
21
|
- Bundled commands: `/iteration-start` Cursor Plan path — feedback-driven plan updates; deferred grill after feedback-close; single CreatePlan URI (in-place edits only).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: iteration-drive
|
|
3
|
-
description: Drive the active iteration to completion — Phase 2 Autonomous Execute, Phase 3 iteration-close, Phase 4 Create PR, Phase 5 PR merge-ready loop (greploop
|
|
3
|
+
description: Drive the active iteration to completion — Phase 2 Autonomous Execute, Phase 3 iteration-close, Phase 4 Create PR, Phase 5 PR merge-ready loop (prefer babysit/*-babysit; optional greploop when repo has it; else CI fallback) until mergeable. Not Done until Phase 5 exit checklist passes.
|
|
4
4
|
agent: project-manager
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -32,9 +32,9 @@ Phase 2: Autonomous Execute → Phase 3: iteration-close → Phase 4: Create
|
|
|
32
32
|
| 禁止 | 必须 |
|
|
33
33
|
|------|------|
|
|
34
34
|
| plan / task / phase 边界问用户「是否继续」「要不要现在启动」「是否开 PR」等例行 yes/no | 进度摘要后**下一条动作** = **dispatch**(`Task`)或下一 phase 步骤(打印 checklist → 执行) |
|
|
35
|
-
| 用完整 Phase 2 汇报收束 turn 后等待用户 | 同 plan 内 task 间 → **`mstar-sdd` Continuous execution
|
|
35
|
+
| 用完整 Phase 2 汇报收束 turn 后等待用户 | 同 plan 内 task 间 → **`mstar-sdd` Continuous execution**;其他 plan 可 **lease 门控并行** implement;merge 仍串行 |
|
|
36
36
|
| 把 `## Phase 3/4/5` 标题当作可停下协商点(除合法 STOP) | Phase 3 checklist `[x]` → **立刻** Phase 4;PR 创建后 → **立刻** Phase 5 loop |
|
|
37
|
-
| 跨 plan
|
|
37
|
+
| 跨 plan **无 lease** 并行 implement | **默认 lease 门控并行**(distinct `execution_lease` + feature worktree);显式 `Plan parallelism: serial` 可恢复逐 plan 串行 |
|
|
38
38
|
|
|
39
39
|
**合法 STOP(仅此升级用户)**:
|
|
40
40
|
|
|
@@ -79,12 +79,13 @@ SSOT 细化:`mstar-sdd`(task 级)· `mstar-iteration` §2.6(push 纪律
|
|
|
79
79
|
6. **`mstar-sdd`** — **before first implement dispatch** in Phase 2(per-task loop SSOT;多 task plan 默认 `Execution mode: sdd`)
|
|
80
80
|
7. `mstar-review-qc` — before first QC dispatch in Phase 2
|
|
81
81
|
8. `mstar-plan-artifacts`, `mstar-plan-conventions`, `mstar-branch-worktree`
|
|
82
|
+
9. **`mstar-iteration/references/phase-2-worktree-lease.md`** — Phase 2 control worktree、`execution_lease`、serial `integration_merge_lease`(§2.0 #5 未 waive)
|
|
82
83
|
|
|
83
84
|
## Phase 2: Autonomous Execute
|
|
84
85
|
|
|
85
86
|
**Continuous execution applies** — 本节全程遵守上节 **Continuous execution(HARD)**;Completion Report / 进度同步后不得 check-in,下一条必须是 dispatch 或下一 plan。
|
|
86
87
|
|
|
87
|
-
**Branch policy first** — before any plan dispatch(`mstar-iteration` §2.3
|
|
88
|
+
**Branch policy + control worktree first** — before any plan dispatch(`mstar-iteration` §2.3 + **`references/phase-2-worktree-lease.md`**):
|
|
88
89
|
|
|
89
90
|
| Field | SSOT | If missing |
|
|
90
91
|
|-------|------|------------|
|
|
@@ -94,12 +95,13 @@ SSOT 细化:`mstar-sdd`(task 级)· `mstar-iteration` §2.6(push 纪律
|
|
|
94
95
|
|
|
95
96
|
Execute **`mstar-iteration` § Phase 2** exactly. Summary:
|
|
96
97
|
|
|
97
|
-
1. **Precondition gate** (§ 2.0) — **
|
|
98
|
+
1. **Precondition gate** (§ 2.0) — **five** checks(含 branch metadata #4 + control-worktree/lease #5)
|
|
98
99
|
2. **Session todos** (§ 2.1) — set host todos per plan wave
|
|
99
100
|
3. **Read backlog** (§ 2.2) — `status.json` + branch metadata
|
|
100
|
-
4. **Integration branch** (§ 2.3) —
|
|
101
|
-
5. **Per-plan loop** (§ 2.4) — for each
|
|
102
|
-
-
|
|
101
|
+
4. **Integration branch + control worktree** (§ 2.3) — establish control worktree on `spec_integration_branch`; record `metadata.control_worktree_path`; status/SDD via control path
|
|
102
|
+
5. **Per-plan loop** (§ 2.4) — for each active plan(**lease-gated parallel** across plan IDs unless `Plan parallelism: serial`):
|
|
103
|
+
- Claim or resume `execution_lease`(same `holder` → verify-held-lease; different holder → Blocked)
|
|
104
|
+
- Create/verify plan feature worktree + branch(`Worktree path` in Assignment)
|
|
103
105
|
- **SDD implement**(默认 `Execution mode: sdd`;`mstar-sdd` 已载入)— per task **串行**:
|
|
104
106
|
1. `sdd-workspace <plan-id>` → `{SDD_DIR}`
|
|
105
107
|
2. `task-brief <plan> N` → `{SDD_DIR}/task-N-brief.md`
|
|
@@ -111,9 +113,9 @@ Execute **`mstar-iteration` § Phase 2** exactly. Summary:
|
|
|
111
113
|
- **禁止**:把整份 plan 或 T1–Tn 全文贴进 implement dispatch;文件交接 SSOT → `mstar-sdd/references/file-handoffs.md`
|
|
112
114
|
- Update `status.json` + main plan after each Completion Report v2
|
|
113
115
|
- QC **full tri-review** (`QC mode: full tri-review`, **N=3**, `mstar-review-qc`) + branch `review-package` + QA per plan
|
|
114
|
-
-
|
|
116
|
+
- **Serial merge** plan branch → integration(`metadata.integration_merge_lease` from control worktree)
|
|
115
117
|
- Cross-plan progress sync → compass
|
|
116
|
-
- Next plan
|
|
118
|
+
- Next plan / parallel wave
|
|
117
119
|
6. Repeat until **all** plans `Done` → **STOP**(见 Phase state machine)→ 打印 `## Phase 3: iteration-close` → 执行 **`mstar-iteration` §3**;**不得**进入 Phase 4
|
|
118
120
|
|
|
119
121
|
派发回合纪律 → **`mstar-dispatch-gates`** + **`mstar-iteration` §2.5**。
|
|
@@ -170,20 +172,22 @@ Before the first loop pass, search for bundled/host skills(first readable `SKI
|
|
|
170
172
|
|
|
171
173
|
| Skill | Search paths(示例,按宿主扩展) |
|
|
172
174
|
|-------|----------------------------------|
|
|
173
|
-
| `
|
|
174
|
-
| `
|
|
175
|
+
| `babysit` / `*-babysit` | `skills/babysit/SKILL.md`;`skills/*-babysit/SKILL.md`;`~/.cursor/skills-cursor/babysit/SKILL.md`;`~/.cursor/skills-cursor/*-babysit/SKILL.md`;`~/.agents/skills/babysit/SKILL.md`;`~/.agents/skills/*-babysit/SKILL.md` |
|
|
176
|
+
| `greploop`(optional) | `skills/greploop/SKILL.md`;`~/.cursor/skills-cursor/greploop/SKILL.md`;`~/.agents/skills/greploop/SKILL.md`;Codex plugin `skills/greploop/` — **only adopt when the repo uses Greptile / has greploop** |
|
|
175
177
|
|
|
176
|
-
**Mode selection
|
|
178
|
+
**Mode selection**(**babysit-first**):
|
|
177
179
|
|
|
178
180
|
| Priority | Condition | Read before loop | Primary done signal |
|
|
179
181
|
|----------|-----------|------------------|---------------------|
|
|
180
|
-
| 1 | `
|
|
181
|
-
| 2 |
|
|
182
|
-
| 3 | else neither | —(本 command §5.2–§5.4) | Required CI **all green** + **all** review threads **resolved** |
|
|
182
|
+
| 1 | `babysit` **or** any `*-babysit` found | that skill’s `SKILL.md`(prefer exact `babysit`, else first matching `*-babysit`) | Required CI **all green** + **all** review threads **resolved** |
|
|
183
|
+
| 2 | `greploop` found **and** repo has Greptile/greploop | `greploop` SKILL.md | Greptile score **5/5** on this PR(**additive** — does not replace priority-1 gates) |
|
|
184
|
+
| 3 | else neither babysit/`*-babysit` | —(本 command §5.2–§5.4) | Required CI **all green** + **all** review threads **resolved** |
|
|
183
185
|
|
|
184
|
-
**Both
|
|
186
|
+
**Both babysit/`*-babysit` and greploop apply**: run **babysit/`*-babysit` first**(CI + reviews),then optional greploop until Greptile **5/5**(串行;§5.5 仍须满足全部 exit 项). Do **not** prefer greploop over babysit.
|
|
185
187
|
|
|
186
|
-
**
|
|
188
|
+
**No greploop / repo without Greptile**: skip greploop entirely — babysit/`*-babysit` or fallback only.
|
|
189
|
+
|
|
190
|
+
**All modes** share §5.5 exit checklist(CI + reviews + mergeable;Greptile 5/5 only when greploop mode ran or repo shows a Greptile score).
|
|
187
191
|
|
|
188
192
|
### 5.1 PM invariants(Phase 5)
|
|
189
193
|
|
|
@@ -204,12 +208,12 @@ Repeat until §5.5 exit checklist passes:
|
|
|
204
208
|
3. **Active reviews** — fetch **unresolved** review threads only;triage valid change requests
|
|
205
209
|
4. **CI** — list failing required checks;dispatch or fix in-scope → push
|
|
206
210
|
5. **Mode-specific pass**:
|
|
207
|
-
- **
|
|
208
|
-
- **
|
|
209
|
-
- **fallback
|
|
211
|
+
- **babysit / `*-babysit`**: follow that SKILL(comments + CI loop)— **primary**
|
|
212
|
+
- **greploop**(optional, repo has it): follow greploop SKILL until Greptile **5/5** — **after** babysit/`*-babysit` gates when both apply
|
|
213
|
+
- **fallback**(no babysit/`*-babysit`): triage unresolved review threads(§5.3)+ poll CI until all required checks green(no skill Read;**与 babysit 同级的 CI + reviews 门禁**)
|
|
210
214
|
6. After each push → §5.3 → return to step 1
|
|
211
215
|
|
|
212
|
-
**Stop looping only when** §5.5 全 `[x]`。若多轮仍 blocked → 升级用户(列出 failing checks / unresolved threads / Greptile score)。
|
|
216
|
+
**Stop looping only when** §5.5 全 `[x]`。若多轮仍 blocked → 升级用户(列出 failing checks / unresolved threads / Greptile score if greploop mode)。
|
|
213
217
|
|
|
214
218
|
### 5.3 Review fix hygiene(HARD — all modes)
|
|
215
219
|
|
|
@@ -221,9 +225,9 @@ Whenever a push addresses PR review feedback(human or bot, including Bugbot /
|
|
|
221
225
|
|
|
222
226
|
Do not bulk-resolve without a per-thread reply. Disagree or uncertain → reply explaining why; leave unresolved and escalate.
|
|
223
227
|
|
|
224
|
-
### 5.4 Fallback mode detail(no
|
|
228
|
+
### 5.4 Fallback mode detail(no babysit / `*-babysit`)
|
|
225
229
|
|
|
226
|
-
When
|
|
230
|
+
When no `babysit` / `*-babysit` skill is found, **本 command 承担 babysit 同级职责**(无外部 SKILL,但 exit 标准相同)。`greploop` alone does **not** replace babysit — if only greploop is present and the repo has Greptile, still run §5.4 for CI + reviews, and optionally greploop for score:
|
|
227
231
|
|
|
228
232
|
1. Fetch **unresolved** review threads;triage valid change requests → dispatch fix → push → §5.3 comment + resolve
|
|
229
233
|
2. Poll PR required checks until **all green**(reasonable backoff between polls)
|
|
@@ -238,7 +242,7 @@ When neither skill is found, **本 command 承担 babysit 同级职责**(无
|
|
|
238
242
|
- [ ] PR mergeable(无 blocking merge conflicts)
|
|
239
243
|
- [ ] All **required** CI checks green on latest head
|
|
240
244
|
- [ ] All review threads **resolved**(或用户书面 waive 特定 thread)
|
|
241
|
-
- [ ] Greptile **5/5
|
|
245
|
+
- [ ] Greptile **5/5**(**仅当**采用了可选 greploop mode,或 repo 启用 Greptile 且 PR 上可见分数;无 Greptile 则本项 N/A)
|
|
242
246
|
- [ ] §5.3 comment + resolve 已完成于本轮所有 addressed reviews
|
|
243
247
|
- [ ] Host todo `phase-5-pr-merge-ready` 可勾选
|
|
244
248
|
|
|
@@ -62,8 +62,8 @@ Phase 1: Autonomous start → Phase 2: Autonomous Execute → Phase 3: close
|
|
|
62
62
|
| 禁止 | 必须 |
|
|
63
63
|
|------|------|
|
|
64
64
|
| 方向 / plan / phase 边界例行 yes/no(「是否同意该方向」「要不要继续」「是否开 PR」) | 进度摘要后**下一条** = dispatch 或下一 phase 步骤 |
|
|
65
|
-
| 用 Phase 汇报收束 turn 后等待用户 | Phase 1 lock → **立刻** Phase 2;plan
|
|
66
|
-
| 跨 plan 并行 implement |
|
|
65
|
+
| 用 Phase 汇报收束 turn 后等待用户 | Phase 1 lock → **立刻** Phase 2;plan 可 lease 门控并行 implement;merge 串行 |
|
|
66
|
+
| 跨 plan 无 lease 并行 implement | **默认 lease 门控并行**;`Plan parallelism: serial` 恢复逐 plan 串行 |
|
|
67
67
|
|
|
68
68
|
**合法 STOP(仅此升级用户)**:
|
|
69
69
|
|
|
@@ -119,6 +119,7 @@ Phase 1: Autonomous start → Phase 2: Autonomous Execute → Phase 3: close
|
|
|
119
119
|
9. **`mstar-sdd`** — before first implement dispatch in Phase 2
|
|
120
120
|
10. `mstar-review-qc` — before first QC dispatch in Phase 2
|
|
121
121
|
11. `mstar-branch-worktree` — when Git/write or QC checkout
|
|
122
|
+
12. **`mstar-iteration/references/phase-2-worktree-lease.md`** — Phase 2 control worktree + lease(§2.0 #5 未 waive)
|
|
122
123
|
|
|
123
124
|
**Do not** Read `skills/grill-me/SKILL.md` for this command.
|
|
124
125
|
|
|
@@ -218,15 +219,15 @@ Register branch fields in compass + `status.json`. Commit docs; push.
|
|
|
218
219
|
|
|
219
220
|
## Phase 2: Autonomous Execute
|
|
220
221
|
|
|
221
|
-
**Continuous execution applies.** Branch policy first(`mstar-iteration` §2.3
|
|
222
|
+
**Continuous execution applies.** Branch policy + control worktree first(`mstar-iteration` §2.3 + **`references/phase-2-worktree-lease.md`**).
|
|
222
223
|
|
|
223
224
|
Execute **`mstar-iteration` § Phase 2** exactly. Summary:
|
|
224
225
|
|
|
225
|
-
1. Precondition gate §2.0(
|
|
226
|
+
1. Precondition gate §2.0(five checks;含 control-worktree + lease defaults)
|
|
226
227
|
2. Session todos §2.1
|
|
227
228
|
3. Read backlog §2.2
|
|
228
|
-
4. Integration branch §2.3
|
|
229
|
-
5. Per-plan loop §2.4 — **
|
|
229
|
+
4. Integration branch + control worktree §2.3
|
|
230
|
+
5. Per-plan loop §2.4 — **lease-gated parallel** across plan IDs(unless `Plan parallelism: serial`);claim/resume `execution_lease`;feature worktree;**SDD** default;serial merge via `integration_merge_lease`
|
|
230
231
|
6. All plans `Done` → print `## Phase 3: iteration-close` → **`mstar-iteration` §3**(不得开 PR)
|
|
231
232
|
|
|
232
233
|
派发纪律 → **`mstar-dispatch-gates`** + **`mstar-iteration` §2.5**。
|
|
@@ -264,16 +265,16 @@ Execute **`mstar-iteration` § Phase 5**。**§5.5 exit 全 `[x]` = iteration-lo
|
|
|
264
265
|
|
|
265
266
|
| Skill | Search paths(示例) |
|
|
266
267
|
|-------|----------------------|
|
|
267
|
-
| `
|
|
268
|
-
| `
|
|
268
|
+
| `babysit` / `*-babysit` | `skills/babysit/SKILL.md`;`skills/*-babysit/SKILL.md`;`~/.cursor/skills-cursor/babysit/`;`~/.agents/skills/babysit/`(及 `*-babysit`) |
|
|
269
|
+
| `greploop`(optional) | `skills/greploop/…`;host skill dirs — **only when repo has Greptile/greploop** |
|
|
269
270
|
|
|
270
271
|
| Priority | Condition | Primary done signal |
|
|
271
272
|
|----------|-----------|---------------------|
|
|
272
|
-
| 1 | `
|
|
273
|
-
| 2 |
|
|
274
|
-
| 3 | else neither | Same as babysit(本 command fallback) |
|
|
273
|
+
| 1 | `babysit` or any `*-babysit` | Required CI green + reviews resolved |
|
|
274
|
+
| 2 | `greploop` **and** repo has Greptile | Greptile **5/5**(additive) |
|
|
275
|
+
| 3 | else neither babysit/`*-babysit` | Same as babysit(本 command fallback) |
|
|
275
276
|
|
|
276
|
-
Both
|
|
277
|
+
Both apply: **babysit/`*-babysit` first**, then optional greploop(串行). Do not prefer greploop over babysit.
|
|
277
278
|
|
|
278
279
|
### 5.1–5.4 Loop
|
|
279
280
|
|
|
@@ -288,7 +289,7 @@ Fixes push to `spec_integration_branch` only. PM does not rewrite product code i
|
|
|
288
289
|
- [ ] PR mergeable
|
|
289
290
|
- [ ] All **required** CI checks green on latest head
|
|
290
291
|
- [ ] All review threads **resolved**(或用户书面 waive)
|
|
291
|
-
- [ ] Greptile **5/5
|
|
292
|
+
- [ ] Greptile **5/5**(**仅当**可选 greploop mode / repo 可见分数;否则 N/A)
|
|
292
293
|
- [ ] Review comment + resolve 已覆盖本轮 addressed feedback
|
|
293
294
|
- [ ] Host todo `phase-5-pr-merge-ready` 可勾选
|
|
294
295
|
|
|
@@ -280,4 +280,6 @@ git checkout -b <spec_integration_branch> <iteration_base_branch>
|
|
|
280
280
|
- Register `iteration_base_branch`, `spec_integration_branch`, and `target_branch` in compass frontmatter **and** `{HARNESS_DIR}/status.json` root `metadata`
|
|
281
281
|
- Commit all documents to the integration branch and push to remote
|
|
282
282
|
|
|
283
|
+
**Phase 2 note**:integration 分支在此创建;**control worktree + `execution_lease` 门控在 Phase 2 入口**(`iteration-drive` / `iteration-loop`)——见 **`mstar-iteration/references/phase-2-worktree-lease.md`**。
|
|
284
|
+
|
|
283
285
|
**STOP** if `iteration_base_branch` or `target_branch` is missing. Ask the user or derive only from an already documented project/iteration policy; never silently substitute `main`.
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-branch-worktree
|
|
3
|
-
description: Morning Star business-repo Git feature branches,
|
|
3
|
+
description: Morning Star business-repo Git feature branches, worktree isolation layers **L1** (iteration cross-plan — control worktree + per-plan feature worktrees + `execution_lease`) and **L2** (within-plan — `references/parallel-writable-pre-dispatch.md`; N parallel Task invokes do NOT satisfy isolation), plan/Spec integration branches, and QC/QA checkout alignment (`Review cwd`, `Working branch`, `plan_id`, `Review range` / `Diff basis` must match verbatim across three QC reviewers and QA). Read when PM writes `Working branch` / `Branch policy`, iteration Phase 2 control vs feature worktree paths, dispatches ≥2 concurrent writable implement tracks on one repo, `Worktree isolation: required`, two or more writable streams touch one repo, dispatching QC tri-review or QA after merging to a single `HEAD`, dev/QA/ops before first `git commit`, or explaining worktree paths. Required for `project-manager` parallel implement or pre-QC orchestration; `fullstack-dev*` / `frontend-dev` / `qa-engineer` / `ops-engineer` on repo writes; `qc-specialist*` before review. Does not replace the state machine (`mstar-harness-core`).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Load order(必读顺序)
|
|
7
7
|
|
|
8
8
|
**首次 Read 本 skill 前:必须先 Read `mstar-harness-core`(SKILL.md)。** 冲突时 **以 `mstar-harness-core` 为准**。
|
|
9
9
|
|
|
10
|
-
**Spec 多 plan 命名**(`iteration_base_branch`、`spec_integration_branch`、`target_branch` PR 门禁)→ **`mstar-plan-conventions
|
|
10
|
+
**Spec 多 plan 命名**(`iteration_base_branch`、`spec_integration_branch`、`target_branch` PR 门禁)→ **`mstar-plan-conventions`**。**L1/L2 worktree 分层**(迭代 control vs feature、plan 内并行轨)→ 下文 **「Worktree isolation layers」**;**L2** 同仓并行可写派发前清单 → **`references/parallel-writable-pre-dispatch.md`**;迭代 lease claim/merge 细则 → **`mstar-iteration`** `references/phase-2-worktree-lease.md`(勿在本 skill 重复完整协议表)。下文为分支与 QC/QA 检出对齐主文。
|
|
11
11
|
|
|
12
12
|
## Scope(摘要)
|
|
13
13
|
|
|
14
14
|
- **仅 PM 决定分支**;其他可写角色不得自行新开分支或切回 `main`。
|
|
15
15
|
- **Assignment 须含其一**:`Working branch: <existing>` | `create <new> from <base>` | `Branch policy: direct on <branch> — <reason>`。
|
|
16
|
-
-
|
|
16
|
+
- **L1(跨 plan / 迭代 Phase 2)**:control worktree(`metadata.control_worktree_path`,检出 `spec_integration_branch`)+ 每 plan 独立 feature worktree(`execution_lease.worktree_path` **≠** control 路径)+ lease;见 **「Worktree isolation layers」**。
|
|
17
|
+
- **L2(同 plan 内 ≥2 可写并发)**:派发 **前** 完成 **`references/parallel-writable-pre-dispatch.md`**(含 `git worktree`、绝对 **`Worktree path`**;**N 次并行 invoke ≠ 已隔离**)。单 plan 多轨时 **L1 不替代 L2**。
|
|
17
18
|
- **QC/QA 前**:待审提交归并到 **单一 `Working branch` `HEAD`**;三审 + QA 共用一套 **`Review cwd` + `plan_id` + `Review range` / `Diff basis`**(逐字相同)。
|
|
18
19
|
|
|
19
20
|
## Git 功能分支、同仓并发与 Worktree 对齐
|
|
@@ -99,9 +100,46 @@ description: Morning Star business-repo Git feature branches, same-repo concurre
|
|
|
99
100
|
|
|
100
101
|
- `Working branch used: <branch-name>`
|
|
101
102
|
|
|
103
|
+
## Worktree isolation layers (L1 vs L2)
|
|
104
|
+
|
|
105
|
+
Two complementary **worktree** isolation layers coexist. Do **not** conflate them with SDD **review** layers (L1–L4 in `mstar-review-qc/references/review-responsibility-boundaries.md`).
|
|
106
|
+
|
|
107
|
+
| Layer | Scope | When | Mechanism |
|
|
108
|
+
|-------|-------|------|-----------|
|
|
109
|
+
| **L1** | Cross-plan (iteration Phase 2) | Multiple plans may implement concurrently in one iteration | **Control worktree** + per-plan **feature worktrees** + `plans[].execution_lease` |
|
|
110
|
+
| **L2** | Within-plan | Same `plan_id`, same business repo, **≥2 concurrent writable implement tracks** | **`references/parallel-writable-pre-dispatch.md`** — distinct absolute **`Worktree path`** per track |
|
|
111
|
+
|
|
112
|
+
**Stacking rules**
|
|
113
|
+
|
|
114
|
+
- Default **L1** capacity is **one writable track per plan**. If one plan runs **≥2** concurrent writable tracks, each track **also** satisfies **L2**; L1 does **not** replace L2.
|
|
115
|
+
- **L1** applies under iteration commands with Phase 2 control-worktree defaults (unless explicit `Worktree mode: waived` this turn). Single-plan waves without iteration leases still require **L2** when **≥2** parallel writable tracks share one repo.
|
|
116
|
+
- Cross-plan **integration merge** into `spec_integration_branch` remains **serial** (`metadata.integration_merge_lease`) even when L1 feature implementation runs in parallel.
|
|
117
|
+
|
|
118
|
+
### Control worktree vs feature worktree (iteration / L1)
|
|
119
|
+
|
|
120
|
+
Established at iteration **Phase 2 entry** (Phase 1 Review & Edit may stay on the primary checkout). Normative field names and claim/release/merge protocol → **`mstar-iteration`** `references/phase-2-worktree-lease.md` and maintenance ADR `2026-07-22-iteration-worktree-plan-lease.md`. **Do not invent alternate lease field names in this skill.**
|
|
121
|
+
|
|
122
|
+
| Worktree role | Checked-out branch | Path recorded in `status.json` | Writable product edits |
|
|
123
|
+
|---------------|-------------------|-------------------------------|------------------------|
|
|
124
|
+
| **Control worktree** | Resolved `spec_integration_branch` (same across active plans) | `metadata.control_worktree_path` — canonical **repository root** (not `{HARNESS_DIR}`) | **Forbidden** — coordination, status/SDD SSOT, serial integration merge only |
|
|
125
|
+
| **Feature worktree** (per plan) | Plan `Working branch` / feature branch from integration | `plans[].execution_lease.worktree_path` | **Required cwd** for that plan's product/source edits |
|
|
126
|
+
|
|
127
|
+
**Hard rules**
|
|
128
|
+
|
|
129
|
+
- `execution_lease.worktree_path` **MUST** differ from `metadata.control_worktree_path`.
|
|
130
|
+
- Status SSOT: `<control_worktree_path>/{HARNESS_DIR}/status.json`. SDD SSOT: `<control_worktree_path>/{HARNESS_DIR}/sdd/<plan-id>/`. A feature worktree's same-looking `{HARNESS_DIR}` path is **not** the SSOT.
|
|
131
|
+
- Absolute **`Worktree path`** MUST appear in the writable Assignment and in `execution_lease.worktree_path` before first writable implement dispatch for that plan.
|
|
132
|
+
- Writable dispatch for a plan requires a **verified** `execution_lease` (same read-check-replace-verify discipline as the iteration reference). Full claim tables are **not** duplicated here.
|
|
133
|
+
|
|
134
|
+
**Naming conventions (PM / ops; examples only — paths MUST be canonical absolute)**
|
|
135
|
+
|
|
136
|
+
1. **Control worktree** — usually the primary checkout or a PM-designated path on `spec_integration_branch`; record once in `metadata.control_worktree_path`.
|
|
137
|
+
2. **Feature worktree (per plan)** — one distinct sibling directory per active `plan_id`, e.g. `<repo-parent>/worktrees/<plan-id>` or team `.worktrees/<plan-id>`; Assignment **`Worktree path`** must match lease `worktree_path`.
|
|
138
|
+
3. **L2 track worktrees (within-plan)** — additional distinct directories per parallel implement track under the **same** plan (see **`references/parallel-writable-pre-dispatch.md`**), each with its own PM-approved **`Working branch`**.
|
|
139
|
+
|
|
102
140
|
## 同仓并发写入与 Git worktree(强制)
|
|
103
141
|
|
|
104
|
-
|
|
142
|
+
**首要场景是开发阶段(L2;迭代多 plan 时另见上文 L1)**:多条可写流 **并发** 改 **同一仓库** 时,用 worktree 做 **写入侧目录隔离**。派发前清单 → **`references/parallel-writable-pre-dispatch.md`**。下列规则针对该类开发并发;**QC / QA 阶段的检出约定**见下一小节。
|
|
105
143
|
|
|
106
144
|
当 **`project-manager` 在同一调度轮次内并发启动多个** subagent(含宿主侧「并行 Task / 并行 subagent」),且 **≥2 个承接方**可能对 **同一 Git 仓库的同一工作区(同一 cwd 检出目录)**产生写文件或 `git commit` 级改动时:
|
|
107
145
|
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Parallel writable pre-dispatch gate (PM)
|
|
2
2
|
|
|
3
|
+
## Layer: L2 (within-plan)
|
|
4
|
+
|
|
5
|
+
This reference is **L2** worktree isolation: **same `plan_id`**, **same business repo**, **≥2 concurrent writable implement tracks**.
|
|
6
|
+
|
|
7
|
+
**L1 (cross-plan)** is separate and stacks on top when iteration Phase 2 defaults apply:
|
|
8
|
+
|
|
9
|
+
- A **control worktree** on `spec_integration_branch` (`metadata.control_worktree_path`) holds status/SDD SSOT and serial integration merge.
|
|
10
|
+
- Each concurrently active plan uses a **distinct feature worktree** (`execution_lease.worktree_path` **≠** `control_worktree_path`) with verified `plans[].execution_lease` before writable dispatch.
|
|
11
|
+
- Claim/hold/release/merge rules → **`mstar-iteration`** `references/phase-2-worktree-lease.md` (not repeated here).
|
|
12
|
+
|
|
13
|
+
When **one plan** runs **≥2** concurrent writable tracks, **L2 still applies** inside that plan even if L1 leases already isolate plans from each other. Run this checklist **per plan** that has multiple parallel implement tracks.
|
|
14
|
+
|
|
3
15
|
## Why this exists
|
|
4
16
|
|
|
5
17
|
Host dispatch can satisfy **「N Assignments ⇒ N invokes in one message」** while every writer still shares **one checkout directory**. That may satisfy `mstar-dispatch-gates` tool concurrency but **violates** same-repo write isolation.
|
|
@@ -8,9 +20,9 @@ Host dispatch can satisfy **「N Assignments ⇒ N invokes in one message」** w
|
|
|
8
20
|
|
|
9
21
|
## Mode switch (do not carry single-track habits)
|
|
10
22
|
|
|
11
|
-
Serial single-plan waves (one feature branch, one checkout, PM on integration) do **not** authorize multi-writer parallel tracks without re-running this gate.
|
|
23
|
+
Serial single-plan waves (one feature branch, one checkout, PM on integration) do **not** authorize multi-writer parallel tracks without re-running this **L2** gate.
|
|
12
24
|
|
|
13
|
-
When the round adds a second **concurrent** writable implement track on the **same business repo
|
|
25
|
+
When the round adds a second **concurrent** writable implement track on the **same business repo** within one plan, treat it as a **mode switch** — even if earlier plans in the iteration were serial or L1 already assigned each plan its own feature worktree.
|
|
14
26
|
|
|
15
27
|
## Pre-dispatch checklist (HARD)
|
|
16
28
|
|
|
@@ -84,8 +84,11 @@ When **`Execution mode: sdd`** (`mstar-sdd`):
|
|
|
84
84
|
| **工具并发** | 同条消息发满 N 次 invoke | 已发 2 个 Task ⇒ 误以为「并行合规」 |
|
|
85
85
|
| **同仓写隔离** | 派发 **前** 每轨独立 `Worktree path` | 只写了 `Working branch` / `checkout -b` |
|
|
86
86
|
|
|
87
|
-
- 独立模块可并行 **implement 轨道**(不同 dev Assignment);**同仓 ≥2 可写并发** → **`mstar-branch-worktree`** **`references/parallel-writable-pre-dispatch.md`**(先于 invoke)。
|
|
88
|
-
- **SDD 单 plan
|
|
87
|
+
- 独立模块可并行 **implement 轨道**(不同 dev Assignment);**同仓 ≥2 可写并发** → **`mstar-branch-worktree`** **`references/parallel-writable-pre-dispatch.md`**(先于 invoke;同 plan 多轨 = L2)。
|
|
88
|
+
- **SDD 单 plan 内**:task / implementer **仍串行**(`mstar-sdd`);**禁止**同一 plan 内并行 SDD implementer(写冲突)。
|
|
89
|
+
- **跨 plan(迭代 Phase 2)≠ 单 plan 内并行**:不同 `plan_id` 的 feature implement **允许** lease 门控并行(每 plan 独立 verified `plans[].execution_lease` + feature worktree,L1)**仅当** coordination 路径 same-host 独占写锁可用且每次协调变更持锁 → **`mstar-iteration`** §2.0 #5 · **`mstar-plan-artifacts`**。**跨主机 / 无共享 flock** → 默认 **`Plan parallelism: serial`** 或 Assignment 仍写并行 → **Blocked**(用户本轮 `Cross-host lease race: accepted` + audit `notes` 除外)。**`Worktree mode: waived` 不豁免**跨 plan 并行安全闸。**禁止**无 lease 的跨 plan 可写派发(lease 闸未 waive 时)。
|
|
90
|
+
- **`integration_merge_lease`**:`spec_integration_branch` 上的 merge **始终串行**(一次仅一 holder)→ **`mstar-iteration`** · **`mstar-plan-artifacts`**。
|
|
91
|
+
- **`Plan parallelism: serial`**:仅强制跨 plan implement **调度串行**;**不** waive control worktree / `execution_lease` / `integration_merge_lease`(`Worktree mode: waived` 才是 lease/worktree 豁免)→ **`mstar-iteration`** §2.0 #5。
|
|
89
92
|
- **Plan QC tri** after SDD task loop(`Execution mode: sdd`);**单席**仅 `inline` / hotfix。共用 `Review cwd` / `Working branch` / `plan_id` / `Review range`(**`mstar-branch-worktree`**)。
|
|
90
93
|
- **Tri 同消息规则**:plan QC tri(SDD 或 Assignment 显式 `QC mode: full tri-review`)时三席 **同一条消息**、**同一套** scope 字段。
|
|
91
94
|
|
|
@@ -104,8 +107,12 @@ When **`Execution mode: sdd`** (`mstar-sdd`):
|
|
|
104
107
|
|
|
105
108
|
- QC 三审拆在多条消息(tri 模式)或单席却未附 review-package 路径。
|
|
106
109
|
- 仅 1 次 invoke 却声称「tri-review 已并行启动」(tri 模式 N=3)。
|
|
107
|
-
- SDD 并行 implementer dispatch(**同一 plan 内**多 task)。
|
|
108
|
-
-
|
|
110
|
+
- SDD 并行 implementer dispatch(**同一 plan 内**多 task)— **不同于**跨 plan lease 门控并行(后者见上节 L1)。
|
|
111
|
+
- 跨 plan 可写派发无 verified `execution_lease`;steal / 覆盖活跃 `execution_lease` 或 `integration_merge_lease`;并行 integration merge。
|
|
112
|
+
- 跨 plan **并行**可写派发在 **无** same-host 独占写锁(跨主机 / 无共享 flock)且 **无** 用户本轮 `Cross-host lease race: accepted` + audit `notes` — **无论** `Worktree mode: waived`。
|
|
113
|
+
- 将 **`Worktree mode: waived`** 当作跨 plan 无锁并行授权(须 serial 或 race-accepted + audit)。
|
|
114
|
+
- `InProgress` 无 `execution_lease` 未走 orphan recovery 即 writable-dispatch。
|
|
115
|
+
- 同仓多轨 writable implement:**N invoke ≠ worktree 隔离**(L2)→ **`mstar-branch-worktree`** **`references/parallel-writable-pre-dispatch.md`**。
|
|
109
116
|
- 递归同角色 subagent;把 Handoff / 多轨编排措辞当 invoke。
|
|
110
117
|
- Review-and-edit 链未完成即 commit integration 分支;PM 代做专业角色编辑而不 invoke。
|
|
111
118
|
- Phase 1 review-and-edit 链三角色并行派发,或未等上一角色返回即派发下一角色。
|
|
@@ -101,7 +101,7 @@ PM 在 Assignment 写 **`Task category`**(主类 + 可选 `secondary`):
|
|
|
101
101
|
| `mstar-strategy` | `STRATEGY.md` 全局战略方向 —— 产品愿景、技术方向、决策原则 |
|
|
102
102
|
| `mstar-skill-authoring` | mstar-native skill authoring: trigger contracts, progressive disclosure, pressure scenarios, behavior-change evidence |
|
|
103
103
|
| `mstar-roles` | 角色正文 hub |
|
|
104
|
-
| `mstar-host` | 宿主适配(自动识别;`references/opencode.md` / `cursor.md` / `codex.md` / `parallel-dispatch.md`) |
|
|
104
|
+
| `mstar-host` | 宿主适配(自动识别;`references/opencode.md` / `cursor.md` / `codex.md` / `kimi.md` / `parallel-dispatch.md`) |
|
|
105
105
|
|
|
106
106
|
## 宿主 `mstar-host`
|
|
107
107
|
|
|
@@ -112,6 +112,7 @@ Read **`mstar-host`** after this skill; detect host per its table, then Read the
|
|
|
112
112
|
| OpenCode | `question`、**task tool**(**subagent** 参数)→ `references/opencode.md` |
|
|
113
113
|
| Cursor | Task 并行 QC;Plan 双写 → `references/cursor.md` · `cursor-plan-mode-bridge.md` |
|
|
114
114
|
| Codex | plugin skills、sandbox/apply_patch/tool discovery;无 invoke 工具时不声称 subagent dispatch → `references/codex.md` |
|
|
115
|
+
| Kimi | `Agent`/`AgentSwarm`(仅 `coder`/`explore`/`plan`);角色绑定在 prompt(C5b);Plan 双写 → `references/kimi.md` · `kimi-plan-mode-bridge.md` |
|
|
115
116
|
| 其它 | 同 `mstar-host` skill;按工具信号选 reference |
|
|
116
117
|
|
|
117
118
|
## 护栏(不变量)
|
|
@@ -142,7 +143,10 @@ Read **`mstar-host`** after this skill; detect host per its table, then Read the
|
|
|
142
143
|
| 递归误派 / 误读 Handoff | `mstar-dispatch-gates` |
|
|
143
144
|
| `quick` 跳过 Prepare | 上表 + `mstar-phase-gates` |
|
|
144
145
|
| 多 worktree 未归并就 QC | `mstar-branch-worktree` |
|
|
145
|
-
| 并行 implement
|
|
146
|
+
| 并行 writable implement 无隔离(L2 同 plan 多轨:N invoke ≠ worktree;L1 跨 plan:无 verified `execution_lease` + feature worktree) | `mstar-branch-worktree` L1/L2 · `mstar-iteration` §2.6 · `references/parallel-writable-pre-dispatch.md` |
|
|
147
|
+
| 跨 plan 可写派发无 verified `execution_lease` / steal 活跃 lease / 并行 merge 入 `spec_integration_branch` | `mstar-iteration` · `mstar-plan-artifacts`(leases)· `mstar-branch-worktree` L1 |
|
|
148
|
+
| `InProgress` 无 `execution_lease` 未恢复即可写派发 | `mstar-plan-artifacts` — orphan recovery |
|
|
149
|
+
| 混淆跨 plan lease 门控并行与单 plan 内 SDD 并行 implementer | `mstar-dispatch-gates` · `mstar-sdd` |
|
|
146
150
|
| residual 只写 plan 不写 SSOT | `mstar-plan-artifacts` |
|
|
147
151
|
| 角色文件塞流程长文 | 用专题 skill |
|
|
148
152
|
| 无证据宣称完成 | `mstar-coding-behavior` / verification |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-host
|
|
3
|
-
description: Morning Star host adapter (OpenCode, Cursor, Codex). Use after mstar-harness-core whenever host entry, clarify, dispatch, or plan UX differs by platform - OpenCode question/task-tool subagent invoke, Cursor /pm and CreatePlan/SwitchMode dual-write and Task parallel QC, Codex plugin skills plus Plan/Goal Mode, sandboxed tools, and tool discovery. Auto-detect host from session tools; then Read references/<host>.md. Always load after mstar-harness-core.
|
|
3
|
+
description: Morning Star host adapter (OpenCode, Cursor, Codex, Kimi). Use after mstar-harness-core whenever host entry, clarify, dispatch, or plan UX differs by platform - OpenCode question/task-tool subagent invoke, Cursor /pm and CreatePlan/SwitchMode dual-write and Task parallel QC, Codex plugin skills plus Plan/Goal Mode, Kimi Agent/AgentSwarm with built-in subagent types only (coder/explore/plan) and role-in-prompt binding, sandboxed tools, and tool discovery. Auto-detect host from session tools; then Read references/<host>.md. Always load after mstar-harness-core.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Morning Star Host Adapter
|
|
@@ -31,7 +31,8 @@ Use **capability signals** (not filesystem paths):
|
|
|
31
31
|
| **`question`** tool or **`task`** tool (**subagent** invoke) | `opencode` | `references/opencode.md` |
|
|
32
32
|
| **Task** + `subagent_type`, no CreatePlan | `cursor` | `references/cursor.md` |
|
|
33
33
|
| **Codex app/CLI/plugin context**, `/plan`, `/goal`, Goal tools, `functions.*`, `codex_app.*`, `tool_search`, Browser plugin tools | `codex` | `references/codex.md`; Plan/Goal mode also `references/codex-plan-goal-mode-bridge.md` |
|
|
34
|
-
|
|
|
34
|
+
| **`Agent`** / **`AgentSwarm`** / **`AskUserQuestion`** / **`EnterPlanMode`**, Kimi plugin (`.kimi-plugin/plugin.json`), `/morning-star-harness:*` commands | `kimi` | `references/kimi.md`; Plan mode also `references/kimi-plan-mode-bridge.md` |
|
|
35
|
+
| Still ambiguous | - | Read sections in **`cursor.md`**, **`opencode.md`**, **`codex.md`**, and **`kimi.md`** that match tools you have; **`mstar-harness-core` wins** on conflict |
|
|
35
36
|
|
|
36
37
|
## Parallel dispatch (invoke-capable hosts)
|
|
37
38
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Kimi Plan Mode × Harness Dual-Write Bridge
|
|
2
|
+
|
|
3
|
+
> **Load order**: Read **`mstar-harness-core`** first, then **`mstar-plan-conventions`** and **`mstar-plan-artifacts`** when Plan mode is active. Path symbols `{HARNESS_DIR}`, `{PLAN_DIR}`, `{SPECS_DIR}` are defined in `mstar-plan-conventions`. On conflict, **`mstar-harness-core`** wins.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Kimi **Plan mode** (`EnterPlanMode` / `ExitPlanMode`, `/plan`, or `Shift-Tab`) uses a session plan file and read-only exploration for design. Morning Star **SSOT** lives on disk under **`{HARNESS_DIR}`** (default `.mstar/`, legacy `.agents/`). This reference defines **dual-write**: mirror durable plan artifacts to the repo; never treat the Kimi session plan file alone as the handoff surface.
|
|
8
|
+
|
|
9
|
+
## Priority (hard)
|
|
10
|
+
|
|
11
|
+
1. User explicit instructions (this turn)
|
|
12
|
+
2. Project `AGENTS.md` / `CLAUDE.md`
|
|
13
|
+
3. **`{HARNESS_DIR}` / `{PLAN_DIR}` / `status.json`** (harness SSOT)
|
|
14
|
+
4. Kimi plan file and `TodoList` UI (session UX mirror)
|
|
15
|
+
|
|
16
|
+
**NEVER** cite only a Kimi plan file path in Assignment **Plan Path**, **Context Loaded**, or Completion Report when `{PLAN_DIR}/<plan-id>-<name>.md` should exist.
|
|
17
|
+
|
|
18
|
+
## When this applies
|
|
19
|
+
|
|
20
|
+
- Kimi **Plan mode** is active (`EnterPlanMode` succeeded, `/plan on`, or `kimi --plan`).
|
|
21
|
+
- Morning Star plugin is installed (`.kimi-plugin/plugin.json` skills loaded) or **`/skill:pm`** / **`pm` skill** is in use.
|
|
22
|
+
|
|
23
|
+
## Before entering Plan mode
|
|
24
|
+
|
|
25
|
+
1. **Read** (minimum): `mstar-plan-conventions`, `mstar-plan-artifacts` (SKILL.md); Prepare gates from `mstar-phase-gates` if not hotfix.
|
|
26
|
+
2. **Discover** `{HARNESS_DIR}` / `{PLAN_DIR}` per `mstar-plan-conventions`.
|
|
27
|
+
3. **Initialize** if absent: `{HARNESS_DIR}/`, `{PLAN_DIR}/`, `status.json` from `mstar-plan-artifacts/templates/status.empty.json`, `archived/residuals/`, gitignored `sdd/`.
|
|
28
|
+
|
|
29
|
+
## Plan mode workflow (dual-write)
|
|
30
|
+
|
|
31
|
+
| Step | Kimi session | Harness SSOT |
|
|
32
|
+
|------|--------------|--------------|
|
|
33
|
+
| Enter | `EnterPlanMode` or `/plan on` — explore read-only | Ensure `{HARNESS_DIR}` exists; register `plan_id` in `status.json` when known |
|
|
34
|
+
| Design | Edit Kimi plan file with `Write` / `Edit` (when Plan mode allows writes) | Mirror main plan to `{PLAN_DIR}/<plan-id>-<name>.md` with task checkboxes |
|
|
35
|
+
| Clarify | `AskUserQuestion` for blocking ambiguity only | Record decisions in plan / spec when durable |
|
|
36
|
+
| Exit | `ExitPlanMode` — user approves plan to implement | SSOT plan locked; `status.json` row updated |
|
|
37
|
+
| Implement | Agent mode resumes | Per-task commits, Working branch, dispatch per `mstar-dispatch-gates` |
|
|
38
|
+
|
|
39
|
+
`TodoList` and Kimi UI todos are **session progress only** — sync meaningful state to SSOT plan checkboxes and `status.json` when coordination requires it.
|
|
40
|
+
|
|
41
|
+
## ExitPlanMode gate
|
|
42
|
+
|
|
43
|
+
Do **not** treat ExitPlanMode approval as Morning Star **Done**. Implementation still follows phase gates, per-task commits, QC, and QA per the SSOT plan.
|
|
44
|
+
|
|
45
|
+
## `mstar-iteration` Phase 1
|
|
46
|
+
|
|
47
|
+
When iteration Phase 1 runs in Plan mode:
|
|
48
|
+
|
|
49
|
+
- Use **one** plan session; iterate the **same** Kimi plan file and SSOT mirror in place (feedback-driven edits).
|
|
50
|
+
- Do **not** run Review & Edit, commit integration branch, or dispatch implementers until the user approves via `ExitPlanMode` (or explicit go-ahead after plan lock).
|
|
51
|
+
- After approval: reload `mstar-harness-core` + `kimi.md`; resume as `project-manager` orchestration.
|
|
52
|
+
|
|
53
|
+
## Enforcement
|
|
54
|
+
|
|
55
|
+
Conflict with harness invariants → **`mstar-harness-core`** wins. Full Cursor CreatePlan bridge detail lives in `cursor-plan-mode-bridge.md` when hosts differ; Kimi uses this lighter Enter/Exit bridge only.
|