@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
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Category mapping: problem_type → directory under {KNOWLEDGE_DIR}
|
|
2
|
+
|
|
3
|
+
## Bug track
|
|
4
|
+
|
|
5
|
+
| problem_type | directory | track |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| `build_error` | `build-errors/` | bug |
|
|
8
|
+
| `test_failure` | `test-failures/` | bug |
|
|
9
|
+
| `runtime_error` | `runtime-errors/` | bug |
|
|
10
|
+
| `performance_issue` | `performance-issues/` | bug |
|
|
11
|
+
| `database_issue` | `database-issues/` | bug |
|
|
12
|
+
| `security_issue` | `security-issues/` | bug |
|
|
13
|
+
| `ui_bug` | `ui-bugs/` | bug |
|
|
14
|
+
| `integration_issue` | `integration-issues/` | bug |
|
|
15
|
+
| `logic_error` | `logic-errors/` | bug |
|
|
16
|
+
| `config_error` | `config-errors/` | bug |
|
|
17
|
+
|
|
18
|
+
## Knowledge track
|
|
19
|
+
|
|
20
|
+
| problem_type | directory | track |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `best_practice` | `best-practices/` | knowledge |
|
|
23
|
+
| `convention` | `conventions/` | knowledge |
|
|
24
|
+
| `architecture_pattern` | `architecture-patterns/` | knowledge |
|
|
25
|
+
| `design_pattern` | `design-patterns/` | knowledge |
|
|
26
|
+
| `tooling_decision` | `tooling-decisions/` | knowledge |
|
|
27
|
+
| `testing_pattern` | `testing-patterns/` | knowledge |
|
|
28
|
+
| `api_design` | `api-design/` | knowledge |
|
|
29
|
+
| `workflow_issue` | `workflow-patterns/` | knowledge |
|
|
30
|
+
| `developer_experience` | `developer-experience/` | knowledge |
|
|
31
|
+
| `documentation_gap` | `documentation/` | knowledge |
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
1. The `category` field in frontmatter must match the directory name (without trailing slash).
|
|
36
|
+
2. Prefer the narrowest applicable `problem_type`. Use `best_practice` only when no narrower knowledge-track value fits.
|
|
37
|
+
3. When creating a new directory under `{KNOWLEDGE_DIR}`, add it to this mapping and create an empty directory.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# CONCEPTS.md vocabulary rules
|
|
2
|
+
|
|
3
|
+
`CONCEPTS.md` **must** live at the repository root (`<repo-root>/CONCEPTS.md`, same level as `.git/` and `AGENTS.md`), **never** inside `{HARNESS_DIR}` or any subdirectory. It defines the words that mean something specific in this codebase — substrate that `{KNOWLEDGE_DIR}` and `AGENTS.md` can cite without redefinition.
|
|
4
|
+
|
|
5
|
+
## How terms enter
|
|
6
|
+
|
|
7
|
+
Two paths:
|
|
8
|
+
|
|
9
|
+
- **Accretion** — a learning surfaces a term whose meaning wasn't obvious, so it gets defined. Catches *peripheral* terms (friction surfaces them).
|
|
10
|
+
- **Seeding** — proactively defines **core domain nouns** the area's declared domain model exposes. Catches *stable-central* terms accretion never reaches.
|
|
11
|
+
|
|
12
|
+
### What earns a slot
|
|
13
|
+
|
|
14
|
+
A term qualifies when its meaning here is precise enough that a new engineer would need it defined to follow conversations, tickets, or code. General programming vocabulary does not belong.
|
|
15
|
+
|
|
16
|
+
### Per entry
|
|
17
|
+
|
|
18
|
+
- **Definition**: one sentence — what the term means in this domain, what makes it distinct from neighbors.
|
|
19
|
+
- A term with non-obvious behavioral rules (lifecycle, cancellation semantics, ownership invariants) earns a second paragraph.
|
|
20
|
+
- When retired synonyms exist: `*Avoid:* old-name, other-name`.
|
|
21
|
+
- No implementation specifics (file paths, class names, table names), no status/date/owner fields, no version-specific claims.
|
|
22
|
+
|
|
23
|
+
### Organization
|
|
24
|
+
|
|
25
|
+
Cluster by domain relationship — entities with their states, processes with their stages. A flat list works when the file is small. Reshape as it grows.
|
|
26
|
+
|
|
27
|
+
### Flagged ambiguities (tail of file)
|
|
28
|
+
|
|
29
|
+
When two terms were used interchangeably and the team settled on a distinction, record the resolution as a one-line note.
|
|
30
|
+
|
|
31
|
+
## One illustrative entry
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
## MyDomain
|
|
35
|
+
|
|
36
|
+
### Reservation
|
|
37
|
+
A future commitment to seat a Party at a specified date and time.
|
|
38
|
+
*Avoid:* Booking, appointment
|
|
39
|
+
|
|
40
|
+
A Reservation owns its Party but does not own a Table — Tables are acquired only when the Party arrives, through a Seating. Lifecycle: Booked → Seated → Completed → No-Show.
|
|
41
|
+
|
|
42
|
+
### Party
|
|
43
|
+
The guests committed to a Reservation. Each Reservation has exactly one Party.
|
|
44
|
+
```
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Knowledge documentation schema for {KNOWLEDGE_DIR}
|
|
2
|
+
# Canonical frontmatter contract. Two tracks: bug and knowledge.
|
|
3
|
+
|
|
4
|
+
tracks:
|
|
5
|
+
bug:
|
|
6
|
+
description: "Defects, failures, and errors that were diagnosed and fixed"
|
|
7
|
+
problem_types:
|
|
8
|
+
- build_error
|
|
9
|
+
- test_failure
|
|
10
|
+
- runtime_error
|
|
11
|
+
- performance_issue
|
|
12
|
+
- database_issue
|
|
13
|
+
- security_issue
|
|
14
|
+
- ui_bug
|
|
15
|
+
- integration_issue
|
|
16
|
+
- logic_error
|
|
17
|
+
- config_error
|
|
18
|
+
knowledge:
|
|
19
|
+
description: "Practices, patterns, conventions, decisions, and workflow improvements"
|
|
20
|
+
problem_types:
|
|
21
|
+
- best_practice
|
|
22
|
+
- documentation_gap
|
|
23
|
+
- workflow_issue
|
|
24
|
+
- developer_experience
|
|
25
|
+
- architecture_pattern
|
|
26
|
+
- design_pattern
|
|
27
|
+
- tooling_decision
|
|
28
|
+
- convention
|
|
29
|
+
- api_design
|
|
30
|
+
- testing_pattern
|
|
31
|
+
|
|
32
|
+
required_fields:
|
|
33
|
+
module:
|
|
34
|
+
type: string
|
|
35
|
+
description: "Module, component, or area affected"
|
|
36
|
+
|
|
37
|
+
date:
|
|
38
|
+
type: string
|
|
39
|
+
pattern: '^\d{4}-\d{2}-\d{2}$'
|
|
40
|
+
description: "Date documented (YYYY-MM-DD)"
|
|
41
|
+
|
|
42
|
+
problem_type:
|
|
43
|
+
type: enum
|
|
44
|
+
values:
|
|
45
|
+
- build_error
|
|
46
|
+
- test_failure
|
|
47
|
+
- runtime_error
|
|
48
|
+
- performance_issue
|
|
49
|
+
- database_issue
|
|
50
|
+
- security_issue
|
|
51
|
+
- ui_bug
|
|
52
|
+
- integration_issue
|
|
53
|
+
- logic_error
|
|
54
|
+
- config_error
|
|
55
|
+
- developer_experience
|
|
56
|
+
- workflow_issue
|
|
57
|
+
- best_practice
|
|
58
|
+
- documentation_gap
|
|
59
|
+
- architecture_pattern
|
|
60
|
+
- design_pattern
|
|
61
|
+
- tooling_decision
|
|
62
|
+
- convention
|
|
63
|
+
- api_design
|
|
64
|
+
- testing_pattern
|
|
65
|
+
description: "Primary category — determines track (bug vs knowledge)"
|
|
66
|
+
|
|
67
|
+
category:
|
|
68
|
+
type: string
|
|
69
|
+
description: "Directory name under {KNOWLEDGE_DIR} (see category-mapping.md)"
|
|
70
|
+
|
|
71
|
+
severity:
|
|
72
|
+
type: enum
|
|
73
|
+
values:
|
|
74
|
+
- critical
|
|
75
|
+
- high
|
|
76
|
+
- medium
|
|
77
|
+
- low
|
|
78
|
+
description: "Impact severity"
|
|
79
|
+
|
|
80
|
+
track_rules:
|
|
81
|
+
bug:
|
|
82
|
+
required:
|
|
83
|
+
symptoms:
|
|
84
|
+
type: array
|
|
85
|
+
description: "Observable symptoms (errors, broken behavior)"
|
|
86
|
+
root_cause:
|
|
87
|
+
type: string
|
|
88
|
+
description: "Fundamental technical cause"
|
|
89
|
+
resolution_type:
|
|
90
|
+
type: enum
|
|
91
|
+
values:
|
|
92
|
+
- code_fix
|
|
93
|
+
- migration
|
|
94
|
+
- config_change
|
|
95
|
+
- test_fix
|
|
96
|
+
- dependency_update
|
|
97
|
+
- environment_setup
|
|
98
|
+
- workflow_improvement
|
|
99
|
+
- documentation_update
|
|
100
|
+
- tooling_addition
|
|
101
|
+
description: "Type of fix applied"
|
|
102
|
+
knowledge:
|
|
103
|
+
optional:
|
|
104
|
+
applies_when:
|
|
105
|
+
type: array
|
|
106
|
+
description: "Conditions or situations where this guidance applies"
|
|
107
|
+
|
|
108
|
+
optional_fields:
|
|
109
|
+
plan_id:
|
|
110
|
+
type: string
|
|
111
|
+
description: "Link to status.json plans[].id"
|
|
112
|
+
tags:
|
|
113
|
+
type: array
|
|
114
|
+
max_items: 8
|
|
115
|
+
description: "Search keywords, lowercase, hyphen-separated"
|
|
116
|
+
last_updated:
|
|
117
|
+
type: string
|
|
118
|
+
pattern: '^\d{4}-\d{2}-\d{2}$'
|
|
119
|
+
description: "Date of last substantive update (added when updating an existing doc)"
|
|
120
|
+
related_components:
|
|
121
|
+
type: array
|
|
122
|
+
description: "Other components involved"
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-compound-refresh
|
|
3
|
+
description: Morning Star 知识维护 —— 审查 `{KNOWLEDGE_DIR}` 中文档是否仍准确、去重叠合并、清理过期知识。触发:`mstar-compound` 发现可合并文档、定期维护、或显式调用。产出:更新/合并/删除/标记为 stale 的文档 + 维护报告。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# mstar-compound-refresh(知识维护)
|
|
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
|
+
Knowledge documents in `{KNOWLEDGE_DIR}` age. Code changes, conventions evolve, patterns become obsolete. `mstar-compound-refresh` audits the knowledge store against the current codebase and makes it trustworthy again.
|
|
15
|
+
|
|
16
|
+
## 产物与操作路径
|
|
17
|
+
|
|
18
|
+
**SSOT**: `mstar-plan-conventions/references/artifact-storage-paths.md`。本 skill 仅操作 `{HARNESS_DIR}/knowledge/**/*.md` + `{HARNESS_DIR}/knowledge/README.md` + `<repo-root>/CONCEPTS.md` + `{HARNESS_DIR}/status.json`(引用更新)。**禁止**操作 `docs/`、`{PLAN_DIR}/`、`{ITERATION_DIR}/`、`{SPECS_DIR}/`。
|
|
19
|
+
|
|
20
|
+
## When to use
|
|
21
|
+
|
|
22
|
+
| Trigger | Example |
|
|
23
|
+
|---------|---------|
|
|
24
|
+
| `mstar-compound` detected overlapping docs | "Two docs cover N+1 queries — consider refresh" |
|
|
25
|
+
| Scheduled maintenance | "It's been a quarter, let's audit knowledge" |
|
|
26
|
+
| Domain refactored | After a major module rewrite |
|
|
27
|
+
| Explicit user request | `/pm compound-refresh performance-issues` |
|
|
28
|
+
|
|
29
|
+
## Maintenance outcomes
|
|
30
|
+
|
|
31
|
+
For each candidate document, classify into one of five outcomes:
|
|
32
|
+
|
|
33
|
+
| Outcome | Meaning | Default action |
|
|
34
|
+
|---------|---------|----------------|
|
|
35
|
+
| **Keep** | Still accurate and useful | No edit; report reviewed |
|
|
36
|
+
| **Update** | Core solution correct, references drifted | In-place edits (paths, module names, code snippets) |
|
|
37
|
+
| **Consolidate** | Two+ docs overlap heavily, both correct | Merge unique content into canonical doc, delete subsumed |
|
|
38
|
+
| **Replace** | Old doc is misleading; known better replacement exists | Create trustworthy successor, then delete old |
|
|
39
|
+
| **Delete** | No longer useful, applicable, or distinct | Delete — git history preserves it |
|
|
40
|
+
|
|
41
|
+
## Core rules
|
|
42
|
+
|
|
43
|
+
1. **Evidence over opinion.** Signals are inputs, not a scorecard. Use engineering judgment.
|
|
44
|
+
2. **Prefer no-write Keep.** Do not update a doc just to leave a review breadcrumb.
|
|
45
|
+
3. **Match docs to reality.** When code differs from doc, update the doc — not ask whether the code change was "intentional."
|
|
46
|
+
4. **Be decisive.** When evidence is clear (file renamed, class moved), apply. Only ask PM when genuinely ambiguous.
|
|
47
|
+
5. **Avoid low-value churn.** Don't edit for typos, polish, or cosmetic changes that don't improve accuracy.
|
|
48
|
+
6. **Delete, don't archive.** No `_archived/` directory. Git history is the archive. `git log --diff-filter=D -- <path>` finds deleted docs.
|
|
49
|
+
7. **Evaluate document-set design.** Check whether two+ docs overlap and should be consolidated. Redundant docs silently drift apart.
|
|
50
|
+
|
|
51
|
+
## Scope selection
|
|
52
|
+
|
|
53
|
+
### Default: user-guided
|
|
54
|
+
|
|
55
|
+
1. Ask PM for scope: "All knowledge docs, a specific category, or a keyword?"
|
|
56
|
+
2. If category: narrow to `{KNOWLEDGE_DIR}/<category>/`.
|
|
57
|
+
3. If keyword: search frontmatter (`module:`, `tags:`, `problem_type:`) and filenames.
|
|
58
|
+
|
|
59
|
+
### PM-directed: specific scope
|
|
60
|
+
|
|
61
|
+
PM provides a scope hint (directory name, filename, module name, or keyword). Match in this order:
|
|
62
|
+
1. Directory match under `{KNOWLEDGE_DIR}/`
|
|
63
|
+
2. Frontmatter field match
|
|
64
|
+
3. Filename match
|
|
65
|
+
4. Content search
|
|
66
|
+
|
|
67
|
+
## Process
|
|
68
|
+
|
|
69
|
+
### Phase 1: Inventory
|
|
70
|
+
|
|
71
|
+
1. List all `.md` files under `{KNOWLEDGE_DIR}/` (excluding `README.md` and index files).
|
|
72
|
+
2. Read frontmatter of each candidate.
|
|
73
|
+
3. Group by `category` / `module` for impact clustering.
|
|
74
|
+
|
|
75
|
+
### Phase 2: Assess per doc
|
|
76
|
+
|
|
77
|
+
For each doc, check:
|
|
78
|
+
|
|
79
|
+
1. **Referenced code still exists?** — grep for file paths, class names, function names mentioned.
|
|
80
|
+
2. **Referenced conventions still match?** — check against current `AGENTS.md`, `CONCEPTS.md`, lint configs.
|
|
81
|
+
3. **Solution still the recommended approach?** — has a newer pattern superseded it?
|
|
82
|
+
4. **Overlap with other docs?** — search for same module/tags to find duplicates.
|
|
83
|
+
|
|
84
|
+
### Phase 3: Classify and act
|
|
85
|
+
|
|
86
|
+
Classify each doc → Keep / Update / Consolidate / Replace / Delete. Apply changes.
|
|
87
|
+
|
|
88
|
+
### Phase 4: Update indexes
|
|
89
|
+
|
|
90
|
+
1. Update `{KNOWLEDGE_DIR}/README.md` index table — update Status column, add/remove rows.
|
|
91
|
+
2. If doc was linked from `status.json` metadata, update references.
|
|
92
|
+
|
|
93
|
+
### Phase 5: Report
|
|
94
|
+
|
|
95
|
+
Produce a maintenance report:
|
|
96
|
+
- Docs reviewed (count)
|
|
97
|
+
- Docs kept (count)
|
|
98
|
+
- Docs updated (list with what changed)
|
|
99
|
+
- Docs consolidated (list with which canonical doc merged into)
|
|
100
|
+
- Docs replaced (list with successor path)
|
|
101
|
+
- Docs deleted (list with reason)
|
|
102
|
+
- Docs flagged for PM review (ambiguous cases)
|
|
103
|
+
|
|
104
|
+
### Phase 6: CONCEPTS.md reconciliation
|
|
105
|
+
|
|
106
|
+
If `CONCEPTS.md` exists, reconcile it with the refreshed knowledge:
|
|
107
|
+
- Terms mentioned in updated/replaced docs may need updating in CONCEPTS.md
|
|
108
|
+
- Terms no longer referenced may be candidates for removal
|
|
109
|
+
|
|
110
|
+
If `CONCEPTS.md` doesn't exist but knowledge docs contain qualifying domain terms, propose bootstrapping it (full repo-wide seed). Use `references/concepts-vocabulary.md` from `mstar-compound` for rules (read on demand — cross-skill path resolution via skill directory).
|
|
111
|
+
|
|
112
|
+
## Cross-skill coordination
|
|
113
|
+
|
|
114
|
+
`mstar-compound-refresh` reads vocabulary rules from `mstar-compound`'s references. At runtime, resolve the path from the loaded skill directory:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
The CONCEPTS.md vocabulary rules are in the mstar-compound skill at:
|
|
118
|
+
references/concepts-vocabulary.md
|
|
119
|
+
Read that file from the mstar-compound skill directory before Phase 6.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## NOT to do
|
|
123
|
+
|
|
124
|
+
- Do not delete docs without checking for inbound links
|
|
125
|
+
- Do not "archive" — delete instead
|
|
126
|
+
- Do not ask PM about mechanical updates (path fixes, renamed modules)
|
|
127
|
+
- Do not change code to match outdated docs — update docs to match code
|
|
128
|
+
- Do not run without PM approval for destructive actions (Delete, Replace)
|
|
@@ -7,14 +7,17 @@ description: Morning Star 派发与委派门禁 —— 仅 PM 可增派 subagent
|
|
|
7
7
|
|
|
8
8
|
**首次 Read 本 skill 前:必须先 Read `mstar-harness-core`(SKILL.md)。** 同仓 worktree、QC/QA 检出字段 → **`mstar-branch-worktree`**。冲突时 **以 `mstar-harness-core` 为准**。
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## 🚨 承接方:如果你是 leaf executor,先读本节!(你的 Assignment 开头 IDENTITY 块已告诉你身份)
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
12
|
+
> **如果你此刻的 Assignment 中 `Delegation: forbidden`(或未写 `Delegation: allowed`),则你属于 leaf executor。本节是你的行为边界,必须在你做任何决定之前读完。**
|
|
13
|
+
>
|
|
14
|
+
> **先回到你 Assignment 最顶部的 `**IDENTITY**` 块重读一遍** —— 那里已经告诉你:你是谁、你不是谁、Task 工具不属于你。本节是那个身份断言的加固版。
|
|
15
|
+
|
|
16
|
+
**身份断言(牢记,不动摇):**
|
|
17
|
+
- **你就是** `Execute as` 写的那个角色。你**不是 PM**,不是调度者,不是 `dispatching-parallel-agents` 的使用者。
|
|
18
|
+
- Task/subagent 工具即使在你的工具列表里出现,它**不属于你**。把它当作你没见过的工具 —— 不是"不能用",是"你没有"。
|
|
19
|
+
- 所有工作由你**本人**在当前会话内完成(Read / Write / Edit / Shell / Grep / Glob)。任何"这样做更高效"的想法都不构成 dispatch 的理由。
|
|
20
|
+
- 遇到超出能力范围的需求 → 写 `## Blocked` 回报 PM,**不是**尝试 dispatch。Blocked 是你能发出的正确信号,dispatch 不是。
|
|
18
21
|
|
|
19
22
|
## 承接方反递归红线(NEVER / DO NOT;leaf executor 必读)
|
|
20
23
|
|
|
@@ -35,7 +38,16 @@ description: Morning Star 派发与委派门禁 —— 仅 PM 可增派 subagent
|
|
|
35
38
|
3. 下一动作是不是「Task / subagent_type=…」?是 → 停手,改为 Read / Write / Shell / Edit,或 **`Blocked`**。
|
|
36
39
|
4. 命中任一 NEVER → 写 `## Blocked — recursive dispatch refused (<which NEVER>)` 回报 PM,**不**继续 invoke。
|
|
37
40
|
|
|
38
|
-
**Assignment 顶部反模式块**:每个 PM Assignment 开头均有 **`**You are a leaf executor. You MUST NOT:**`**
|
|
41
|
+
**Assignment 顶部反模式块**:每个 PM Assignment 开头均有 **`**You are a leaf executor. You MUST NOT:**`** 块(含 IDENTITY + CAPABILITY BOUNDARY + prohibitions),PM 按此 Assignment 的角色+上下文定制反模式清单。leaf executor 收到 Assignment 后须 **首先** 阅读该块;命中任一条 → **停止**(亲自完成或 `Blocked`)。详见 **`mstar-roles/references/project-manager/dispatch-and-assignment.md`**。
|
|
42
|
+
|
|
43
|
+
## 调度防串扰(强制;leaf executor 已在上方读过反递归红线,此处为完整规则供 PM/对照用)
|
|
44
|
+
|
|
45
|
+
- 只有 **`@project-manager`** 可以决定增加/并行 subagent;承接方**默认不得二次分派**。
|
|
46
|
+
- **`Execute as: <role-id>`** = 承接方**亲自**完成本单,**不是**再起同名 subagent 或嵌套同 `subagent_type` 的 Task(禁止**递归误派**)。
|
|
47
|
+
- 额外代理仅以 **`Delegation: allowed (...)`** 为准;未显式写时视为 **`Delegation: forbidden`**。
|
|
48
|
+
- Assignment 正文中的 `@xxx` 默认按「文本引用」解释,**不**视为自动调用命令。
|
|
49
|
+
- 承接方若判断必须增加 subagent,应先回报 **`Blocked`** 请 PM 重分派。
|
|
50
|
+
- **Superpowers `subagent-driven-development`**:per-task 子步**勿**用 `@qc-specialist*`;用 `@general` / `generalPurpose` 或 PM 标明的 informal `@qa-engineer`。详见 **`mstar-superpowers-align`**。
|
|
39
51
|
|
|
40
52
|
## 并发分派完整性门禁(PM 强制)
|
|
41
53
|
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
> Load **`mstar-harness-core`** first, then **`mstar-dispatch-gates`** SKILL.md.
|
|
4
4
|
>
|
|
5
|
-
> **First**: read the `**You are a leaf executor. You MUST NOT:**`
|
|
5
|
+
> **First**: read the `**IDENTITY**` and `**CAPABILITY BOUNDARY**` blocks at the top of your Assignment. Those tell you who you ARE and what tools are NOT yours. Then read the `**You are a leaf executor. You MUST NOT:**` prohibitions. Those anti-patterns are customized for your specific role+context and are the authoritative dispatch boundaries for this assignment.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**Preamble — internalize before any action:**
|
|
8
|
+
|
|
9
|
+
I am a leaf executor. I personally complete all work. Task/subagent is NOT my tool. If I think about dispatching, I stop and return to my direct work or write `Blocked`.
|
|
10
|
+
|
|
11
|
+
Before any Task/subagent call (if I somehow forget the preamble):
|
|
8
12
|
|
|
9
13
|
1. What is my **`Execute as`**?
|
|
10
14
|
2. Does the Assignment include **`Delegation: allowed (...)`**? If no → **no** Task/subagent.
|
|
@@ -24,15 +24,17 @@ description: Morning Star (启明星) harness **强制全局入口** —— 信
|
|
|
24
24
|
|
|
25
25
|
## 最小交付循环
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
**per-plan**:`specify → clarify → plan` → `plan(locked) → tasks → implement` → QC 三审 + QA → Done。阶段细则 → **`mstar-phase-gates`**。
|
|
28
|
+
|
|
29
|
+
**迭代级**:`iteration-start → [per-plan cycle × N] → iteration-close(含知识结晶 `mstar-compound`)`。细则 → **`mstar-iteration`**。
|
|
28
30
|
|
|
29
31
|
## 加载约定(强制)
|
|
30
32
|
|
|
31
33
|
| 角色 | 始终 | 按任务追加(典型) |
|
|
32
34
|
|------|------|-------------------|
|
|
33
35
|
| **全部** | 本 skill | — |
|
|
34
|
-
| **`@project-manager`** | 本 skill | `mstar-dispatch-gates`、`mstar-phase-gates`、`mstar-plan-conventions`、`mstar-superpowers-align`、`mstar-roles`;派 QC 前 `mstar-review-qc`;并行/审查 `mstar-branch-worktree`;plan/status/reports `mstar-plan-artifacts`;UI 类 plan Prepare 阶段 `mstar-design-md`(DESIGN.md
|
|
35
|
-
| **实现/审查/QA/运维** | 本 skill + `mstar-coding-behavior` + 角色 ref | 有 git 写:`mstar-branch-worktree`;有 plan 路径:`mstar-plan-conventions`(路径符号节);QC/QA:`mstar-review-qc`;改 status/residual:`mstar-plan-artifacts`;UI 任务:`mstar-design-md`(读取 DESIGN.md tokens
|
|
36
|
+
| **`@project-manager`** | 本 skill | `mstar-dispatch-gates`、`mstar-phase-gates`、`mstar-plan-conventions`、`mstar-superpowers-align`、`mstar-roles`;派 QC 前 `mstar-review-qc`;并行/审查 `mstar-branch-worktree`;plan/status/reports `mstar-plan-artifacts`;UI 类 plan Prepare 阶段 `mstar-design-md`(DESIGN.md 门禁);迭代管理 `mstar-iteration`(iteration-start/drive/close 含 compound);战略性工作 `mstar-strategy`。**不**读 `mstar-coding-behavior` |
|
|
37
|
+
| **实现/审查/QA/运维** | 本 skill + `mstar-coding-behavior` + 角色 ref | 有 git 写:`mstar-branch-worktree`;有 plan 路径:`mstar-plan-conventions`(路径符号节);QC/QA:`mstar-review-qc`;改 status/residual:`mstar-plan-artifacts`;UI 任务:`mstar-design-md`(读取 DESIGN.md tokens);写入知识库 `{KNOWLEDGE_DIR}`:`mstar-compound`(PM 触发) |
|
|
36
38
|
| **leaf 承接方** | 上栏 + **`mstar-dispatch-gates`**(反递归节) | — |
|
|
37
39
|
|
|
38
40
|
Routing eval(Cursor 维护)→ `.cursor/skills/mstar-routing-eval/`,**非**运行时必读。
|
|
@@ -77,15 +79,19 @@ PM 在 Assignment 写 **`Task category`**(主类 + 可选 `secondary`):
|
|
|
77
79
|
|
|
78
80
|
| Skill | 职责 |
|
|
79
81
|
|-------|------|
|
|
80
|
-
|
|
|
81
|
-
| `mstar-phase-gates` | Prepare/Execute、意图门禁、hotfix、可验证编辑 |
|
|
82
|
+
| `mstar-harness-core` | 本文件:入口、状态机、Task category、explore、索引、护栏 |
|
|
83
|
+
| `mstar-phase-gates` | per-plan 双阶段门禁:Prepare/Execute、意图门禁、hotfix、可验证编辑 |
|
|
84
|
+
| `mstar-iteration` | 迭代管理:iteration-start(锁定范围/Roadmap)、Phase 2 Autonomous Execute(per-plan 派发循环:分支→实现→QC→QA→Done→合并)、iteration-close(收口 compound、更新 roadmap) |
|
|
82
85
|
| `mstar-dispatch-gates` | 派发、Delegation、反递归、并行 invoke、QC 同消息三审 |
|
|
83
86
|
| `mstar-branch-worktree` | 功能分支、worktree、QC/QA 检出对齐 |
|
|
84
|
-
| `mstar-plan-conventions` | `{HARNESS_DIR}` 发现、初始化、Spec
|
|
87
|
+
| `mstar-plan-conventions` | `{HARNESS_DIR}` 发现、初始化、Spec 分支模型摘要、产物路径 SSOT |
|
|
85
88
|
| `mstar-plan-artifacts` | 主 plan、reports、`status.json`、residual、knowledge、Done 归档 |
|
|
86
89
|
| `mstar-design-md` | DESIGN.md 设计系统规范 —— 创建/审计/维护 design tokens,三级检查清单,light/dark 双主题 |
|
|
87
|
-
| `mstar-review-qc` | QC 工作流、模板、verdict、residual
|
|
90
|
+
| `mstar-review-qc` | QC 工作流、模板、verdict、residual 留档、deep review 透镜 |
|
|
88
91
|
| `mstar-coding-behavior` | Think / Simplicity / Surgical / Debugging / Goal-Driven / Communication |
|
|
92
|
+
| `mstar-compound` | 知识结晶 —— 已解决问题→结构化知识文档,双轨(Bug/Knowledge),「是否值得结晶」自检清单,重叠检测,可发现性检查,CONCEPTS.md 协同 |
|
|
93
|
+
| `mstar-compound-refresh` | 知识维护 —— 审查/更新/合并/删除 `{KNOWLEDGE_DIR}` 文档 |
|
|
94
|
+
| `mstar-strategy` | `STRATEGY.md` 全局战略方向 —— 产品愿景、技术方向、决策原则 |
|
|
89
95
|
| `mstar-superpowers-align` | Superpowers × harness 优先级与短语 |
|
|
90
96
|
| `mstar-roles` | 角色正文 hub |
|
|
91
97
|
| `mstar-host` | 宿主适配(自动识别;`references/opencode.md` / `cursor.md` / `codex.md` / `parallel-dispatch.md`) |
|