@mstar-harness/opencode 0.6.21 → 0.6.23
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/harness-commands/bootstrap.md +171 -0
- package/harness-commands/iteration-drive.md +42 -30
- package/harness-commands/iteration-start.md +11 -7
- package/harness-skills/mstar-compound/SKILL.md +251 -0
- package/harness-skills/mstar-compound/assets/resolution-template.md +94 -0
- package/harness-skills/mstar-compound/references/category-mapping.md +37 -0
- package/harness-skills/mstar-compound/references/concepts-vocabulary.md +44 -0
- package/harness-skills/mstar-compound/references/schema.yaml +122 -0
- package/harness-skills/mstar-compound-refresh/SKILL.md +128 -0
- package/harness-skills/mstar-dispatch-gates/SKILL.md +20 -8
- package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +6 -2
- package/harness-skills/mstar-harness-core/SKILL.md +13 -7
- package/harness-skills/mstar-iteration/SKILL.md +273 -0
- package/harness-skills/mstar-iteration/references/iteration-compass-template.md +96 -0
- package/harness-skills/mstar-phase-gates/SKILL.md +15 -3
- package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +1 -0
- package/harness-skills/mstar-plan-conventions/SKILL.md +1 -0
- package/harness-skills/mstar-plan-conventions/references/artifact-storage-paths.md +46 -0
- package/harness-skills/mstar-review-qc/SKILL.md +9 -0
- package/harness-skills/mstar-review-qc/references/deep-review-personas.md +151 -0
- package/harness-skills/mstar-roles/SKILL.md +6 -2
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +17 -4
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +8 -3
- package/harness-skills/mstar-strategy/SKILL.md +128 -0
- package/harness-skills/pm/SKILL.md +10 -67
- package/package.json +1 -1
|
@@ -49,17 +49,21 @@ Treat these as baseline dependencies **where the role touches implementation, re
|
|
|
49
49
|
| `mstar-review-qc` | QC workflow, template, verdict, high-risk checks |
|
|
50
50
|
| `mstar-coding-behavior` | Implementation/debug/refactor (**not** PM orchestration-only) |
|
|
51
51
|
| `mstar-superpowers-align` | Superpowers plugin on; Assignment `Superpowers` lines |
|
|
52
|
+
| `mstar-compound` | Capturing solved problems as structured knowledge in `{KNOWLEDGE_DIR}`; Discoverability check; CONCEPTS.md synergy |
|
|
53
|
+
| `mstar-compound-refresh` | Auditing/updating/consolidating knowledge docs; maintaining `{KNOWLEDGE_DIR}` accuracy |
|
|
54
|
+
| `mstar-iteration` | Iteration lifecycle: iteration-start (scope/roadmap lock), Autonomous Execute (per-plan dispatch loop), iteration-close (compound + roadmap update) |
|
|
55
|
+
| `mstar-strategy` | Creating/maintaining `STRATEGY.md`; project vision, principles, technology direction |
|
|
52
56
|
| `mstar-host` | Host-specific behavior (auto-detect; `references/opencode.md` / `cursor.md` / `codex.md`) |
|
|
53
57
|
|
|
54
58
|
### Role → typical topic skills (after `mstar-harness-core`)
|
|
55
59
|
|
|
56
60
|
| Role | Typical adds |
|
|
57
61
|
| --- | --- |
|
|
58
|
-
| `project-manager` | `mstar-dispatch-gates`, `mstar-phase-gates`, `mstar-plan-conventions`, `mstar-superpowers-align`, `mstar-roles` ref; + `mstar-review-qc` before QC; + `mstar-branch-worktree` / `mstar-plan-artifacts` as the round requires |
|
|
62
|
+
| `project-manager` | `mstar-dispatch-gates`, `mstar-phase-gates`, `mstar-plan-conventions`, `mstar-superpowers-align`, `mstar-roles` ref; + `mstar-review-qc` before QC; + `mstar-branch-worktree` / `mstar-plan-artifacts` as the round requires; + `mstar-iteration` for iteration lifecycle (start/drive/close); + `mstar-strategy` for strategic alignment; + `mstar-compound` / `mstar-compound-refresh` pre-loaded by `mstar-iteration` § iteration-close |
|
|
59
63
|
| `fullstack-dev*`, `frontend-dev` | `mstar-coding-behavior`, `mstar-dispatch-gates`, `mstar-branch-worktree` (if repo writes); plan path symbols from `mstar-plan-conventions` (minimal); `mstar-design-md` when implementing styled UI |
|
|
60
64
|
| `qc-specialist*` | `mstar-review-qc`, `mstar-branch-worktree`, `mstar-plan-artifacts` (report paths); `mstar-design-md` when reviewing UI |
|
|
61
65
|
| `qa-engineer` | `mstar-review-qc`, `mstar-branch-worktree`, `mstar-plan-artifacts` (closing R#); `mstar-design-md` when verifying visual output |
|
|
62
|
-
| `architect`, `product-manager` | `mstar-phase-gates` (Prepare), `mstar-plan-artifacts` (knowledge/specs); `mstar-design-md` (creator + design intent) |
|
|
66
|
+
| `architect`, `product-manager` | `mstar-phase-gates` (Prepare), `mstar-plan-artifacts` (knowledge/specs); `mstar-design-md` (creator + design intent); `mstar-strategy` (STRATEGY.md creation/maintenance) |
|
|
63
67
|
| `ops-engineer` | `mstar-coding-behavior`, `mstar-branch-worktree` |
|
|
64
68
|
| `prompt-engineer` | All topic skills when editing harness text |
|
|
65
69
|
|
|
@@ -30,11 +30,13 @@ For assignees (non-PM):
|
|
|
30
30
|
|
|
31
31
|
## Assignment Template (Canonical)
|
|
32
32
|
|
|
33
|
-
Every Assignment **MUST** start with
|
|
33
|
+
Every Assignment **MUST** start with an **IDENTITY → GUARD** block that answers three questions before any task content: (1) WHO am I? (2) What am I NOT? (3) What tools do I NOT have?
|
|
34
|
+
|
|
35
|
+
The **`**You are a leaf executor. You MUST NOT:**`** section (previously just prohibitions) must now include a positive **IDENTITY** preamble **before** the prohibitions, written as a first-person binding statement. The prohibitions follow as usual. PM customizes per assignment; the IDENTITY preamble + universal floor (no recursive dispatch, no interpreting routing text as invoke, available ≠ authorized) are the minimum. Add assignment-specific anti-patterns that the current role+context combination is prone to.
|
|
34
36
|
|
|
35
37
|
**How to fill the block (PM guidance)**:
|
|
36
38
|
|
|
37
|
-
- Always include the
|
|
39
|
+
- Always include the **IDENTITY preamble**: state who the assignee IS (e.g. "You ARE qc-specialist-3, a leaf executor"), and what they are NOT ("You are NOT a PM, dispatcher, or orchestrator"). Follow with the universal floor.
|
|
38
40
|
- Add anti-patterns specific to the assignment context. Examples per role type:
|
|
39
41
|
- **QC reviewers**: "start review before all QC reviewers are dispatched in parallel"; "treat other reviewers' names in routing text as invoke targets"
|
|
40
42
|
- **Multi-track implementers** (`fullstack-dev` + `frontend-dev`): "auto-dispatch to the other track mentioned in Dev routing"
|
|
@@ -49,7 +51,18 @@ Every Assignment **MUST** start with a **`You are a leaf executor. You MUST NOT:
|
|
|
49
51
|
```markdown
|
|
50
52
|
## Assignment
|
|
51
53
|
|
|
52
|
-
**You are a leaf executor.
|
|
54
|
+
**You are a leaf executor. Read this FIRST — before any tool call or skill load.**
|
|
55
|
+
|
|
56
|
+
**IDENTITY (this is WHO you are for this assignment):**
|
|
57
|
+
- You ARE `<role-id>`, a leaf executor. You personally complete ALL work in this assignment.
|
|
58
|
+
- You are NOT a PM, dispatcher, or orchestrator. You do NOT own any subagents.
|
|
59
|
+
- The Task/subagent tool — even if visible in your tool list — is NOT part of your authorized capabilities for this assignment. Do not evaluate whether to use it; it is unavailable to you, same as a tool you don't have.
|
|
60
|
+
|
|
61
|
+
**CAPABILITY BOUNDARY (what you CAN do vs what is NOT yours):**
|
|
62
|
+
- Your authorized tools: Read, Write, Edit, Shell, Grep, Glob — everything you need for direct work.
|
|
63
|
+
- NOT yours: Task, subagent invoke, dispatch of any kind.
|
|
64
|
+
|
|
65
|
+
**You MUST NOT:**
|
|
53
66
|
- dispatch or invoke any subagent unless `Delegation: allowed (...)` appears below
|
|
54
67
|
- treat `@role-id` mentions, `Handoff`, `QA note`, routing tables, or multi-track prose as invoke commands
|
|
55
68
|
- invoke a subagent whose `subagent_type` matches your own `Execute as` role id (recursive dispatch)
|
|
@@ -58,6 +71,7 @@ Every Assignment **MUST** start with a **`You are a leaf executor. You MUST NOT:
|
|
|
58
71
|
- ...
|
|
59
72
|
|
|
60
73
|
**Execute as**: <role-id>
|
|
74
|
+
**Delegation**: forbidden | allowed (...)
|
|
61
75
|
**Who runs this turn (executor lock)**: only `Execute as` role for this message
|
|
62
76
|
**Primary**: <route type>
|
|
63
77
|
**Task category**: `visual` | `deep` | `quick` | `logic` | `ops` | `docs`
|
|
@@ -74,7 +88,6 @@ Every Assignment **MUST** start with a **`You are a leaf executor. You MUST NOT:
|
|
|
74
88
|
**Review range / Diff basis**: <reproducible basis; identical across QC/QA for same scope>
|
|
75
89
|
**Worktree path**: <implementer path if used>
|
|
76
90
|
**QA note**: <PM-scheduled / skipped / self-check>
|
|
77
|
-
**Delegation**: forbidden | allowed (...)
|
|
78
91
|
**Why this agent**: <role-fit>
|
|
79
92
|
**PM Task Board coverage**: <task ids>
|
|
80
93
|
**Roadmap / deferred scope**: <required when staged, partial, or temporary; otherwise N/A>
|
|
@@ -29,9 +29,14 @@ Your output is a structured QC report plus completion report.
|
|
|
29
29
|
|
|
30
30
|
## Non-Recursive Dispatch Rule (Hard)
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
**You ARE `{role_id}`, a QC reviewer — not a PM, not a dispatcher.**
|
|
33
|
+
|
|
34
|
+
Your Assignment's IDENTITY block at the top already established this. Reinforcing:
|
|
35
|
+
|
|
36
|
+
- This review is YOUR work, for YOUR hands. Complete every step personally in this session.
|
|
37
|
+
- You do NOT have subagents. Task/subagent is not part of your authorized capabilities.
|
|
38
|
+
- Tri-review orchestration belongs to PM. Your job is to produce ONE report, not to coordinate others.
|
|
39
|
+
- If you ever think "this would be more efficient if I dispatched X" — stop. That thought is the recursive-dispatch trap. You CANNOT dispatch. Return to your direct work.
|
|
35
40
|
|
|
36
41
|
## QC NEVER Rules (`{role_id}`)
|
|
37
42
|
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-strategy
|
|
3
|
+
description: Morning Star 全局战略方向 —— 创建并维护 `STRATEGY.md`(项目级战略文档),作为 brainstorm/plan 的上游锚点。定义产品愿景、技术方向、不做事项、决策原则。触发:项目初始化、方向性决策变更、或 PM 要求战略对齐时。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# mstar-strategy(全局战略方向)
|
|
7
|
+
|
|
8
|
+
## Load order
|
|
9
|
+
|
|
10
|
+
**Read `mstar-harness-core` first.** Path symbols → **`mstar-plan-conventions`**. On conflict, **`mstar-harness-core` wins**.
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
`STRATEGY.md` is the project's **upstream anchor** — a concise declaration of what the project is, where it's going, and what principles guide decisions. It is read as grounding by brainstorm, plan, and ideation phases so strategic choices flow into every feature.
|
|
15
|
+
|
|
16
|
+
Without a strategy document, decisions are made in isolation — each plan misses the larger context.
|
|
17
|
+
|
|
18
|
+
## 产物存储位置
|
|
19
|
+
|
|
20
|
+
**SSOT**: `mstar-plan-conventions/references/artifact-storage-paths.md`。STRATEGY.md → `<repo-root>/STRATEGY.md`(与 `.git/`、`AGENTS.md` 同级)。**禁止**放入 `{HARNESS_DIR}`、`docs/` 或任何子目录。
|
|
21
|
+
|
|
22
|
+
## When to use
|
|
23
|
+
|
|
24
|
+
| Trigger | Example |
|
|
25
|
+
|---------|---------|
|
|
26
|
+
| Project initialization | "Create STRATEGY.md for this new project" |
|
|
27
|
+
| Directional change | "We're pivoting from monolith to microservices" |
|
|
28
|
+
| PM requests alignment | "Check if this plan aligns with our strategy" |
|
|
29
|
+
| Periodic review | "Review and update STRATEGY.md" |
|
|
30
|
+
|
|
31
|
+
## STRATEGY.md structure
|
|
32
|
+
|
|
33
|
+
A good strategy document is opinionated and concise. It should fit in one screen of reading.
|
|
34
|
+
|
|
35
|
+
### Required sections
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Strategy
|
|
39
|
+
|
|
40
|
+
## Vision
|
|
41
|
+
<1-2 sentences: what the project aims to become>
|
|
42
|
+
|
|
43
|
+
## What we build
|
|
44
|
+
<Core product/users/use cases>
|
|
45
|
+
|
|
46
|
+
## What we don't build
|
|
47
|
+
<Explicit non-goals — as important as goals>
|
|
48
|
+
|
|
49
|
+
## Guiding Principles
|
|
50
|
+
- <Principle 1>
|
|
51
|
+
- <Principle 2>
|
|
52
|
+
- <Principle 3>
|
|
53
|
+
|
|
54
|
+
## Technology Direction
|
|
55
|
+
<Key tech choices and rationale>
|
|
56
|
+
|
|
57
|
+
## Decision Log
|
|
58
|
+
<Major past decisions with context — why, not just what>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Optional sections
|
|
62
|
+
|
|
63
|
+
- **Current Focus** — what the team is working on now
|
|
64
|
+
- **Risks & Mitigations** — known strategic risks
|
|
65
|
+
- **Competitive Context** — what alternatives exist and how we differ
|
|
66
|
+
|
|
67
|
+
## Creating STRATEGY.md
|
|
68
|
+
|
|
69
|
+
### Phase 1: Gather context
|
|
70
|
+
|
|
71
|
+
1. Read existing project documentation (README, AGENTS.md, existing specs).
|
|
72
|
+
2. If `{KNOWLEDGE_DIR}` or `{ITERATION_DIR}` exist, scan for architectural decisions and patterns.
|
|
73
|
+
3. If `CONCEPTS.md` exists, use it to understand domain vocabulary.
|
|
74
|
+
|
|
75
|
+
### Phase 2: Interview
|
|
76
|
+
|
|
77
|
+
Ask PM these questions (one at a time):
|
|
78
|
+
|
|
79
|
+
1. "What is the one-sentence vision for this project?"
|
|
80
|
+
2. "Who are the primary users and what do they need most?"
|
|
81
|
+
3. "What are you explicitly NOT building? What's out of scope permanently?"
|
|
82
|
+
4. "What 2-3 principles should guide every technical decision?"
|
|
83
|
+
5. "What technology bets have you made, and why?"
|
|
84
|
+
|
|
85
|
+
### Phase 3: Draft
|
|
86
|
+
|
|
87
|
+
Write STRATEGY.md at the repo root. Keep it concise — each section should be 1-3 sentences or a short bullet list.
|
|
88
|
+
|
|
89
|
+
### Phase 4: Discoverability
|
|
90
|
+
|
|
91
|
+
Check if AGENTS.md references STRATEGY.md. If not, propose adding:
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
- `STRATEGY.md` — project vision and guiding principles
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Ask for consent before applying.
|
|
98
|
+
|
|
99
|
+
## Maintaining STRATEGY.md
|
|
100
|
+
|
|
101
|
+
### Review triggers
|
|
102
|
+
|
|
103
|
+
- After a major architectural decision
|
|
104
|
+
- When a plan introduces a new technology stack
|
|
105
|
+
- Quarterly review (scheduled by PM)
|
|
106
|
+
|
|
107
|
+
### Update rules
|
|
108
|
+
|
|
109
|
+
1. **Be decisive about direction changes.** Don't keep old strategy alongside new — replace it.
|
|
110
|
+
2. **Log decisions with context.** The Decision Log captures *why* a choice was made, not just what.
|
|
111
|
+
3. **Keep it current.** Stale strategy is worse than no strategy — it misdirects plans.
|
|
112
|
+
|
|
113
|
+
## STRATEGY.md vs other docs
|
|
114
|
+
|
|
115
|
+
| Document | Purpose | Audience |
|
|
116
|
+
|----------|---------|----------|
|
|
117
|
+
| `STRATEGY.md` | Product/technical direction, principles, decisions | PM, architect, all implementers |
|
|
118
|
+
| `AGENTS.md` | Repo maintenance policy, conventions | Contributors and agents |
|
|
119
|
+
| `CONCEPTS.md` | Domain vocabulary | Anyone reading/writing project docs |
|
|
120
|
+
| Plans in `{PLAN_DIR}/` | Feature-level implementation plan | Implementers, reviewers |
|
|
121
|
+
|
|
122
|
+
## NOT to do
|
|
123
|
+
|
|
124
|
+
- Do not write STRATEGY.md as a novel — it should be scannable
|
|
125
|
+
- Do not include implementation details or file paths
|
|
126
|
+
- Do not create without PM/architect input (ask the questions)
|
|
127
|
+
- Do not keep outdated strategy as "historical reference" — git preserves it
|
|
128
|
+
- Do not conflate strategy (direction) with conventions (how-to)
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pm
|
|
3
|
-
description: "Morning Star PM orchestration entry
|
|
3
|
+
description: "Morning Star PM orchestration entry. On Cursor/Codex, /pm launches project-manager. On OpenCode, switch to project-manager when the active agent is not PM. The autonomous Execute flow (per-plan dispatch, iteration management, compound) lives in mstar-iteration — this skill covers PM role identity, host entry, dispatch-first rules, and host-specific concerns."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PM — Morning Star orchestration entry
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
**PM role launcher and host adapter.** Iteration flow (start → Execute → close) → **`mstar-iteration`** (canonical SSOT). This skill handles: PM role identity per host, boot order, dispatch-first rules, Cursor Plan mode.
|
|
9
9
|
|
|
10
10
|
## Host entry (read `mstar-host` first)
|
|
11
11
|
|
|
12
12
|
| Host | Entry | PM role |
|
|
13
13
|
| --- | --- | --- |
|
|
14
|
-
| **Cursor / Codex** | User invokes **`/pm`** (or explicit
|
|
14
|
+
| **Cursor / Codex** | User invokes **`/pm`** (or explicit "run as PM") | Force **`project-manager`** for the session |
|
|
15
15
|
| **OpenCode** | User may already be on a configured agent | **If active role ≠ `project-manager`**: operate **only** as PM — load `mstar-roles` → `references/project-manager.md`; do **not** stay in dev/QC/architect voice for orchestration. Named invokes still use `@<agent-id>` per Assignment |
|
|
16
16
|
|
|
17
17
|
Detect host → Read `mstar-host` → `references/cursor.md` | `opencode.md` | `codex.md`.
|
|
@@ -20,77 +20,20 @@ Detect host → Read `mstar-host` → `references/cursor.md` | `opencode.md` | `
|
|
|
20
20
|
|
|
21
21
|
1. `mstar-harness-core`
|
|
22
22
|
2. `mstar-roles` → `references/project-manager.md`
|
|
23
|
-
3. Before first **implement**
|
|
23
|
+
3. Before first **implement** dispatch: `mstar-dispatch-gates` + host reference
|
|
24
24
|
4. Before **QC**: `mstar-review-qc`
|
|
25
|
-
5. **
|
|
25
|
+
5. **Iteration flow** (start / Execute / close): **`mstar-iteration`** — canonical SSOT for per-plan dispatch loop, integration branch, compound round. Do **not** re-describe the flow in this skill.
|
|
26
|
+
6. **On demand:** `mstar-phase-gates`, `mstar-plan-conventions`, `mstar-plan-artifacts`, `mstar-branch-worktree`, `mstar-superpowers-align`
|
|
26
27
|
|
|
27
|
-
Prepare/Execute gates, routing, Assignment templates, Task Board, QC tri-review, residuals → topic skills + PM references (not repeated here).
|
|
28
|
-
|
|
29
|
-
## When to activate autonomous Execute
|
|
30
|
-
|
|
31
|
-
Run **§ Autonomous Execute driver** when **all** are true:
|
|
32
|
-
|
|
33
|
-
1. Harness has **`{HARNESS_DIR}/status.json`** (default `.mstar/status.json`) with at least one plan **not** `Done`
|
|
34
|
-
2. **Pre-implement gate = GO** (`plan` locked, tasks ready — see `mstar-phase-gates` / PM Pre-Implement Gate Check)
|
|
35
|
-
3. User intent is **continue Execute** (`/pm`, “推进 iteration”, “继续 plans”, or equivalent)
|
|
36
|
-
|
|
37
|
-
If Prepare is incomplete → follow phase gates first; do **not** skip to implement dispatch.
|
|
38
|
-
|
|
39
|
-
## Autonomous Execute driver
|
|
40
|
-
|
|
41
|
-
**Goal:** finish the **active iteration** (all non-`Done` rows in `status.json.plans[]`) via dispatch loops — may span **multiple** `plan_id`s; do **not** stop after one plan while siblings remain open.
|
|
42
|
-
|
|
43
|
-
### 0. Session todos (before any dispatch)
|
|
44
|
-
|
|
45
|
-
Host UI todos are **session guardrails**, not SSOT. Set them **before** each plan wave so scope does not drift:
|
|
46
|
-
|
|
47
|
-
| Host | Tool | Minimum set |
|
|
48
|
-
| --- | --- | --- |
|
|
49
|
-
| **Cursor** | `TodoWrite` or CreatePlan todos | Current `plan_id`; next batch (implement / QC / QA); branch checkpoint |
|
|
50
|
-
| **Codex** | `update_plan` / Goal or Plan UI todos | Same intent — mirror active `plan_id` + next gate |
|
|
51
|
-
| **OpenCode** | Host todo/plan UI if present | Same intent |
|
|
52
|
-
|
|
53
|
-
SSOT remains `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/` — todos track **this session’s next moves**, not replace status.
|
|
54
|
-
|
|
55
|
-
### 1. Read backlog
|
|
56
|
-
|
|
57
|
-
1. Read **`mstar-plan-artifacts`** + **`{HARNESS_DIR}/status.json`**
|
|
58
|
-
2. List plans where `status` ∈ `{Todo, InProgress, InReview, Blocked}` (priority: `InProgress` → `InReview` → `Todo` → unblock `Blocked` if PM can)
|
|
59
|
-
3. Read **`metadata.spec_integration_branch`** / **`merge_target`** and **`primary_spec`** links (`mstar-plan-conventions`)
|
|
60
|
-
|
|
61
|
-
### 2. Iteration integration branch (Git cwd)
|
|
62
|
-
|
|
63
|
-
1. Resolve **Spec / iteration integration branch** from `status.json` (`spec_integration_branch` on plan metadata or iteration-level registration — see `mstar-plan-artifacts/references/status-and-residuals.md`)
|
|
64
|
-
2. **Checkout or create** that branch on the **business repo** cwd PM will orchestrate from; confirm with `git branch --show-current`
|
|
65
|
-
3. If missing from metadata → **stop**, Read `mstar-plan-conventions` + confirm with user per `mstar-branch-worktree` (PM branch confirmation template); record in plan + status **same round**
|
|
66
|
-
|
|
67
|
-
This branch is the **merge target** for each plan’s work until **all** plans under the iteration are `Done`.
|
|
68
|
-
|
|
69
|
-
### 3. Per-plan loop (until all `Done`)
|
|
70
|
-
|
|
71
|
-
For each active `plan_id`:
|
|
72
|
-
|
|
73
|
-
1. **Plan start — feature branch:** Assignment uses **`Working branch: create <plan-feature-branch> from <spec_integration_branch>`** (or PM-approved equivalent). One **dedicated plan implementation branch** per `plan_id`; parallel tracks inside a plan → topic branches from integration + worktrees (`mstar-branch-worktree`).
|
|
74
|
-
2. **Implement → InReview:** dispatch-only loops (`§ Dispatch-first`); update `status.json` + main plan after each Completion Report v2
|
|
75
|
-
3. **QC → QA → Done:** tri-review + QA per `mstar-review-qc`; PM marks `Done` only when gates pass
|
|
76
|
-
4. **Plan complete — merge back:** merge **plan feature branch** (and any integrated topic heads) **into `spec_integration_branch`**; resolve conflicts **before** next plan or QC on shared scope
|
|
77
|
-
5. **Next plan** from step 1 on updated integration branch
|
|
78
|
-
|
|
79
|
-
When **every** plan in the iteration is `Done` → optional PR from `spec_integration_branch` to `main` per `mstar-plan-conventions` (unless Assignment `Branch policy` says otherwise).
|
|
80
|
-
|
|
81
|
-
### 4. Push discipline
|
|
82
|
-
|
|
83
|
-
- **No** routine “should I continue?” on harness basics — decide, record in Assignment if needed, **dispatch**
|
|
84
|
-
- Unknowns → **Read** `mstar-*`; **`Blocked`** or user only for stop, secrets, irreversible scope gaps, or post-read rule conflict
|
|
85
|
-
- Actual Git ≠ plan/`status.json` `working_branch` → **same round** update plan + status **or** worktree dispatches before next implement
|
|
28
|
+
Prepare/Execute gates, routing, Assignment templates, Task Board, QC tri-review, residuals, compound → topic skills + PM references (not repeated here).
|
|
86
29
|
|
|
87
30
|
## Dispatch-first (`implement`)
|
|
88
31
|
|
|
89
32
|
| Do | Don't |
|
|
90
33
|
| --- | --- |
|
|
91
|
-
| **Loop:** `## Assignment` → invoke → Completion Report v2 → report-to-status → next batch | Parent **Write/Edit/Shell** on product code to
|
|
34
|
+
| **Loop:** `## Assignment` → invoke → Completion Report v2 → report-to-status → next batch | Parent **Write/Edit/Shell** on product code to "move faster" |
|
|
92
35
|
| **1 Assignment ⇒ 1 invoke** when host supports Task/@agent (`mstar-dispatch-gates`) | Assignment markdown only, no matching invoke |
|
|
93
|
-
| Put merge/branch/handoff from **this thread** into Assignment | Skip subagent because context is
|
|
36
|
+
| Put merge/branch/handoff from **this thread** into Assignment | Skip subagent because context is "already here" |
|
|
94
37
|
|
|
95
38
|
- **NEVER** implement while staying PM — QC 3× comes later; **implement still delegates** dev roles.
|
|
96
39
|
- **Delegate scope / PM whitelist:** `mstar-roles` → PM Execution Boundary.
|
|
@@ -108,4 +51,4 @@ CreatePlan / SwitchMode: Read **`mstar-host/references/cursor-plan-mode-bridge.m
|
|
|
108
51
|
3. `mstar-harness-core` + runtime `mstar-*`
|
|
109
52
|
4. This skill
|
|
110
53
|
|
|
111
|
-
**Dispatch-first + `mstar-dispatch-gates`** win over
|
|
54
|
+
**Dispatch-first + `mstar-dispatch-gates`** win over "fast parent agent" unless user overrides.
|