@mstar-harness/opencode 1.8.0 → 1.8.1
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 +16 -0
- package/harness-commands/codebase-audit.md +5 -68
- package/harness-commands/iteration-drive.md +17 -159
- package/harness-commands/iteration-loop.md +16 -194
- package/harness-commands/iteration-start.md +17 -185
- package/harness-skills/mstar-branch-worktree/SKILL.md +38 -27
- package/harness-skills/mstar-coding-behavior/SKILL.md +40 -114
- package/harness-skills/mstar-compound/SKILL.md +25 -197
- package/harness-skills/mstar-compound/references/compound-workflow.md +155 -0
- package/harness-skills/mstar-dispatch-gates/SKILL.md +3 -8
- package/harness-skills/mstar-host/references/_shared/host-role-binding-core.md +44 -0
- package/harness-skills/mstar-host/references/_shared/plan-mode-bridge-core.md +91 -0
- package/harness-skills/mstar-host/references/codex-plan-goal-mode-bridge.md +6 -11
- package/harness-skills/mstar-host/references/codex.md +1 -1
- package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +9 -78
- package/harness-skills/mstar-host/references/cursor.md +3 -3
- package/harness-skills/mstar-host/references/kimi-plan-mode-bridge.md +5 -24
- package/harness-skills/mstar-host/references/kimi.md +5 -32
- package/harness-skills/mstar-host/references/omp-plan-mode-bridge.md +3 -13
- package/harness-skills/mstar-host/references/omp.md +5 -32
- package/harness-skills/mstar-host/references/opencode.md +1 -3
- package/harness-skills/mstar-host/references/zcode-plan-mode-bridge.md +5 -24
- package/harness-skills/mstar-host/references/zcode.md +5 -32
- package/harness-skills/mstar-iteration/SKILL.md +21 -211
- package/harness-skills/mstar-iteration/references/phase-3-iteration-close.md +95 -0
- package/harness-skills/mstar-iteration/references/phase-4-5-pr-delivery.md +81 -0
- package/harness-skills/mstar-iteration/references/phase5-helper-discovery.md +24 -0
- package/harness-skills/mstar-phase-gates/SKILL.md +1 -1
- package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +46 -0
- package/harness-skills/mstar-roles/references/architect.md +3 -23
- package/harness-skills/mstar-roles/references/frontend-dev.md +4 -24
- package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +4 -24
- package/harness-skills/mstar-roles/references/ops-engineer.md +3 -23
- package/harness-skills/mstar-roles/references/product-manager.md +3 -23
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +5 -5
- package/harness-skills/mstar-roles/references/project-manager.md +4 -13
- package/harness-skills/mstar-roles/references/prompt-engineer.md +4 -23
- package/harness-skills/mstar-roles/references/qa-engineer.md +3 -22
- package/harness-skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +16 -75
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +1 -1
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +4 -17
- package/harness-skills/mstar-roles/references/writing-specialist.md +4 -24
- package/package.json +1 -1
|
@@ -59,32 +59,7 @@ Morning Star role ids (`project-manager`, `fullstack-dev`, `qc-specialist`, …)
|
|
|
59
59
|
|
|
60
60
|
### Role binding in prompt (C5b — required)
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
1. **`Execute as: <role-id>`** in Assignment (harness routing SSOT).
|
|
65
|
-
2. **`Act as <role-id>`** (or equivalent) at the top of the Agent prompt.
|
|
66
|
-
3. **Skill load list** — instruct the subagent to read `mstar-roles` → `references/<role-id>.md` (or shared reference + parameters) and topic skills per that reference.
|
|
67
|
-
4. **`subagent_type`** — pick from the mapping table above only.
|
|
68
|
-
|
|
69
|
-
Paste-only Assignment without an **`Agent`** call is **not** dispatch.
|
|
70
|
-
|
|
71
|
-
### Assignment / Agent-prompt template
|
|
72
|
-
|
|
73
|
-
```markdown
|
|
74
|
-
## Assignment
|
|
75
|
-
|
|
76
|
-
**Execute as**: fullstack-dev
|
|
77
|
-
**Delegation**: forbidden
|
|
78
|
-
**Working branch**: feat/example
|
|
79
|
-
**Plan Path**: .mstar/plans/20260717-example.md
|
|
80
|
-
|
|
81
|
-
**IDENTITY:** You ARE `fullstack-dev`. Act as `fullstack-dev` for this task.
|
|
82
|
-
Load: `mstar-harness-core` → `mstar-host` → `kimi.md` → `mstar-roles` → `references/fullstack-dev-shared.md` → topic skills per that reference.
|
|
83
|
-
|
|
84
|
-
<task body>
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
PM dispatch invocation (same turn):
|
|
62
|
+
Role-binding contract + Assignment template → **`_shared/host-role-binding-core.md`** (C5/C5b). Kimi-specific invoke shapes, same turn:
|
|
88
63
|
|
|
89
64
|
```text
|
|
90
65
|
Agent(
|
|
@@ -107,26 +82,24 @@ Agent(subagent_type: "plan", prompt: "... Act as architect for plan design; load
|
|
|
107
82
|
|
|
108
83
|
## PM dispatch (`Agent` / `AgentSwarm`)
|
|
109
84
|
|
|
110
|
-
Harness **dispatch** on Kimi = **one or more `Agent` tool calls** with correct **`subagent_type`** and role-bound prompts.
|
|
85
|
+
Harness **dispatch** on Kimi = **one or more `Agent` tool calls** with correct **`subagent_type`** and role-bound prompts (C5b → **`_shared/host-role-binding-core.md`**). N-parallel / 1-Assignment-1-invoke / paste-only mechanics → **`parallel-dispatch.md`**.
|
|
111
86
|
|
|
112
87
|
| Harness | Kimi |
|
|
113
88
|
|---------|------|
|
|
114
|
-
| `Execute as: <role-id>` | Role id in Assignment + **Act as** + skill load in **Agent** prompt |
|
|
89
|
+
| `Execute as: <role-id>` | Role id in Assignment + **Act as** + skill load in **Agent** prompt (C5b) |
|
|
115
90
|
| `subagent_type` for invoke | `coder` \| `explore` \| `plan` only (see mapping) |
|
|
116
|
-
| 1 Assignment ⇒ 1 invoke | **1 `Agent`** call with full Assignment prompt |
|
|
117
91
|
| Parallel batch **N** | **N `Agent`** calls in **one assistant message** when roles may differ; **`AgentSwarm`** only when same role/profile |
|
|
118
|
-
| No `Agent` call | **Not dispatched** — paste-only / `dispatch incomplete` |
|
|
119
92
|
|
|
120
93
|
### QC default
|
|
121
94
|
|
|
122
|
-
- **`Execution mode: sdd`**: **N=3** `Agent` calls (`qc-specialist`, `qc-specialist-2`, `qc-specialist-3`) — each prompt **Act as** the respective QC role, all `subagent_type: "coder"
|
|
95
|
+
- **`Execution mode: sdd`**: **N=3** `Agent` calls (`qc-specialist`, `qc-specialist-2`, `qc-specialist-3`) — each prompt **Act as** the respective QC role, all `subagent_type: "coder"` (N rules → `parallel-dispatch.md`).
|
|
123
96
|
- **`inline`**: **N=1** per `parallel-dispatch.md`.
|
|
124
97
|
|
|
125
98
|
Cannot emit required **N** → **`Blocked`**.
|
|
126
99
|
|
|
127
100
|
### SDD implement (serial)
|
|
128
101
|
|
|
129
|
-
- **`Execution mode: sdd`**: one implementer **`Agent`** per task id; task reviewer = new **`Agent`** (no sticky resume unless host adds it later).
|
|
102
|
+
- **`Execution mode: sdd`**: one implementer **`Agent`** per task id; task reviewer = new **`Agent`** (no sticky resume unless host adds it later). Serial rule → **`parallel-dispatch.md`** § SDD implement.
|
|
130
103
|
- **Never** multiple implementer Agents in one message for the same plan.
|
|
131
104
|
|
|
132
105
|
## Clarify
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# omp Plan mode bridge
|
|
2
2
|
|
|
3
|
-
Load with **`omp.md`** when omp Plan mode is active (`/plan`, plan-yolo / plan-model flows, or read-only-with-resolve plan UX).
|
|
3
|
+
Load with **`omp.md`** when omp Plan mode is active (`/plan`, plan-yolo / plan-model flows, or read-only-with-resolve plan UX). Shared contract → **`references/_shared/plan-mode-bridge-core.md`** (dual-write SSOT rule + priority, bootstrap init, Build resume contract, bootstrap todos, implement done-gate, Phase 1 gate, shared anti-patterns). This bridge covers omp plan-UX specifics only.
|
|
4
4
|
|
|
5
5
|
## Dual-write contract
|
|
6
6
|
|
|
@@ -12,23 +12,13 @@ omp session plans, composer todos, and plan-mode UI text are **session UX only**
|
|
|
12
12
|
| Plan registry | `{HARNESS_DIR}/status.json` |
|
|
13
13
|
| Iteration compass | `{ITERATION_DIR}/…` when in formal iteration |
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
1. Read `mstar-plan-conventions` + `mstar-plan-artifacts`.
|
|
18
|
-
2. Ensure `{HARNESS_DIR}` / `{PLAN_DIR}` exist and process-artifact gitignore entries are present.
|
|
19
|
-
3. Mirror the active omp plan content into the SSOT main plan path.
|
|
20
|
-
4. Register `plan_id` in `status.json.plans[]` when required by Prepare gates.
|
|
15
|
+
Bootstrap before treating a plan as ready for Execute (read `mstar-plan-conventions` + `mstar-plan-artifacts`; ensure `{HARNESS_DIR}` / `{PLAN_DIR}` exist with process-artifact gitignore entries; mirror the active omp plan into the SSOT main plan path; register `plan_id` in `status.json.plans[]` when required by Prepare gates) → core.
|
|
21
16
|
|
|
22
17
|
**Never** use only the omp session plan / UI todo list as **Plan Path**.
|
|
23
18
|
|
|
24
19
|
## `mstar-iteration` Phase 1 in Plan mode
|
|
25
20
|
|
|
26
|
-
When formal iteration Phase 1 runs under omp Plan UX:
|
|
27
|
-
|
|
28
|
-
1. Keep a **single** SSOT draft plan path (no silent second plan file).
|
|
29
|
-
2. Converge by **feedback-driven in-place edits** on that SSOT plan (and mirror into omp plan UI if helpful).
|
|
30
|
-
3. **Do not** run Review & Edit chain, commit, or create integration branch until the user leaves Plan mode / approves implementation (Build-equivalent).
|
|
31
|
-
4. Recommended branch policy still applies — no silent work on `main`/`master` (`mstar-iteration` §1.2).
|
|
21
|
+
When formal iteration Phase 1 runs under omp Plan UX, the shared gate → core: single SSOT draft plan path (no silent second plan file); feedback-driven in-place edits; **do not** run Review & Edit chain, commit, or create integration branch until the user leaves Plan mode / approves implementation (Build-equivalent). Recommended branch policy still applies — no silent work on `main`/`master` (`mstar-iteration` §1.2).
|
|
32
22
|
|
|
33
23
|
## Clarify vs plan approval
|
|
34
24
|
|
|
@@ -81,32 +81,7 @@ Morning Star role ids (`project-manager`, `fullstack-dev`, `qc-specialist`, …)
|
|
|
81
81
|
|
|
82
82
|
### Role binding in prompt (C5b — required)
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
1. **`Execute as: <role-id>`** in Assignment (harness routing SSOT).
|
|
87
|
-
2. **`Act as <role-id>`** (or equivalent) at the top of the task body.
|
|
88
|
-
3. **Skill load list** — instruct the subagent to read `mstar-roles` → `references/<role-id>.md` (or shared reference + parameters) and topic skills per that reference.
|
|
89
|
-
4. **`agent`** — pick from the live built-in list only (default **`task`**; explore → `scout`/`explore`).
|
|
90
|
-
|
|
91
|
-
Paste-only Assignment without a **`task`** call is **not** dispatch.
|
|
92
|
-
|
|
93
|
-
### Assignment / task-body template
|
|
94
|
-
|
|
95
|
-
```markdown
|
|
96
|
-
## Assignment
|
|
97
|
-
|
|
98
|
-
**Execute as**: fullstack-dev
|
|
99
|
-
**Delegation**: forbidden
|
|
100
|
-
**Working branch**: feat/example
|
|
101
|
-
**Plan Path**: .mstar/plans/20260717-example.md
|
|
102
|
-
|
|
103
|
-
**IDENTITY:** You ARE `fullstack-dev`. Act as `fullstack-dev` for this task.
|
|
104
|
-
Load: `mstar-harness-core` → `mstar-host` → `omp.md` → `mstar-roles` → `references/fullstack-dev-shared.md` → topic skills per that reference.
|
|
105
|
-
|
|
106
|
-
<task body>
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
PM dispatch invocation (same turn):
|
|
84
|
+
Role-binding contract + Assignment template → **`_shared/host-role-binding-core.md`** (C5/C5b). omp-specific invoke shapes, same turn:
|
|
110
85
|
|
|
111
86
|
```text
|
|
112
87
|
task(
|
|
@@ -133,26 +108,24 @@ task(
|
|
|
133
108
|
|
|
134
109
|
## PM dispatch (`task`)
|
|
135
110
|
|
|
136
|
-
Harness **dispatch** on omp = **one or more `task` tool calls** with correct **`agent`** values and role-bound assignment text.
|
|
111
|
+
Harness **dispatch** on omp = **one or more `task` tool calls** with correct **`agent`** values and role-bound assignment text (C5b → **`_shared/host-role-binding-core.md`**). N-parallel / 1-Assignment-1-invoke / paste-only mechanics → **`parallel-dispatch.md`**.
|
|
137
112
|
|
|
138
113
|
| Harness | omp |
|
|
139
114
|
|---------|-----|
|
|
140
|
-
| `Execute as: <role-id>` | Role id in Assignment + **Act as** + skill load in **task** body |
|
|
115
|
+
| `Execute as: <role-id>` | Role id in Assignment + **Act as** + skill load in **task** body (C5b) |
|
|
141
116
|
| `agent` for invoke | built-ins only (default `task`; explore → `scout`/`explore`) |
|
|
142
|
-
| 1 Assignment ⇒ 1 invoke | **1** `tasks[]` entry (or 1 `task` call) with full Assignment body |
|
|
143
117
|
| Parallel batch **N** | **N** `tasks[]` entries in **one** `task` call, or **N** `task` calls in **one** assistant message |
|
|
144
|
-
| No `task` call | **Not dispatched** — paste-only / `dispatch incomplete` |
|
|
145
118
|
|
|
146
119
|
### QC default
|
|
147
120
|
|
|
148
|
-
- **`Execution mode: sdd`**: **N=3** task entries (`qc-specialist`, `qc-specialist-2`, `qc-specialist-3`) — each body **Act as** the respective QC role; prefer `agent: "task"` (or `reviewer` only when it does not drop Morning Star QC skill load).
|
|
121
|
+
- **`Execution mode: sdd`**: **N=3** task entries (`qc-specialist`, `qc-specialist-2`, `qc-specialist-3`) — each body **Act as** the respective QC role; prefer `agent: "task"` (or `reviewer` only when it does not drop Morning Star QC skill load). N rules → `parallel-dispatch.md`.
|
|
149
122
|
- **`inline`**: **N=1** per `parallel-dispatch.md`.
|
|
150
123
|
|
|
151
124
|
Cannot emit required **N** → **`Blocked`**.
|
|
152
125
|
|
|
153
126
|
### SDD implement (serial)
|
|
154
127
|
|
|
155
|
-
- **`Execution mode: sdd`**: one implementer `task` entry per task id; task reviewer = new entry (no sticky resume unless host resume/id is available and recorded).
|
|
128
|
+
- **`Execution mode: sdd`**: one implementer `task` entry per task id; task reviewer = new entry (no sticky resume unless host resume/id is available and recorded). Serial rule → **`parallel-dispatch.md`** § SDD implement.
|
|
156
129
|
- **Never** multiple implementer entries in one message for the same plan.
|
|
157
130
|
|
|
158
131
|
## Clarify
|
|
@@ -20,14 +20,12 @@ Parallel PM dispatch: **`parallel-dispatch.md`** (read in dispatch rounds).
|
|
|
20
20
|
|
|
21
21
|
## PM dispatch (task tool + subagent)
|
|
22
22
|
|
|
23
|
-
Harness **dispatch** on OpenCode = **one or more `task` tool calls**, each with **`subagent: <agent-id>`** (read the tool schema every session).
|
|
23
|
+
Harness **dispatch** on OpenCode = **one or more `task` tool calls**, each with **`subagent: <agent-id>`** (read the tool schema every session). N-parallel / 1-Assignment-1-invoke / paste-only mechanics → **`parallel-dispatch.md`**.
|
|
24
24
|
|
|
25
25
|
| Harness | OpenCode |
|
|
26
26
|
|---------|----------|
|
|
27
27
|
| `Execute as: <role-id>` | **`subagent`** on **task tool** = same agent id |
|
|
28
|
-
| 1 Assignment ⇒ 1 invoke | **1 task tool** call with matching **subagent** + prompt from Assignment |
|
|
29
28
|
| Parallel batch **N** | **N task tool** calls in **one assistant message** when the host allows (`parallel-dispatch.md`) |
|
|
30
|
-
| No task tool call | **Not dispatched** — paste-only / `dispatch incomplete` |
|
|
31
29
|
|
|
32
30
|
PM workflow: finalize Assignment → **call task tool** with **subagent** + generated prompt → wait for subagent Completion Report → update plan / status.
|
|
33
31
|
|
|
@@ -1,31 +1,16 @@
|
|
|
1
1
|
# ZCode Plan Mode × Harness Dual-Write Bridge
|
|
2
2
|
|
|
3
|
-
> **Load order**: Read **`mstar-harness-core`** first, then **`mstar-
|
|
3
|
+
> **Load order**: Read **`mstar-harness-core`** first, then **`mstar-host`** and **`references/zcode.md`**, then **`references/_shared/plan-mode-bridge-core.md`** (shared contract) + this bridge. When Plan mode is active, also read **`mstar-plan-conventions`** and **`mstar-plan-artifacts`**. Path symbols `{HARNESS_DIR}`, `{PLAN_DIR}`, `{SPECS_DIR}` are defined in `mstar-plan-conventions`. On conflict, **`mstar-harness-core`** wins.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Shared contract** (dual-write SSOT rule + priority, bootstrap init, Build resume contract, bootstrap todos, implement done-gate, Phase 1 gate, shared anti-patterns) → **`references/_shared/plan-mode-bridge-core.md`**. This bridge covers ZCode plan-UX specifics only.
|
|
6
6
|
|
|
7
|
-
ZCode **Plan mode** (`EnterPlanMode` / `ExitPlanMode`) uses read-only exploration for design and a plan approval gate before implementation
|
|
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. ZCode `TodoWrite` UI (session UX mirror)
|
|
15
|
-
|
|
16
|
-
**NEVER** cite only a session todo list path in Assignment **Plan Path**, **Context Loaded**, or Completion Report when `{PLAN_DIR}/<plan-id>-<name>.md` should exist.
|
|
7
|
+
ZCode **Plan mode** (`EnterPlanMode` / `ExitPlanMode`) uses read-only exploration for design and a plan approval gate before implementation; the session todo list is a **session UX mirror** — **NEVER** cite only a session todo list path in Assignment **Plan Path**, **Context Loaded**, or Completion Report when `{PLAN_DIR}/<plan-id>-<name>.md` should exist.
|
|
17
8
|
|
|
18
9
|
## When this applies
|
|
19
10
|
|
|
20
11
|
- ZCode **Plan mode** is active (`EnterPlanMode` succeeded).
|
|
21
12
|
- Morning Star plugin is installed (`.zcode-plugin/plugin.json` skills loaded) or **`/morning-star-harness:pm`** / **`pm` skill** is in use.
|
|
22
13
|
|
|
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/`, Morning Star process-artifact gitignore set (see `mstar-plan-conventions` SKILL.md「Git 跟踪策略」).
|
|
28
|
-
|
|
29
14
|
## Plan mode workflow (dual-write)
|
|
30
15
|
|
|
31
16
|
| Step | ZCode session | Harness SSOT |
|
|
@@ -40,15 +25,11 @@ ZCode **Plan mode** (`EnterPlanMode` / `ExitPlanMode`) uses read-only exploratio
|
|
|
40
25
|
|
|
41
26
|
## ExitPlanMode gate
|
|
42
27
|
|
|
43
|
-
|
|
28
|
+
Host plan approval (`ExitPlanMode`) is **not** Morning Star **Done** (gate → core). Implementation still follows phase gates, per-task commits, QC, and QA per the SSOT plan.
|
|
44
29
|
|
|
45
30
|
## `mstar-iteration` Phase 1
|
|
46
31
|
|
|
47
|
-
When iteration Phase 1 runs in Plan mode:
|
|
48
|
-
|
|
49
|
-
- Use **one** plan session; iterate the **same** plan content 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` + `zcode.md`; resume as `project-manager` orchestration.
|
|
32
|
+
When iteration Phase 1 runs in Plan mode, the shared gate (single plan session, feedback-driven in-place edits, no Review & Edit / commit / integration branch until approval) → core. After approval: reload `mstar-harness-core` + **`zcode.md`**; resume as `project-manager` orchestration.
|
|
52
33
|
|
|
53
34
|
## Enforcement
|
|
54
35
|
|
|
@@ -57,32 +57,7 @@ Morning Star role ids (`project-manager`, `fullstack-dev`, `qc-specialist`, …)
|
|
|
57
57
|
|
|
58
58
|
### Role binding in prompt (C5b — required)
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
1. **`Execute as: <role-id>`** in Assignment (harness routing SSOT).
|
|
63
|
-
2. **`Act as <role-id>`** (or equivalent) at the top of the Agent prompt.
|
|
64
|
-
3. **Skill load list** — instruct the subagent to read `mstar-roles` → `references/<role-id>.md` (or shared reference + parameters) and topic skills per that reference.
|
|
65
|
-
4. **`subagent_type`** — pick from the host's built-in profiles only (typically `general-purpose`; `Explore` for read-only orientation).
|
|
66
|
-
|
|
67
|
-
Paste-only Assignment without an **`Agent`** call is **not** dispatch.
|
|
68
|
-
|
|
69
|
-
### Assignment / Agent-prompt template
|
|
70
|
-
|
|
71
|
-
```markdown
|
|
72
|
-
## Assignment
|
|
73
|
-
|
|
74
|
-
**Execute as**: fullstack-dev
|
|
75
|
-
**Delegation**: forbidden
|
|
76
|
-
**Working branch**: feat/example
|
|
77
|
-
**Plan Path**: .mstar/plans/20260717-example.md
|
|
78
|
-
|
|
79
|
-
**IDENTITY:** You ARE `fullstack-dev`. Act as `fullstack-dev` for this task.
|
|
80
|
-
Load: `mstar-harness-core` → `mstar-host` → `zcode.md` → `mstar-roles` → `references/fullstack-dev-shared.md` → topic skills per that reference.
|
|
81
|
-
|
|
82
|
-
<task body>
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
PM dispatch invocation (same turn):
|
|
60
|
+
Role-binding contract + Assignment template → **`_shared/host-role-binding-core.md`** (C5/C5b). ZCode-specific invoke shapes, same turn:
|
|
86
61
|
|
|
87
62
|
```text
|
|
88
63
|
Agent(
|
|
@@ -100,26 +75,24 @@ Agent(subagent_type: "Explore", description: "...", prompt: "... Act as explore-
|
|
|
100
75
|
|
|
101
76
|
## PM dispatch (`Agent`)
|
|
102
77
|
|
|
103
|
-
Harness **dispatch** on ZCode = **one or more `Agent` tool calls** with correct **`subagent_type`** and role-bound prompts.
|
|
78
|
+
Harness **dispatch** on ZCode = **one or more `Agent` tool calls** with correct **`subagent_type`** and role-bound prompts (C5b → **`_shared/host-role-binding-core.md`**). N-parallel / 1-Assignment-1-invoke / paste-only mechanics → **`parallel-dispatch.md`**.
|
|
104
79
|
|
|
105
80
|
| Harness | ZCode |
|
|
106
81
|
|---------|-------|
|
|
107
|
-
| `Execute as: <role-id>` | Role id in Assignment + **Act as** + skill load in **Agent** prompt |
|
|
82
|
+
| `Execute as: <role-id>` | Role id in Assignment + **Act as** + skill load in **Agent** prompt (C5b) |
|
|
108
83
|
| `subagent_type` for invoke | built-in profiles only (typically `general-purpose`; `Explore` for read-only) |
|
|
109
|
-
| 1 Assignment ⇒ 1 invoke | **1 `Agent`** call with full Assignment prompt |
|
|
110
84
|
| Parallel batch **N** | **N `Agent`** calls in **one assistant message** |
|
|
111
|
-
| No `Agent` call | **Not dispatched** — paste-only / `dispatch incomplete` |
|
|
112
85
|
|
|
113
86
|
### QC default
|
|
114
87
|
|
|
115
|
-
- **`Execution mode: sdd`**: **N=3** `Agent` calls (`qc-specialist`, `qc-specialist-2`, `qc-specialist-3`) — each prompt **Act as** the respective QC role, all `subagent_type: "general-purpose"
|
|
88
|
+
- **`Execution mode: sdd`**: **N=3** `Agent` calls (`qc-specialist`, `qc-specialist-2`, `qc-specialist-3`) — each prompt **Act as** the respective QC role, all `subagent_type: "general-purpose"` (N rules → `parallel-dispatch.md`).
|
|
116
89
|
- **`inline`**: **N=1** per `parallel-dispatch.md`.
|
|
117
90
|
|
|
118
91
|
Cannot emit required **N** → **`Blocked`**.
|
|
119
92
|
|
|
120
93
|
### SDD implement (serial)
|
|
121
94
|
|
|
122
|
-
- **`Execution mode: sdd`**: one implementer **`Agent`** per task id; task reviewer = new **`Agent`** (no sticky resume unless host adds it later).
|
|
95
|
+
- **`Execution mode: sdd`**: one implementer **`Agent`** per task id; task reviewer = new **`Agent`** (no sticky resume unless host adds it later). Serial rule → **`parallel-dispatch.md`** § SDD implement.
|
|
123
96
|
- **Never** multiple implementer Agents in one message for the same plan.
|
|
124
97
|
|
|
125
98
|
## Clarify
|
|
@@ -295,7 +295,7 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
295
295
|
5. Dispatch **one** task reviewer subagent(brief + report + diff + Global Constraints)
|
|
296
296
|
6. Fix loop 直至 review clean;append `{SDD_DIR}/progress.md`;更新 `status.json` / plan checkbox
|
|
297
297
|
7. Next task
|
|
298
|
-
- 每次 Completion Report
|
|
298
|
+
- 每次 Completion Report 后更新 `status.json` + 主 plan
|
|
299
299
|
4. **QC → QA gate**(plan 保持 **`InReview`**;**保留** `execution_lease`):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)。**禁止**在 integration merge 成功前设 `Done` 或删除 `execution_lease`。
|
|
300
300
|
5. **Plan complete — serial merge back**(§2.0 #5 未 waive):自 **control worktree** claim/resume `metadata.integration_merge_lease` → 将 plan feature branch 合并入 `spec_integration_branch`(仅 merge-lease holder;细则 → **`references/phase-2-worktree-lease.md`**)→ 记录 merge commit 证据 → 释放 merge lease;**同轮**设 `Done` 并删除 `execution_lease`。merge 失败:保持 `InReview` + 保留 lease,不得标 `Done`。
|
|
301
301
|
6. **Cross-plan 进度同步**:更新 `{ITERATION_DIR}/<iteration-id>/delivery-compass.md` 的 `## Plans` 表状态列
|
|
@@ -341,181 +341,21 @@ Iteration Phase 2 附加:
|
|
|
341
341
|
- plan 内 SDD task **串行** — 见 §2.4、§2.5、`mstar-sdd` Continuous execution
|
|
342
342
|
- **zero-residual(默认)**:单 plan QC findings 尽量在当轮清干净;仅真 blocker 才 defer 到后续迭代(须 Durable Roadmap)— 见 **`mstar-plan-artifacts`** Findings cleanup modes
|
|
343
343
|
|
|
344
|
-
---
|
|
345
|
-
|
|
346
344
|
## Phase 3: iteration-close(收口迭代)
|
|
347
345
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
**Close Done 定义**:§3.1→§3.5 全部完成;compass frontmatter 写入 `status: completed` + `end_date`;每篇新增 knowledge doc 已登记 `{KNOWLEDGE_DIR}/README.md`。只在 final plan 中写了 compound / roadmap / PR 说明,不算 iteration-close 完成。
|
|
351
|
-
|
|
352
|
-
### 3.0 Phase boundary(HARD)
|
|
353
|
-
|
|
354
|
-
- Phase 3 是 iteration 级收口,不是任一 plan 的子任务。
|
|
355
|
-
- final plan closure、plan notes、plan compaction 可作为输入,但不能替代 §3.1→§3.5。
|
|
356
|
-
- 读过 `mstar-iteration` / `mstar-compound` 不等于执行 gate;必须打印 checklist 并写入产物。
|
|
357
|
-
|
|
358
|
-
### 3.0.5 Compass shape normalization(legacy 漂移修复)
|
|
359
|
-
|
|
360
|
-
进入 §3.1 前,先确认 compass 具有 close 可写入的结构。若缺失,PM 在本 thread 做最小规范化,不委派、不重写无关内容。
|
|
361
|
-
|
|
362
|
-
| 检查 | 缺则补齐 |
|
|
363
|
-
|------|----------|
|
|
364
|
-
| YAML frontmatter:`iteration_id`, `start_date`, `status` | 从文件名 / 正文提取;收口前 `status` 保持 `active` 或 `locked` |
|
|
365
|
-
| `## Roadmap Position` | 从 general context / roadmap prose 迁移为本节 |
|
|
366
|
-
| `## Quality Gate Summary` | 按模板补占位,§3.4 填写 |
|
|
367
|
-
| `## Compound Round Summary` | 按模板补占位,§3.4 填写 |
|
|
368
|
-
| `## Iteration Retrospective (minimal)` | 按模板补占位,§3.4 填写 |
|
|
369
|
-
|
|
370
|
-
正文 completion status 只能作为历史注释;最终状态必须写入 frontmatter `status: completed` + `end_date`。
|
|
371
|
-
|
|
372
|
-
### 3.1 Close entry checklist(HARD GATE)
|
|
373
|
-
|
|
374
|
-
**STOP**: 打印下方 checklist,且全部为 `[x]` 后,才可进入 §3.2 Compound。
|
|
375
|
-
|
|
376
|
-
- [ ] 所有 compass 中登记的 plan 在 `{HARNESS_DIR}/status.json` 均为 `Done`
|
|
377
|
-
- [ ] 所有 plan 的 residual findings 已收口:优先 empty open 列表;若仍有 open R#,须均为 Phase 2 `zero-residual` 允许的 blocker-defer + roadmap,或已 closed/accepted/waived 归档(见 `mstar-plan-artifacts` Findings cleanup modes)
|
|
378
|
-
- [ ] compass `## Plans` 表状态列已与 `status.json` 同步
|
|
379
|
-
- [ ] 迭代 `## Acceptance Criteria` 已达成或显式豁免(compass 或对话记录原因)
|
|
380
|
-
- [ ] compass shape 已满足(frontmatter + `## Roadmap Position` + close 占位节)
|
|
381
|
-
|
|
382
|
-
PM **必须**在对话中打印本 checklist;不得默认同过。
|
|
383
|
-
|
|
384
|
-
### 3.2 知识结晶(Compound)—— 迭代级核心收口
|
|
385
|
-
|
|
386
|
-
**Compound 在此执行,不在 per-plan Done 后独立执行。** 工作流 SSOT → **`mstar-compound`**(Q1–Q8 自检、Phase 1–7、Phase 6 索引登记强制)。
|
|
387
|
-
|
|
388
|
-
PM 批量触发后须:
|
|
389
|
-
|
|
390
|
-
1. 收集本迭代 plan 实现 / debug / review 素材,筛候选知识
|
|
391
|
-
2. **盘点** `{ITERATION_DIR}/<iteration-id>/**` package(`guides/`、`specs/`;默认排除 `delivery-compass.md`)— **`mstar-compound`**「Iteration package promotion」;提升值得保留者进 `{KNOWLEDGE_DIR}/`
|
|
392
|
-
3. 逐条过 `mstar-compound` 自检;跳过项记入 compass `## Compound Round Summary`
|
|
393
|
-
4. 写入或更新 `{KNOWLEDGE_DIR}/<category>/<slug>.md`;新领域词更新 `CONCEPTS.md`
|
|
394
|
-
5. **每篇**新 doc 完成 Phase 6(`{KNOWLEDGE_DIR}/README.md` 登记)
|
|
395
|
-
|
|
396
|
-
若无结晶且无 package 提升,仍在 `## Compound Round Summary` 写明 `无可结晶知识` / package 盘点结论及原因。
|
|
397
|
-
|
|
398
|
-
### 3.3 更新 roadmap
|
|
399
|
-
|
|
400
|
-
1. 更新 compass **`## Roadmap Position`**(§3.0.5 已确保本节存在):
|
|
401
|
-
- current iteration 行标记为 **`delivered`**(或等价明确措辞)
|
|
402
|
-
- next iteration 更新为即将开始的内容、触发条件、owner
|
|
403
|
-
2. 若 `status.json` 中有 `plans[].metadata.roadmap` 字段,同步更新
|
|
404
|
-
3. 若存在 deferred-features / roadmap tracker 类文档,按项目惯例刷新
|
|
405
|
-
4. 若 `STRATEGY.md` 存在,可更新 `## Decision Log`(重大架构决策时)
|
|
406
|
-
|
|
407
|
-
### 3.4 标记迭代完成
|
|
408
|
-
|
|
409
|
-
1. compass **YAML frontmatter**:`status: completed`,`end_date: YYYY-MM-DD`(必须;见 §3.0.5)
|
|
410
|
-
2. 更新 `{ITERATION_DIR}/README.md` 索引中该迭代行 Status 为 `completed`
|
|
411
|
-
3. 填充 compass `## Quality Gate Summary`、`## Compound Round Summary` 与 `## Iteration Retrospective (minimal)`(见模板)
|
|
412
|
-
|
|
413
|
-
### 3.5 Close exit checklist + commit
|
|
414
|
-
|
|
415
|
-
**Precondition**: §3.1 checklist `[x]`;§3.4 frontmatter `completed` + `end_date` 已写。
|
|
416
|
-
|
|
417
|
-
PM 打印 **iteration-close exit checklist**;全部为 `[x]` 后方可 `git commit`;然后进入 **Phase 4**(§4):
|
|
418
|
-
|
|
419
|
-
- [ ] §3.1 前置 gate 已打印并满足
|
|
420
|
-
- [ ] §3.2 compound 完成;**`<iteration-id>/` package 已盘点**(提升 / 保留 / 跳过已记入 Compound Summary);新增 knowledge doc 均已登记 `{KNOWLEDGE_DIR}/README.md`(或已记录无可结晶原因)
|
|
421
|
-
- [ ] §3.3 `## Roadmap Position` current iteration 已标 `delivered`;tracker / STRATEGY 已按需更新
|
|
422
|
-
- [ ] §3.4 frontmatter `status: completed` + `end_date`;Quality Gate Summary + Compound Summary + Retrospective 已填
|
|
423
|
-
- [ ] 当前分支是 `spec_integration_branch`
|
|
424
|
-
- [ ] PR base = `metadata.target_branch`(与 compass frontmatter 一致);**不是**未记录的 `main`
|
|
425
|
-
|
|
426
|
-
**Commit 到 integration 分支**:
|
|
427
|
-
|
|
428
|
-
```bash
|
|
429
|
-
git add {ITERATION_DIR}/<id>/ {ITERATION_DIR}/README.md {KNOWLEDGE_DIR}/ CONCEPTS.md
|
|
430
|
-
git commit -m "chore(iteration): close <iteration-id> — compound round, roadmap update"
|
|
431
|
-
git push origin <spec_integration_branch>
|
|
432
|
-
```
|
|
433
|
-
|
|
434
|
-
PR 目标使用 root `metadata.target_branch`;缺失时停止并补齐,不得默认 `main`。
|
|
346
|
+
**入口**:Phase 2 全部 plan `Done` 后按 **Phase transition gates** 进入。本 Phase 在 **integration 分支**上运行;产出物 commit 到该分支,随迭代 PR 合入 `metadata.target_branch`。
|
|
435
347
|
|
|
436
|
-
|
|
348
|
+
完整流程(§3.0 phase boundary、§3.0.5 compass 规范化、§3.1 entry checklist **HARD GATE**、§3.2 compound、§3.3 roadmap、§3.4 标记完成、§3.5 exit checklist + commit、§3.6 可选 compound-refresh)→ **`references/phase-3-iteration-close.md`**。
|
|
437
349
|
|
|
438
|
-
|
|
350
|
+
**Close Done 定义**:§3.1→§3.5 全部完成;compass frontmatter 写入 `status: completed` + `end_date`;每篇新增 knowledge doc 已登记 `{KNOWLEDGE_DIR}/README.md`。只在 final plan 中写了 compound / roadmap / PR 说明,不算 iteration-close 完成。
|
|
439
351
|
|
|
440
352
|
---
|
|
441
353
|
|
|
442
|
-
## Phase 4: PR delivery
|
|
354
|
+
## Phase 4 & 5: PR delivery + merge-ready loop
|
|
443
355
|
|
|
444
|
-
**
|
|
356
|
+
**Phase 4**(开 PR)与 **Phase 5**(merge-ready loop)完整流程(§4、§5.0、§5.1a push cadence、§5.1 loop、§5.2 exit checklist)→ **`references/phase-4-5-pr-delivery.md`**。
|
|
445
357
|
|
|
446
|
-
|
|
447
|
-
2. Resolve target:`metadata.target_branch`(compass frontmatter 镜像);缺失 → **STOP**,问用户
|
|
448
|
-
3. 创建 PR:`spec_integration_branch` → `target_branch`
|
|
449
|
-
4. 记录 PR URL / number(Phase 5 会话 SSOT)
|
|
450
|
-
5. **Immediately** 进入 **Phase 5** — **Phase 4 exit ≠ 迭代交付完成**
|
|
451
|
-
|
|
452
|
-
---
|
|
453
|
-
|
|
454
|
-
## Phase 5: PR merge-ready loop
|
|
455
|
-
|
|
456
|
-
**Precondition**: Phase 4 PR 已创建且 head = `spec_integration_branch`。
|
|
457
|
-
|
|
458
|
-
**Loop 理念**(mstar SSOT):PR 开完后进入 **验证—修复—再验证** 循环,直至 PR 可合并。与 Phase 2 per-plan loop 类似,但对象是 **PR 级** merge 门禁(CI、review、冲突),不是 plan 实现。
|
|
459
|
-
|
|
460
|
-
### 5.0 Phase boundary
|
|
461
|
-
|
|
462
|
-
- Phase 5 在 PR head(`spec_integration_branch`)上 push 修复;**禁止**另开替代分支
|
|
463
|
-
- 产品代码修复 → PM **dispatch** dev/ops(`mstar-dispatch-gates`);PM 线程不代写实现
|
|
464
|
-
- 禁止为「让 CI 变绿」而改 workflow,除非用户明确授权
|
|
465
|
-
- **Push cadence** → **§5.1a**(本地可提前修;**禁止**在 CI / AI review 波次未结束时 push)
|
|
466
|
-
|
|
467
|
-
### 5.1a Push cadence(HARD — 防打断 CI / AI review)
|
|
468
|
-
|
|
469
|
-
发现 CI 失败或 review 问题时,**允许本地提前修**(含 dispatch implement/ops、落盘 commit),但 **`git push`(更新 PR head)必须等上一波次跑完**。
|
|
470
|
-
|
|
471
|
-
| 允许 | 禁止 |
|
|
472
|
-
|------|------|
|
|
473
|
-
| CI/review **进行中**就开始本地诊断与修复 | 当前 head 上仍有 **CI queued/in_progress**,或 **AI review 波次**(Bugbot / Greptile / 等价 bot)未结束时 **push** |
|
|
474
|
-
| CI **全部结束后**出现新的 review 评论 → 继续本地修,批完再 push | 为「抢时间」在 CI 仍在跑时 push(会取消/孤儿化进行中的 CI 与 **AI reviews**,浪费 token 且无完整结果) |
|
|
475
|
-
| 一批本地修复 **合并为一次 push**(本 head 波次 settled 后) | 同一波次未 settled 就连续多次 push |
|
|
476
|
-
|
|
477
|
-
**Push gate(每次 push 前必须核对)**:
|
|
478
|
-
|
|
479
|
-
1. 当前 PR head 的 **required CI**(及已启动的检查)均已 **completed**(success / failure / cancelled — 不得仍为 queued / in_progress)
|
|
480
|
-
2. 附着在该 head 的 **AI / bot review 波次**已跑完(无进行中的 review job;若宿主无法探测 job,则至少等 CI settled **且** review 评论不再增长一小段稳定窗口后再 push)
|
|
481
|
-
3. 仅当 **1–2 满足** 且本地仍有未推送修复时,才 **push 一次**
|
|
482
|
-
4. Push 后:等 **新 head** 的 CI + reviews 全部跑完 → 再决定下一轮本地修 / push
|
|
483
|
-
|
|
484
|
-
**顺序记忆**:`observe findings → fix locally early → wait until CI + review wave idle → push batch → wait new wave → repeat`。
|
|
485
|
-
|
|
486
|
-
### 5.1 Loop(repeat until §5.5 exit)
|
|
487
|
-
|
|
488
|
-
1. **Status** — PR mergeable?required CI?unresolved review threads?**任一 CI/AI review 是否仍在跑?**
|
|
489
|
-
2. **Merge conflicts** — blocking 则在 integration 分支**本地**解决;**仅当 §5.1a push gate 满足时**再 push(意图冲突 → **Blocked**)
|
|
490
|
-
3. **Reviews** — fetch unresolved threads;triage;dispatch **本地**修复(可在上一波次仍在跑时开工)
|
|
491
|
-
4. **CI** — 失败项在 PR 范围内**本地**修复(可提前开工);**不**在 CI 仍在跑时 push
|
|
492
|
-
5. **Push** — 仅当 §5.1a 满足:无 in-flight CI,上一波 CI **与** reviews 均已跑完 → **一次** push 本批修复
|
|
493
|
-
6. **Review fix hygiene**(每次因 review 而 push 后):
|
|
494
|
-
- 在同 thread **comment**(改动 + 验证)
|
|
495
|
-
- **Resolve** when addressed
|
|
496
|
-
7. Return to step 1(CI 结束后若出现 **新** reviews → 继续本地修,再等 idle 后 push)
|
|
497
|
-
|
|
498
|
-
**Optional host helpers(command 层发现;非 `mstar-*` load order)**:
|
|
499
|
-
|
|
500
|
-
| Priority | Helper | When |
|
|
501
|
-
|----------|--------|------|
|
|
502
|
-
| 1 | `babysit` or any `*-babysit` skill(first readable `SKILL.md`) | **Default prefer** — CI green + reviews resolved loop |
|
|
503
|
-
| 2 | `greploop` | **Optional** — only when the **repo** uses Greptile / has `greploop` available; then run for Greptile **5/5** in addition to babysit/`*-babysit` (or fallback) gates |
|
|
504
|
-
| 3 | neither | Command fallback = babysit-equivalent CI + reviews gates |
|
|
505
|
-
|
|
506
|
-
When both babysit/`*-babysit` and `greploop` apply: **babysit/`*-babysit` first**(CI + reviews),then optional greploop for Greptile score. Discovery paths → host `commands/iteration-drive` / `iteration-loop` Phase 5.
|
|
507
|
-
|
|
508
|
-
### 5.2 Phase 5 exit checklist(迭代交付完成)
|
|
509
|
-
|
|
510
|
-
打印 **`## Phase 5 exit checklist`**;全 `[x]` 后方可宣称 **迭代交付完成**:
|
|
511
|
-
|
|
512
|
-
- [ ] PR mergeable(无 blocking merge conflicts)
|
|
513
|
-
- [ ] All **required** CI checks green on latest head
|
|
514
|
-
- [ ] All review threads **resolved**(或用户书面 waive 特定 thread)
|
|
515
|
-
- [ ] §5.1 review comment + resolve 已覆盖本轮所有 addressed feedback
|
|
516
|
-
- [ ] Host todo `phase-5-pr-merge-ready` 可勾选
|
|
517
|
-
|
|
518
|
-
PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权 auto-merge。
|
|
358
|
+
**关键定位(hard)**:Phase 4 开 PR **≠** 迭代交付完成;必须完成 Phase 5 §5.2 merge-ready exit。**Push cadence(§5.1a HARD)**:本地可提前修,**禁止**在 CI / AI review 波次未结束时 `git push`。
|
|
519
359
|
|
|
520
360
|
---
|
|
521
361
|
|
|
@@ -525,50 +365,20 @@ PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权
|
|
|
525
365
|
|
|
526
366
|
## 与其它技能的关系
|
|
527
367
|
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
| `mstar-review-qc` | SDD 强制 plan QC tri — per-plan loop |
|
|
536
|
-
| `mstar-branch-worktree` | 分支/merge/worktree 隔离 |
|
|
537
|
-
| `mstar-compound` | iteration-close 中触发知识结晶(**唯一**默认 knowledge 新增路径) |
|
|
538
|
-
| `mstar-compound-refresh` | iteration-close 后可触发知识维护 |
|
|
539
|
-
| `references/iteration-artifact-boundaries.md` | Phase 1 specs / iteration package / knowledge 分工 |
|
|
540
|
-
| `references/iteration-workspace-readme-template.md` | `<iteration-id>/README.md` 可选模板(Documents 单表) |
|
|
541
|
-
| `references/iteration-corpus-hygiene.md` | §1.6 writing-specialist specs 卫生细则 |
|
|
542
|
-
| `references/autonomous-direction-lock.md` | §1.2 autonomous direction lock、scale budget、branch resolve |
|
|
543
|
-
| `references/phase-2-worktree-lease.md` | Phase 2 control worktree、`execution_lease`、`integration_merge_lease` |
|
|
544
|
-
| `mstar-strategy` | iteration-start 时读 `STRATEGY.md` 对齐方向 |
|
|
368
|
+
完整 topic-skill 索引见 **`mstar-harness-core`**。本 skill 迭代级关键引用:
|
|
369
|
+
|
|
370
|
+
- **`mstar-compound`** — iteration-close 中触发知识结晶(**唯一**默认 knowledge 新增路径)
|
|
371
|
+
- **`references/phase-2-worktree-lease.md`** — Phase 2 control worktree、`execution_lease`、`integration_merge_lease`
|
|
372
|
+
- **`references/autonomous-direction-lock.md`** — §1.2 autonomous direction lock、scale budget、branch resolve
|
|
373
|
+
- **`references/iteration-artifact-boundaries.md`** — Phase 1 specs / iteration package / knowledge 分工
|
|
374
|
+
- **`references/iteration-corpus-hygiene.md`** — §1.6 writing-specialist specs 卫生细则
|
|
545
375
|
|
|
546
376
|
## NOT to do
|
|
547
377
|
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
-
|
|
551
|
-
-
|
|
552
|
-
-
|
|
553
|
-
-
|
|
554
|
-
-
|
|
555
|
-
- 不要用 prose completion status 替代 compass frontmatter `status: completed` + `end_date`
|
|
556
|
-
- 不要跳过 compound Phase 6(`{KNOWLEDGE_DIR}/README.md` 索引)——即使只结晶一篇文档
|
|
557
|
-
- 不要跳过 compound——如果本迭代确实没有可结晶的知识,在 compass `## Compound Round Summary` 写 `无可结晶知识(原因:<简述>)`
|
|
558
|
-
- 不要将 **Phase 4 开 PR** 等同于 **迭代交付完成** — 必须完成 **Phase 5** §5.5 merge-ready loop
|
|
559
|
-
- **不要在 Phase 5 于 CI 仍在跑或 AI review 波次未结束时 push**(浪费 token、打断 review;§5.1a)— 本地可提前修,push 必须等 idle
|
|
560
|
-
- **不要在 iteration-start §1.6 由 product/architect 向 `{KNOWLEDGE_DIR}/` 新增文档**(知识 → iteration-close **`mstar-compound`**)
|
|
561
|
-
- **不要把迭代级草案写入 `{SPECS_DIR}/`**(应进 `{ITERATION_DIR}/<iteration-id>/specs/` 或 `guides/`)
|
|
562
|
-
- **不要在 iteration-close 跳过 `<iteration-id>/` package 盘点**(compound 提升 SSOT → **`mstar-compound`**)
|
|
563
|
-
- **不要新写根目录 `<iteration-id>-delivery-compass.md`**(canonical:`<iteration-id>/delivery-compass.md`;legacy flat 仅兼容读)
|
|
564
|
-
- **不要在 `{ITERATION_DIR}/README.md` 为同一迭代登记 compass + workspace 双行**(一行 = 一次迭代)
|
|
565
|
-
- **不要在 iteration-start §1.6 跳过 writing-specialist 全库 specs corpus hygiene**(仅改当轮 compass/plans 而不扫 `{SPECS_DIR}/`)
|
|
566
|
-
- **不要在 SDD plan 上以单席 `qc.md` 收尾**(除非用户书面 `QC mode: single — override`)
|
|
567
|
-
- **不要在未显式 `Direction lock mode: autonomous` 时跳过与用户收敛方向**(interactive 仍为默认)
|
|
568
|
-
- **不要在 `autonomous` mode 下例行问用户「是否同意该方向」**(须落盘 rationale;无候选且无约束时 STOP)
|
|
569
|
-
- **不要把 harness 流程(Review 链 / QC / QA / compound / close / PR 等)计进 Scale budget 的 plan 数量**,也不得为此单独建 process plan 占坑
|
|
570
|
-
- **不要在 Phase 2 无 verified `execution_lease` 就做可写 implement 派发**(resume 仅限同 `holder` verify-held-lease)
|
|
571
|
-
- **不要 steal / 覆盖他人 `execution_lease` 或 `integration_merge_lease`**(除非用户本轮显式 override + audit `notes`)
|
|
572
|
-
- **不要从 feature worktree 的 `{HARNESS_DIR}` 路径当作 plans / status / iterations / SDD SSOT**(control worktree 绝对路径为准;默认 gitignore 下 feature 缺 plans **不得**推断 `Worktree mode: waived`)
|
|
573
|
-
- **不要把「无 flock」与「gitignore / feature 缺 plans」捆成一次 waive**(无锁 → `Plan parallelism: serial` only;gitignore → control-path harness)
|
|
574
|
-
- **不要并行 merge 入 `spec_integration_branch`**(merge 必须经 `integration_merge_lease` 串行)
|
|
378
|
+
完整反模式索引见 **`mstar-harness-core`**。迭代级高频陷阱(其余各 Phase 内已含对应 hard rule):
|
|
379
|
+
|
|
380
|
+
- **不要将 Phase 4 开 PR 等同于迭代交付完成** — 必须完成 Phase 5 §5.2 merge-ready loop
|
|
381
|
+
- **不要在 Phase 5 CI 仍跑或 AI review 波次未结束时 push**(§5.1a)— 本地可提前修,push 等 idle
|
|
382
|
+
- **不要在缺 `iteration_base_branch` / `target_branch` 时默认 `main` / `master`**
|
|
383
|
+
- **不要在 iteration-start §1.6 由 product/architect 向 `{KNOWLEDGE_DIR}/` 新增**(知识 → iteration-close **`mstar-compound`**)
|
|
384
|
+
- **不要在 per-plan Done 后立即 compound** — 等 iteration-close 统一做
|