@mstar-harness/opencode 1.8.2 → 1.8.5
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 +29 -0
- package/harness-skills/mstar-host/SKILL.md +15 -1
- package/harness-skills/mstar-host/references/_shared/host-role-binding-core.md +14 -7
- package/harness-skills/mstar-host/references/codex.md +1 -1
- package/harness-skills/mstar-host/references/cursor.md +1 -0
- package/harness-skills/mstar-host/references/kimi.md +1 -1
- package/harness-skills/mstar-host/references/omp.md +78 -25
- package/harness-skills/mstar-host/references/opencode.md +1 -0
- package/harness-skills/mstar-host/references/parallel-dispatch.md +1 -1
- package/harness-skills/mstar-host/references/zcode.md +1 -1
- package/harness-skills/mstar-iteration/SKILL.md +4 -4
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +5 -3
- package/harness-skills/mstar-plan-conventions/SKILL.md +1 -1
- package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +1 -1
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +1 -1
- package/harness-skills/mstar-sdd/SKILL.md +10 -8
- package/harness-skills/mstar-sdd/references/file-handoffs.md +6 -4
- package/harness-skills/mstar-skill-authoring/SKILL.md +11 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,35 @@ The monorepo root [CHANGELOG.md](../../CHANGELOG.md) summarizes cross-surface re
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.8.5] - 2026-08-06
|
|
10
|
+
|
|
11
|
+
### Bundled harness skills (`harness-skills/` at publish)
|
|
12
|
+
|
|
13
|
+
- Sync `mstar-host` § Resolve loaded skill root + host-reference skill-root cues; `mstar-skill-authoring` anti-pattern for rules/CLI cwd paths.
|
|
14
|
+
- Version alignment with harness **1.8.5** (no OpenCode package API change).
|
|
15
|
+
|
|
16
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.8.5**.
|
|
17
|
+
|
|
18
|
+
## [1.8.4] - 2026-08-06
|
|
19
|
+
|
|
20
|
+
- **Bundled skills**: skill-relative script path naming (`mstar-sdd` → `scripts/…`) so agents resolve scripts from the loaded skill directory instead of consumer-cwd `skills/…` paths.
|
|
21
|
+
- Version alignment with harness **1.8.4** (no OpenCode package API change).
|
|
22
|
+
|
|
23
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.8.4**.
|
|
24
|
+
|
|
25
|
+
## [1.8.3] - 2026-08-05
|
|
26
|
+
|
|
27
|
+
- **Bundled skills**: omp host C5 corrected — prefer live-schema Morning Star role `task.agent` values from discovered `agents/*.md`; keep C5b skill load; update shared host-role-binding + parallel-dispatch docs.
|
|
28
|
+
- Version alignment with harness **1.8.3** (no OpenCode package API change).
|
|
29
|
+
|
|
30
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.8.3**.
|
|
31
|
+
|
|
32
|
+
## [1.8.2] - 2026-08-05
|
|
33
|
+
|
|
34
|
+
- Version alignment with harness **1.8.2** (README/host-detection docs; no OpenCode package API change).
|
|
35
|
+
|
|
36
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.8.2**.
|
|
37
|
+
|
|
9
38
|
## [1.8.1] - 2026-08-05
|
|
10
39
|
|
|
11
40
|
- **Bundled skills/commands lossless optimization** (SkillsBench principles): compact `SKILL.md` bodies + progressive disclosure — extracted Phase 3/4/5 and compound workflow to `references/`; compressed `mstar-coding-behavior` and QC review lenses; deduped anti-pattern lists, leaf-role Completion Report/Git NEVER (new `_shared/leaf-executor-core.md`), host role-binding (new `_shared/host-role-binding-core.md`) and plan-mode bridges (new `_shared/plan-mode-bridge-core.md`); slimmed 4 commands to thin boot+route+delegate orchestrators (943 → 388 lines); tightened frontmatter descriptions; `Completion Report v2` → `Completion Report`. No rule, gate, or field name altered or dropped.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mstar-host
|
|
3
|
-
description: Morning Star host adapter (OpenCode, Cursor, Codex, Kimi, ZCode, omp). 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, ZCode Agent/AskUserQuestion/EnterPlanMode with built-in subagent types and role-in-prompt binding, omp task/ask/hub
|
|
3
|
+
description: Morning Star host adapter (OpenCode, Cursor, Codex, Kimi, ZCode, omp). 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, ZCode Agent/AskUserQuestion/EnterPlanMode with built-in subagent types and role-in-prompt binding, omp task/ask/hub preferring live-schema role agents (agents/*.md) with C5b skill-load binding (generic task/scout only as fallback), 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
|
|
@@ -41,6 +41,20 @@ Order matters: check `cursor` → `opencode` → `omp` → `kimi` → `zcode`
|
|
|
41
41
|
|
|
42
42
|
When PM dispatches **N >= 2** concurrent assignees (QC tri-review, dual-track implement, etc.) and the host exposes actual invoke / Task / subagent tools, read **`references/parallel-dispatch.md`** in the dispatch round (shared with `mstar-dispatch-gates`). Without a callable invoke tool when dispatch is required → **`Blocked`**; Assignment Markdown alone is not dispatch.
|
|
43
43
|
|
|
44
|
+
## Resolve loaded skill root
|
|
45
|
+
|
|
46
|
+
Docs name assets as skill **`<name>`** → `scripts/…` / `references/…`. **Resolve the loaded skill directory first** — do **not** open `skills/<name>/…` from a consumer app cwd (that layout exists in the harness source / plugin package only).
|
|
47
|
+
|
|
48
|
+
| Host | Prefer | Filesystem fallback (only if the host cannot load by name) |
|
|
49
|
+
|------|--------|--------------------------------------------------------------|
|
|
50
|
+
| **omp** | `skill://<name>` / `skill://<name>/<rel>` / `/skill:<name>` | Plugin package root `skills/<name>/` after install/link — not app cwd |
|
|
51
|
+
| **Cursor** | Skill **name** via plugin skills | Global `~/.cursor/plugins/local/morning-star-harness/skills/<name>/`; project `.cursor/plugins/morning-star-harness/skills/<name>/` |
|
|
52
|
+
| **Codex** | Skill **name** via plugin | Plugin-mounted `skills/<name>/`; project command skills under `.agents/skills/<name>/` |
|
|
53
|
+
| **OpenCode** | Skill **name** via `@mstar-harness/opencode` | Package-internal `harness-skills/<name>/` — never `process.cwd()/skills/` |
|
|
54
|
+
| **Kimi / ZCode** | Skill **name** / `/skill:<name>` | Plugin mount `./skills/<name>/` from the installed plugin root |
|
|
55
|
+
|
|
56
|
+
Authoring convention: **`mstar-skill-authoring`** § Skill-relative script and asset paths. Per-host URI / mount detail: `references/<host>.md`.
|
|
57
|
+
|
|
44
58
|
## Conflict order
|
|
45
59
|
|
|
46
60
|
1. User explicit instructions (this turn)
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
# Host role-binding core (C5/C5b)
|
|
2
2
|
|
|
3
|
-
Shared role-binding contract for
|
|
3
|
+
Shared role-binding contract for **Kimi / ZCode** — hosts where Morning Star role ids are **never** valid invoke types, so picking `subagent_type` alone cannot carry Assignment IDENTITY + skill load.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Other hosts follow their own `references/<host>.md` and do **not** use this file for agent selection. Read this file only when the active host reference is Kimi or ZCode.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
## C5 — invoke type selection (Kimi / ZCode)
|
|
8
|
+
|
|
9
|
+
| Host | Invoke-type selection (C5) | Prompt role binding (C5b) |
|
|
10
|
+
|------|----------------------------|---------------------------|
|
|
11
|
+
| **Kimi / ZCode** | Built-in types only (`coder` / `explore` / `plan`, …). Morning Star role ids are **never** valid invoke types. | **Required** |
|
|
12
|
+
|
|
13
|
+
- **Never invent** agent / subagent names. The **live tool schema** (plus the active host reference C5 table) is SSOT every session.
|
|
14
|
+
- Morning Star role ids (`product-manager`, `fullstack-dev`, `qc-specialist`, …) are **not** valid invoke types — map via the host reference table (`coder` / `explore` / `plan`, …), then rely on C5b.
|
|
9
15
|
|
|
10
16
|
## C5b — role binding in prompt (required)
|
|
11
17
|
|
|
12
|
-
|
|
18
|
+
Every dispatch on Kimi / ZCode **must** carry the played Morning Star role in the **Assignment** and in the **invoke prompt**:
|
|
13
19
|
|
|
14
20
|
1. **`Execute as: <role-id>`** in Assignment (harness routing SSOT).
|
|
15
21
|
2. **`Act as <role-id>`** (or equivalent) at the top of the invoke prompt.
|
|
16
22
|
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.
|
|
17
|
-
4. **`subagent_type
|
|
23
|
+
4. **`subagent_type`** — pick from the live built-in set per the host C5 table (not a Morning Star role id).
|
|
18
24
|
|
|
19
25
|
Paste-only Assignment **without** an invoke call is **not** dispatch.
|
|
20
26
|
|
|
@@ -36,9 +42,10 @@ Paste-only Assignment **without** an invoke call is **not** dispatch.
|
|
|
36
42
|
**Plan Path**: .mstar/plans/20260717-example.md
|
|
37
43
|
|
|
38
44
|
**IDENTITY:** You ARE `fullstack-dev`. Act as `fullstack-dev` for this task.
|
|
45
|
+
|
|
39
46
|
Load: `mstar-harness-core` → `mstar-host` → `<host>.md` → `mstar-roles` → `references/fullstack-dev-shared.md` → topic skills per that reference.
|
|
40
47
|
|
|
41
48
|
<task body>
|
|
42
49
|
```
|
|
43
50
|
|
|
44
|
-
The active host reference shows the matching invoke shape (same turn).
|
|
51
|
+
The active host reference shows the matching invoke shape (same turn) — e.g. Kimi/ZCode `Agent` with `subagent_type: "coder"` plus this C5b body.
|
|
@@ -23,7 +23,7 @@ Parallel PM dispatch: read **`parallel-dispatch.md`** only when Codex exposes an
|
|
|
23
23
|
4. Load `mstar-roles` and the active role reference.
|
|
24
24
|
5. Load topic skills on demand per the role reference.
|
|
25
25
|
|
|
26
|
-
Use skill names in prompts and references. Avoid absolute local paths unless the user is maintaining this repository or the skill is not installed and must be read from the checkout.
|
|
26
|
+
Use skill names in prompts and references. Avoid absolute local paths unless the user is maintaining this repository or the skill is not installed and must be read from the checkout. Skill-root resolve (plugin `skills/<name>/`, project `.agents/skills/<name>/`) → `mstar-host` § Resolve loaded skill root.
|
|
27
27
|
|
|
28
28
|
## Clarify
|
|
29
29
|
|
|
@@ -6,6 +6,7 @@ Parallel PM dispatch: **`parallel-dispatch.md`** (Task tool uses same turn model
|
|
|
6
6
|
|
|
7
7
|
## Cursor-only context
|
|
8
8
|
|
|
9
|
+
- Skill root: load by skill **name**; filesystem fallback → `mstar-host` § Resolve loaded skill root (`~/.cursor/plugins/local/morning-star-harness/skills/<name>/` or project `.cursor/plugins/morning-star-harness/skills/<name>/`). Never app-cwd `skills/<name>/`.
|
|
9
10
|
- Role prompts: `mstar-roles`; **`/pm`** or **`pm` skill** → general PM orchestration (per-plan dispatch, gates, QC) without an iteration command. Host **`commands/`** for formal iteration Phase 1–5 (semantics → **`mstar-iteration`**).
|
|
10
11
|
- Routing-eval: `.cursor/skills/mstar-routing-eval/` — regression tooling only; not runtime load order.
|
|
11
12
|
|
|
@@ -25,7 +25,7 @@ Parallel PM dispatch: read **`parallel-dispatch.md`** when dispatching **N ≥ 2
|
|
|
25
25
|
4. Load `mstar-roles` and the active role reference.
|
|
26
26
|
5. Load topic skills on demand per the role reference.
|
|
27
27
|
|
|
28
|
-
Use skill names in prompts and references. Avoid absolute local paths unless maintaining this repository or skills are not installed.
|
|
28
|
+
Use skill names in prompts and references. Avoid absolute local paths unless maintaining this repository or skills are not installed. Skill-root resolve (plugin mount `./skills/<name>/`) → `mstar-host` § Resolve loaded skill root.
|
|
29
29
|
|
|
30
30
|
## Tools map (default agent)
|
|
31
31
|
|
|
@@ -11,14 +11,14 @@ Parallel PM dispatch: read **`parallel-dispatch.md`** when dispatching **N ≥ 2
|
|
|
11
11
|
- Plugin markers: **`.omp-plugin/plugin.json`** (Morning Star host marker) and **`.claude-plugin/plugin.json`** (Claude-compatible marketplace discovery). Plugin root is the **repo root**; paths stay `./skills/`, `./commands/`, `./agents/`.
|
|
12
12
|
- Runtime skills: repo `skills/` discovered after `omp plugin install` / `omp plugin link` (OMP extension-package sub-discovery) or Claude marketplace install.
|
|
13
13
|
- Plugin commands: repo `commands/<name>.md` → slash **`/<name>`** (e.g. `/iteration-start`). omp uses the **filename** as the command name (no `morning-star-harness:` prefix).
|
|
14
|
-
- Plugin agents: repo
|
|
14
|
+
- Plugin agents: repo **`agents/*.md`** are discovered into the live **`task.agent`** list after install/link + reload. Morning Star **subagent** role ids (`product-manager`, `architect`, `fullstack-dev`, `qc-specialist`, …) are valid `agent` values **when listed** — see C5. `project-manager` is **`mode: primary`** (orchestration seat), not a typical `task` dispatch target.
|
|
15
15
|
- **No Kimi-style `sessionStart.skill`** — enter PM manually via **`/skill:pm`** (or the `pm` skill), then **Read next** → `mstar-harness-core` → `project-manager.md`.
|
|
16
16
|
- Install (user-scoped, recommended):
|
|
17
17
|
- `omp plugin install github:btspoony/mstar-harness`
|
|
18
18
|
- or CLI: `npx @mstar-harness/cli init --target omp --scope global` (links `~/.mstar/harness`)
|
|
19
19
|
- Project scope: `omp plugin install github:btspoony/mstar-harness --scope project` or `npx @mstar-harness/cli init --target omp --scope project`.
|
|
20
20
|
- Local maintainers: `omp plugin link /path/to/mstar-harness` (or the CLI-managed `~/.mstar/harness` checkout).
|
|
21
|
-
- After install/link: `omp plugin list` should show package **`morning-star`** (root `package.json` name). Reload / new session to pick up skills and
|
|
21
|
+
- After install/link: `omp plugin list` should show package **`morning-star`** (root `package.json` name). Reload / new session to pick up skills, commands, and agents.
|
|
22
22
|
|
|
23
23
|
## Skill loading
|
|
24
24
|
|
|
@@ -28,7 +28,7 @@ Parallel PM dispatch: read **`parallel-dispatch.md`** when dispatching **N ≥ 2
|
|
|
28
28
|
4. Load `mstar-roles` and the active role reference.
|
|
29
29
|
5. Load topic skills on demand per the role reference.
|
|
30
30
|
|
|
31
|
-
Use skill names in prompts and references. Prefer `skill://<name>/…` / `/skill:<name>` over absolute local paths unless maintaining this repository.
|
|
31
|
+
Use skill names in prompts and references. Prefer `skill://<name>/…` / `/skill:<name>` over absolute local paths unless maintaining this repository. Full skill-root table (all hosts) → `mstar-host` § Resolve loaded skill root.
|
|
32
32
|
|
|
33
33
|
## Internal URLs
|
|
34
34
|
|
|
@@ -48,7 +48,7 @@ omp resolves **internal URL schemes** natively (see <https://omp.sh/#urls>), so
|
|
|
48
48
|
|
|
49
49
|
| omp tool | Harness use |
|
|
50
50
|
|----------|-------------|
|
|
51
|
-
| **`task`** | Primary dispatch — fan out one or more subagents (`agent`
|
|
51
|
+
| **`task`** | Primary dispatch — fan out one or more subagents (`agent` = live-schema id; prefer Morning Star role id; batch via `tasks[]` + shared `context`) |
|
|
52
52
|
| **`ask`** | Structured clarify (options + recommended); prefer over free-form when choices are known |
|
|
53
53
|
| **`hub`** | Optional peer messaging / long-running process control among subagents — not a substitute for Assignment + `task` |
|
|
54
54
|
| **bash** | Commands, git, tests — evidence per `mstar-coding-behavior` |
|
|
@@ -68,7 +68,7 @@ task(
|
|
|
68
68
|
tasks: [
|
|
69
69
|
{
|
|
70
70
|
name: "CamelCaseId",
|
|
71
|
-
agent: "
|
|
71
|
+
agent: "<Execute as role-id>", # prefer live-schema role agent — see C5
|
|
72
72
|
task: "<full Assignment body including Act as + skill load>"
|
|
73
73
|
}
|
|
74
74
|
]
|
|
@@ -79,36 +79,87 @@ Single-task shorthand may exist depending on host version — always match the l
|
|
|
79
79
|
|
|
80
80
|
## Role agents (C5 — hard constraint)
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
**Live `task` tool schema is SSOT every session.** Exact `agent` names vary by omp version and which `agents/*.md` were discovered after plugin install/link. Read the tool's Available Agents list before dispatch — do not invent names; do not hard-code stale tables over the live list.
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|---------|-------------|-----------------|
|
|
86
|
-
| `scout` / `explore` | Fast read-only investigation | Orientation, codebase survey, Prepare explore passes |
|
|
87
|
-
| `plan` | Architectural planning | Prepare plan-only work when appropriate |
|
|
88
|
-
| `reviewer` / `security-reviewer` | Structured review | Optional QC assist — still bind Morning Star QC role in prompt (C5b) |
|
|
89
|
-
| `designer` | UI/UX | Optional when Assignment is UI-heavy `frontend-dev` |
|
|
90
|
-
| `librarian` | External library/API research | Optional research assist |
|
|
91
|
-
| `sonic` / `quick_task` | Mechanical / low-reasoning | Mechanical transcription only |
|
|
92
|
-
| `task` | General-purpose worker | **Default for Morning Star roles** (`product-manager`, `fullstack-dev`, `qc-specialist`, …) |
|
|
84
|
+
### Selection order (required)
|
|
93
85
|
|
|
94
|
-
|
|
86
|
+
1. **Role match first** — if Assignment `Execute as: <role-id>` appears in the live `task.agent` list, set **`agent: "<role-id>"`**. Examples commonly present after Morning Star plugin discovery: `product-manager`, `architect`, `frontend-dev`, `fullstack-dev`, `fullstack-dev-2`, `ops-engineer`, `prompt-engineer`, `qa-engineer`, `qc-specialist`, `qc-specialist-2`, `qc-specialist-3`, `writing-specialist`.
|
|
87
|
+
2. **Generic built-in only as fallback** — when the role id is **absent** from the live schema, pick the closest host built-in and keep full C5b prompt binding:
|
|
88
|
+
|
|
89
|
+
| Fallback `agent` | When |
|
|
90
|
+
|------------------|------|
|
|
91
|
+
| `scout` / `explore` | Read-only orientation / codebase survey / Prepare explore |
|
|
92
|
+
| `reviewer` / `security-reviewer` | Optional QC assist **only if** the matching `qc-specialist*` agent is missing |
|
|
93
|
+
| `designer` | UI-heavy work when `frontend-dev` is missing |
|
|
94
|
+
| `librarian` | External library/API research assist |
|
|
95
|
+
| `sonic` / `quick_task` | Mechanical / low-reasoning transcription only |
|
|
96
|
+
| `task` (or omit if schema says omit = general worker) | Last resort general worker when no specialist fits |
|
|
97
|
+
|
|
98
|
+
3. **Anti-pattern** — **`agent: "task"` (or omitting agent) while a matching role agent is listed** is incorrect dispatch. Prefer the specialist; generic `task` is not the Morning Star default when role agents are available.
|
|
99
|
+
|
|
100
|
+
### Notes
|
|
101
|
+
|
|
102
|
+
- `project-manager` is the **primary** orchestration agent (`agents/project-manager.md` `mode: primary`). Do not dispatch PM-to-PM via `task` unless the live schema explicitly lists it **and** the Assignment requires it.
|
|
103
|
+
- Host generics (`scout`, `reviewer`, `designer`, …) remain useful for non-role orientation / assist — they do not replace a listed Morning Star role agent for role-owned deliverables.
|
|
95
104
|
|
|
96
105
|
### Role binding in prompt (C5b — required)
|
|
97
106
|
|
|
98
|
-
|
|
107
|
+
omp C5/C5b SSOT is **this file** — do **not** use `_shared/host-role-binding-core.md` (that file is Kimi/ZCode only). Even when `agent` already matches the role id, still bind Morning Star process in the Assignment / `task` body (agent shell ≠ full role prompt; skill load is not automatic).
|
|
108
|
+
|
|
109
|
+
Required in every role dispatch:
|
|
110
|
+
|
|
111
|
+
1. **`Execute as: <role-id>`** in Assignment (harness routing SSOT).
|
|
112
|
+
2. **`Act as <role-id>`** (or equivalent) at the top of the `task` body.
|
|
113
|
+
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.
|
|
114
|
+
4. **`agent`** — live-schema role id per C5 above (not “always `task`”).
|
|
115
|
+
|
|
116
|
+
Paste-only Assignment **without** a `task` invoke is **not** dispatch.
|
|
117
|
+
|
|
118
|
+
Assignment / prompt template:
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
## Assignment
|
|
122
|
+
|
|
123
|
+
**Execute as**: fullstack-dev
|
|
124
|
+
**Delegation**: forbidden
|
|
125
|
+
**Working branch**: feat/example
|
|
126
|
+
**Plan Path**: .mstar/plans/20260717-example.md
|
|
127
|
+
|
|
128
|
+
**IDENTITY:** You ARE `fullstack-dev`. Act as `fullstack-dev` for this task.
|
|
129
|
+
|
|
130
|
+
Load: `mstar-harness-core` → `mstar-host` → `omp.md` → `mstar-roles` → `references/fullstack-dev-shared.md` → topic skills per that reference.
|
|
131
|
+
|
|
132
|
+
<task body>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
omp invoke shapes, same turn:
|
|
99
136
|
|
|
100
137
|
```text
|
|
101
138
|
task(
|
|
102
139
|
context: "Morning Star dispatch for plan 20260717-example",
|
|
103
140
|
tasks: [{
|
|
104
141
|
name: "ImplementAuth",
|
|
105
|
-
agent: "
|
|
142
|
+
agent: "fullstack-dev", # live-schema role id matching Execute as
|
|
106
143
|
task: "<full Assignment body including Act as + skill load>"
|
|
107
144
|
}]
|
|
108
145
|
)
|
|
109
146
|
```
|
|
110
147
|
|
|
111
|
-
|
|
148
|
+
Review & Edit / Prepare specialist chain (sequential, **N=1** each turn):
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
task(
|
|
152
|
+
context: "Review & Edit — product scope",
|
|
153
|
+
tasks: [{
|
|
154
|
+
name: "ReviewEditProduct",
|
|
155
|
+
agent: "product-manager",
|
|
156
|
+
task: "<Assignment: Execute as product-manager; Act as + skill load>"
|
|
157
|
+
}]
|
|
158
|
+
)
|
|
159
|
+
# wait for return, then architect, then writing-specialist — each with agent: "<role-id>"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
For explore-only orientation (no Morning Star role deliverable):
|
|
112
163
|
|
|
113
164
|
```text
|
|
114
165
|
task(
|
|
@@ -122,24 +173,24 @@ task(
|
|
|
122
173
|
|
|
123
174
|
## PM dispatch (`task`)
|
|
124
175
|
|
|
125
|
-
Harness **dispatch** on omp = **one or more `task` tool calls** with correct **`agent`** values and role-bound assignment text (C5b
|
|
176
|
+
Harness **dispatch** on omp = **one or more `task` tool calls** with correct **`agent`** values and role-bound assignment text (C5 + C5b in this file). N-parallel / 1-Assignment-1-invoke / paste-only mechanics → **`parallel-dispatch.md`**.
|
|
126
177
|
|
|
127
178
|
| Harness | omp |
|
|
128
179
|
|---------|-----|
|
|
129
|
-
| `Execute as: <role-id>` |
|
|
130
|
-
|
|
|
180
|
+
| `Execute as: <role-id>` | **`agent: "<role-id>"`** when listed in live schema; else generic built-in + C5b |
|
|
181
|
+
| Role identity / skills | Assignment **Act as** + skill load in **task** body (C5b) — always |
|
|
131
182
|
| Parallel batch **N** | **N** `tasks[]` entries in **one** `task` call, or **N** `task` calls in **one** assistant message |
|
|
132
183
|
|
|
133
184
|
### QC default
|
|
134
185
|
|
|
135
|
-
- **`Execution mode: sdd`**: **N=3** task entries
|
|
186
|
+
- **`Execution mode: sdd`**: **N=3** task entries — prefer `agent: "qc-specialist"`, `"qc-specialist-2"`, `"qc-specialist-3"` when listed; each body still **Act as** the respective QC role + QC skill load. If a seat is missing from the live schema, fall back per C5 (generic + C5b) for that seat only. N rules → `parallel-dispatch.md`.
|
|
136
187
|
- **`inline`**: **N=1** per `parallel-dispatch.md`.
|
|
137
188
|
|
|
138
189
|
Cannot emit required **N** → **`Blocked`**.
|
|
139
190
|
|
|
140
191
|
### SDD implement (serial)
|
|
141
192
|
|
|
142
|
-
- **`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.
|
|
193
|
+
- **`Execution mode: sdd`**: one implementer `task` entry per task id with `agent` matching the implementer role when listed; task reviewer = new entry (no sticky resume unless host resume/id is available and recorded). Serial rule → **`parallel-dispatch.md`** § SDD implement.
|
|
143
194
|
- **Never** multiple implementer entries in one message for the same plan.
|
|
144
195
|
|
|
145
196
|
## Clarify
|
|
@@ -174,6 +225,8 @@ Cannot emit required **N** → **`Blocked`**.
|
|
|
174
225
|
- Installed npm/git plugin package name is root **`morning-star`** (`package.json`); Morning Star display name remains **morning-star-harness**.
|
|
175
226
|
- Marketplace (Claude) installs and `omp plugin install` are different discovery providers — prefer one install path per machine to avoid duplicate skill listings.
|
|
176
227
|
- Session plan UI / todos are not durable SSOT unless mirrored to `{HARNESS_DIR}`.
|
|
177
|
-
-
|
|
228
|
+
- After install/link, **reload / new session** so `agents/*.md` appear in the live `task.agent` list — stale sessions may only show host generics and wrongly push you to `agent: "task"`.
|
|
229
|
+
- Role agent shell ≠ full role prompt: **C5b skill load remains required** even when `agent` already equals the role id.
|
|
178
230
|
- omp has no `sessionStart.skill`; new sessions do **not** auto-load PM — invoke `/skill:pm` manually.
|
|
179
231
|
- Do not confuse omp **`task.agent`** with OpenCode **`subagent`** or Cursor **`subagent_type`**.
|
|
232
|
+
- Do not treat Kimi/ZCode “built-ins only → always `coder`/`task`” habits as omp defaults when Morning Star role agents are listed.
|
|
@@ -6,6 +6,7 @@ Parallel PM dispatch: **`parallel-dispatch.md`** (read in dispatch rounds).
|
|
|
6
6
|
|
|
7
7
|
## Role loading
|
|
8
8
|
|
|
9
|
+
- Skill root: load by skill **name** from `@mstar-harness/opencode` (`harness-skills/<name>/` inside the package). Never `process.cwd()/skills/` — see `mstar-host` § Resolve loaded skill root.
|
|
9
10
|
- **PM entry**: **`/pm`** or **`pm` skill** → `project-manager` for general orchestration; host **`commands/`** for formal iteration Phase 1–5 (semantics → **`mstar-iteration`**).
|
|
10
11
|
- **Role shell**: `agents/<id>.md` referenced by `opencode.json` `agent.<id>` (frontmatter + role binding only).
|
|
11
12
|
- **Role body**: `mstar-roles` `references/<id>.md` (or shared references + parameters).
|
|
@@ -17,7 +17,7 @@ Printing `## Assignment` in the main thread **without** matching host invocation
|
|
|
17
17
|
|
|
18
18
|
1. Finalize all `N` Assignment payloads (after any prerequisite turn).
|
|
19
19
|
2. Count distinct `Execute as` sessions (`N`).
|
|
20
|
-
3. Issue **`N` host invocations first** — OpenCode: **N `task` tool** calls with **subagent**; Cursor: **N `Task`** with `subagent_type` (JSON field shape → `cursor.md` § Task invoke schema); Kimi: **N `Agent`** calls (each prompt carries **Act as** + skill load; `subagent_type` ∈ {`coder`,`explore`,`plan`} only — see `kimi.md` C5/C5b); omp: **one `task` call with N `tasks[]`** (or N `task` calls) with
|
|
20
|
+
3. Issue **`N` host invocations first** — OpenCode: **N `task` tool** calls with **subagent**; Cursor: **N `Task`** with `subagent_type` (JSON field shape → `cursor.md` § Task invoke schema); Kimi: **N `Agent`** calls (each prompt carries **Act as** + skill load; `subagent_type` ∈ {`coder`,`explore`,`plan`} only — see `kimi.md` C5/C5b); omp: **one `task` call with N `tasks[]`** (or N `task` calls) with `agent` = live-schema role id matching `Execute as` when listed (else generic built-in) + **Act as** / skill load (see `omp.md` C5/C5b); each with one Assignment body. For parallel work, **all `N` tool calls in one assistant message** when the host allows.
|
|
21
21
|
4. Optionally post a short **Status Update** after invocations (audit trail only — does not replace step 3).
|
|
22
22
|
|
|
23
23
|
## Hard rules
|
|
@@ -25,7 +25,7 @@ Parallel PM dispatch: read **`parallel-dispatch.md`** when dispatching **N ≥ 2
|
|
|
25
25
|
4. Load `mstar-roles` and the active role reference.
|
|
26
26
|
5. Load topic skills on demand per the role reference.
|
|
27
27
|
|
|
28
|
-
Use skill names in prompts and references. Avoid absolute local paths unless maintaining this repository or skills are not installed.
|
|
28
|
+
Use skill names in prompts and references. Avoid absolute local paths unless maintaining this repository or skills are not installed. Skill-root resolve (plugin mount `./skills/<name>/`) → `mstar-host` § Resolve loaded skill root.
|
|
29
29
|
|
|
30
30
|
## Tools map (default agent)
|
|
31
31
|
|
|
@@ -288,10 +288,10 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
288
288
|
3. **Implement → InReview**(`§ 2.5`;产品编辑在 feature worktree;plans / status / iterations / SDD 经 control 绝对路径):
|
|
289
289
|
- **默认 `Execution mode: sdd`**(多 task plan;hotfix 可 `inline`)。
|
|
290
290
|
- PM 载入 **`mstar-sdd`** 后,按 plan task 顺序 **串行** per-task 循环(**不是**一次派发 dev 做全部 tasks):
|
|
291
|
-
1. `sdd-workspace <plan-id>` → `{SDD_DIR}`
|
|
292
|
-
2. `task-brief <plan-file> N` → `{SDD_DIR}/task-N-brief.md`;记录 `BASE_SHA`
|
|
291
|
+
1. skill **`mstar-sdd`** → `scripts/sdd-workspace <plan-id>` → `{SDD_DIR}`
|
|
292
|
+
2. `scripts/task-brief <plan-file> N` → `{SDD_DIR}/task-N-brief.md`;记录 `BASE_SHA`
|
|
293
293
|
3. Dispatch **one** implementer subagent(`references/implementer-prompt.md`:brief 路径 + report 路径 + `Model tier`;**禁止**贴整份 plan)
|
|
294
|
-
4. Implementer `DONE` → `review-package BASE HEAD` → task diff 文件
|
|
294
|
+
4. Implementer `DONE` → `scripts/review-package BASE HEAD` → task diff 文件
|
|
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
|
|
@@ -320,7 +320,7 @@ SSOT = `{HARNESS_DIR}/status.json` + `{PLAN_DIR}/`。todos 只追踪本轮下一
|
|
|
320
320
|
| 文件交接 | brief / report / diff / `progress.md` 在 `{SDD_DIR}`;dispatch prompt **只给路径**,不贴 plan 全文或 task 历史 |
|
|
321
321
|
| Assignment 字段 | 每个 implement dispatch 须含 `Execution mode: sdd`、`SDD dir`、`Model tier`;§2.0 #5 未 waive 时还须含绝对 `Worktree path` + verified `execution_lease`;**禁止**省略 `Model tier` |
|
|
322
322
|
| 大包 inline | **禁止**把 T1–Tn 或整份 plan 写进 **一个** `fullstack-dev` leaf Assignment 冒充 SDD |
|
|
323
|
-
| 分支 diff | 全部 task 完成后 `review-package MERGE_BASE HEAD` → `{SDD_DIR}/review/` branch diff → plan QC tri(N=3) |
|
|
323
|
+
| 分支 diff | 全部 task 完成后 skill **`mstar-sdd`** → `scripts/review-package MERGE_BASE HEAD` → `{SDD_DIR}/review/` branch diff → plan QC tri(N=3) |
|
|
324
324
|
|
|
325
325
|
Iteration Phase 2 附加:
|
|
326
326
|
|
|
@@ -475,7 +475,8 @@ Prefer **`archived/residuals/`**; migrate and delete history key when possible.
|
|
|
475
475
|
# Replace .mstar with your resolved {HARNESS_DIR}; legacy projects may use .agents.
|
|
476
476
|
jq '.residual_findings["01-data-infrastructure"] // .metadata.residual_findings["01-data-infrastructure"]' .mstar/status.json
|
|
477
477
|
jq '.entries[] | select(.id == "R1")' .mstar/archived/residuals/01-data-infrastructure.json
|
|
478
|
-
|
|
478
|
+
# skill mstar-plan-artifacts → scripts/tech-debt-rollup.sh (not a consumer cwd path)
|
|
479
|
+
bash <mstar-plan-artifacts>/scripts/tech-debt-rollup.sh .mstar/status.json
|
|
479
480
|
```
|
|
480
481
|
|
|
481
482
|
(`//` right-hand side = legacy read path.)
|
|
@@ -508,8 +509,9 @@ Append-only log for merge closure, batch archive, `tech_debt_summary` refresh, e
|
|
|
508
509
|
**Compute (canonical):** run the read-only script (do **not** hand-count):
|
|
509
510
|
|
|
510
511
|
```bash
|
|
511
|
-
#
|
|
512
|
-
|
|
512
|
+
# Resolve from skill mstar-plan-artifacts → scripts/tech-debt-rollup.sh
|
|
513
|
+
# Pass path to status.json if not .mstar/status.json
|
|
514
|
+
bash <mstar-plan-artifacts>/scripts/tech-debt-rollup.sh .mstar/status.json
|
|
513
515
|
```
|
|
514
516
|
|
|
515
517
|
- Prints computed `total_open`, `by_severity`, `by_target`, `by_plan`.
|
|
@@ -65,7 +65,7 @@ description: Morning Star (启明星) harness 计划目录约定 —— `{HARNES
|
|
|
65
65
|
PM 在需要持久化追踪时:
|
|
66
66
|
|
|
67
67
|
1. 建 `.mstar/`、`plans/`、`status.json`(空模板见 **`mstar-plan-artifacts/templates/status.empty.json`**)
|
|
68
|
-
2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.empty.json`**)、`knowledge/`、`iterations/`、`{HARNESS_DIR}/specs/`、`sdd/`(空目录占位;运行时 per-plan 子目录由
|
|
68
|
+
2. 可选 `notes.json`(模板 **`mstar-plan-artifacts/templates/notes.empty.json`**)、`knowledge/`、`iterations/`、`{HARNESS_DIR}/specs/`、`sdd/`(空目录占位;运行时 per-plan 子目录由 skill **`mstar-sdd`** → `scripts/sdd-workspace` 创建)
|
|
69
69
|
3. 项目根 `.gitignore` 追加 Morning Star **进程产物**忽略集(见下文「Git 跟踪策略」)— CLI `init` 可自动添加
|
|
70
70
|
4. Git:**进程本地、结果共享** — 默认跟踪 `{HARNESS_DIR}/AGENTS.md`、`{KNOWLEDGE_DIR}/**`、`{SPECS_DIR}/**`;`plans/`、`iterations/`、`status.json` 等为**本地会话 SSOT**,默认 gitignored。跨 clone 持久 handoff = knowledge + specs + `{HARNESS_DIR}/AGENTS.md`(及根 `CONCEPTS.md` / `STRATEGY.md` 若使用);须跨 clone 的 residual 须提升(compound)或写入 tracked results — **勿**默认 `git add` `status.json` / `plans/`。
|
|
71
71
|
|
package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
1. 创建 `{HARNESS_DIR}`(推荐 `.mstar/`)与 `{PLAN_DIR}`(推荐 `.mstar/plans/`)。
|
|
16
16
|
2. 初始化 `status.json`:从 **`mstar-plan-artifacts/templates/status.empty.json`** 复制;residual canonical 见 **`mstar-plan-artifacts` SKILL.md**;字段与生命周期见 **`mstar-plan-artifacts/references/status-and-residuals.md`**。
|
|
17
|
-
3. 初始化可选 `notes.json`(**`mstar-plan-artifacts/templates/notes.empty.json`**);`sdd/` 空目录占位(per-plan 子目录由
|
|
17
|
+
3. 初始化可选 `notes.json`(**`mstar-plan-artifacts/templates/notes.empty.json`**);`sdd/` 空目录占位(per-plan 子目录由 skill **`mstar-sdd`** → `scripts/sdd-workspace` 创建)。
|
|
18
18
|
4. 项目根 `.gitignore` 追加 Morning Star **进程产物**忽略集(canonical snippet → `mstar-plan-conventions` SKILL.md「Git 跟踪策略」;legacy `.agents/` 有等价表)。
|
|
19
19
|
5. **Profile B**(统一 Done 压缩)时另建 `{HARNESS_DIR}/archived/plans/` 与 `archived/plans-done.json`(自 **`mstar-plan-artifacts/templates/plans-done.empty.json`** 复制;schema 仅 `{ "plans": [] }`,见 **`mstar-plan-artifacts/references/done-compaction.md`**)。
|
|
20
20
|
6. 可选:创建 `{ITERATION_DIR}`(`iterations/` + `README.md`)与 `{KNOWLEDGE_DIR}`(`knowledge/` + `README.md`);`{HARNESS_DIR}/specs/`(解析后的 `{SPECS_DIR}` 默认落点);内容边界见 `mstar-plan-conventions` SKILL.md 与 `references/knowledge-and-designs.md`。
|
|
@@ -137,7 +137,7 @@ When `metadata.control_worktree_path` is set and worktree mode is **not** waived
|
|
|
137
137
|
| **`Worktree path`** | Absolute **feature** checkout (`execution_lease.worktree_path`) — product/source edits only |
|
|
138
138
|
| **`Control harness root`** | Absolute `<control_worktree_path>/{HARNESS_DIR}` |
|
|
139
139
|
| **`Plan Path`** | Absolute under control harness (not relative from feature cwd) |
|
|
140
|
-
| **`SDD dir`** | Absolute under control harness; run `sdd-workspace` with `MSTAR_CONTROL_ROOT=<control_worktree_path>` when cwd is the feature tree |
|
|
140
|
+
| **`SDD dir`** | Absolute under control harness; run skill **`mstar-sdd`** → `scripts/sdd-workspace` with `MSTAR_CONTROL_ROOT=<control_worktree_path>` when cwd is the feature tree |
|
|
141
141
|
|
|
142
142
|
Do **not** waive worktree because default-gitignored `plans/` are missing under the feature checkout — see `mstar-branch-worktree` 「Harness path SSOT under default gitignore」.
|
|
143
143
|
## Completion Report Template
|
|
@@ -39,12 +39,12 @@ Batch all findings for the human in one message. If clean, proceed silently.
|
|
|
39
39
|
## Per-task loop (PM only)
|
|
40
40
|
|
|
41
41
|
1. Record `BASE_SHA` (never use `HEAD~1` later)
|
|
42
|
-
2. `sdd-workspace <plan-id>` → `SDD_DIR`(iteration L1 从 feature cwd 调用时:`MSTAR_CONTROL_ROOT=<control_worktree_path>` 或 `sdd-workspace <plan-id> <control_worktree_path>`;缺 status.json 的 linked worktree 会 fail closed)
|
|
43
|
-
3. `task-brief <plan> N` → brief file
|
|
42
|
+
2. skill **`mstar-sdd`** → `scripts/sdd-workspace <plan-id>` → `SDD_DIR`(iteration L1 从 feature cwd 调用时:`MSTAR_CONTROL_ROOT=<control_worktree_path>` 或 `scripts/sdd-workspace <plan-id> <control_worktree_path>`;缺 status.json 的 linked worktree 会 fail closed)
|
|
43
|
+
3. `scripts/task-brief <plan> N` → brief file
|
|
44
44
|
4. Dispatch implementer:
|
|
45
45
|
- **`SDD implementer session: fresh`** (default) — new subagent; templates: `references/implementer-prompt.md`
|
|
46
46
|
- **`SDD implementer session: sticky`** — first task: same as fresh + write `{SDD_DIR}/implementer-session.json` with `host_agent_id`; later tasks: host **resume** + `references/implementer-continuation-prompt.md` (see **`references/sticky-implementer-session.md`**)
|
|
47
|
-
5. On `DONE`: `review-package BASE HEAD` → diff file
|
|
47
|
+
5. On `DONE`: `scripts/review-package BASE HEAD` → diff file
|
|
48
48
|
6. Dispatch **fresh** task reviewer — **`subagent_type: generalPurpose`** (L2; **not** `qc-specialist*`) — brief, report, diff, Global Constraints — `references/task-reviewer-prompt.md` — **never** sticky resume for reviewers
|
|
49
49
|
7. Fix loop for Critical/Important; re-review until approved
|
|
50
50
|
8. Append `progress.md`; update `status.json` `task_commits[]` and `implementer-session.json` `last_task` if sticky
|
|
@@ -81,7 +81,7 @@ Host mapping → **`mstar-host`** references (`model` / Task field).
|
|
|
81
81
|
|
|
82
82
|
## After all tasks
|
|
83
83
|
|
|
84
|
-
1. `review-package MERGE_BASE HEAD` → branch diff in `{SDD_DIR}/review/`
|
|
84
|
+
1. `scripts/review-package MERGE_BASE HEAD` → branch diff in `{SDD_DIR}/review/`
|
|
85
85
|
2. PM dispatches **plan QC tri-review (L3)** — **`QC mode: full tri-review`**, **N=3** — with branch review-package path and report paths under `{SDD_DIR}/review/` → **`mstar-review-qc`** · **`mstar-dispatch-gates`**. Layer SSOT → **`mstar-review-qc/references/review-responsibility-boundaries.md`**. PM writes `{SDD_DIR}/review/qc-consolidated.md` and durable main-plan gate summary. **Mandatory whenever `Execution mode: sdd`** (single-plan or iteration).
|
|
86
86
|
3. Critical/Important QC findings → **one** fix dispatch (full list), then targeted re-review
|
|
87
87
|
4. QA gate → **`mstar-harness-core`** Done rules; PM **`mstar-roles/references/project-manager/qa-trigger-matrix.md`**
|
|
@@ -109,13 +109,15 @@ Minor findings → `## Minor (for plan QC)` section in same file.
|
|
|
109
109
|
|
|
110
110
|
## Scripts
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
Scripts live under this skill: **`mstar-sdd`** → `scripts/<name>`.
|
|
113
|
+
|
|
114
|
+
Resolve the loaded **`mstar-sdd`** skill directory first, then run the script by skill-relative path. **Do not** treat `skills/mstar-sdd/scripts/...` as a consumer-project cwd path — that layout exists only in the harness source tree (and OpenCode's bundled `harness-skills/mstar-sdd/scripts/`).
|
|
113
115
|
|
|
114
116
|
| Script | Usage |
|
|
115
117
|
|--------|--------|
|
|
116
|
-
| `sdd-workspace` | `PLAN_ID [CONTROL_ROOT]` → creates `{SDD_DIR}` under control harness when set (`MSTAR_CONTROL_ROOT` or 2nd arg); fail closed on linked worktree without `status.json` |
|
|
117
|
-
| `task-brief` | `PLAN_FILE TASK_N [OUTFILE]` |
|
|
118
|
-
| `review-package` | `BASE HEAD [OUTFILE]` |
|
|
118
|
+
| `scripts/sdd-workspace` | `PLAN_ID [CONTROL_ROOT]` → creates `{SDD_DIR}` under control harness when set (`MSTAR_CONTROL_ROOT` or 2nd arg); fail closed on linked worktree without `status.json` |
|
|
119
|
+
| `scripts/task-brief` | `PLAN_FILE TASK_N [OUTFILE]` |
|
|
120
|
+
| `scripts/review-package` | `BASE HEAD [OUTFILE]` |
|
|
119
121
|
|
|
120
122
|
## References
|
|
121
123
|
|
|
@@ -4,12 +4,14 @@ PM and subagents move artifacts as **files**, not pasted text. Pasted content st
|
|
|
4
4
|
|
|
5
5
|
## Before implementer dispatch
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Resolve scripts from skill **`mstar-sdd`** → `scripts/…` (loaded skill directory). Do **not** run `skills/mstar-sdd/scripts/…` from a consumer project cwd.
|
|
8
|
+
|
|
9
|
+
1. `export SDD_DIR=$(<mstar-sdd>/scripts/sdd-workspace <plan-id>)`
|
|
8
10
|
- Iteration L1 (implementer cwd = feature worktree):
|
|
9
11
|
`export MSTAR_CONTROL_ROOT=<control_worktree_path>`
|
|
10
12
|
or `sdd-workspace <plan-id> <control_worktree_path>`
|
|
11
13
|
so `{SDD_DIR}` lands on the control harness (default-gitignored plans/status/sdd). Do not create a second SDD tree under the feature checkout.
|
|
12
|
-
2.
|
|
14
|
+
2. `<mstar-sdd>/scripts/task-brief <plan-file> <N> "$SDD_DIR/task-N-brief.md"`
|
|
13
15
|
3. Record `BASE_SHA` (`git rev-parse HEAD` before dispatch).
|
|
14
16
|
4. Dispatch implementer with:
|
|
15
17
|
- One line scene-setting (where task fits)
|
|
@@ -31,7 +33,7 @@ Implementer writes full report to `task-N-report.md`. Return to PM only:
|
|
|
31
33
|
## After implementer DONE
|
|
32
34
|
|
|
33
35
|
1. `HEAD_SHA=$(git rev-parse HEAD)`
|
|
34
|
-
2.
|
|
36
|
+
2. `<mstar-sdd>/scripts/review-package "$BASE_SHA" "$HEAD_SHA" "$SDD_DIR/review-....diff"`
|
|
35
37
|
3. Dispatch task reviewer with: brief path, report path, diff path, Global Constraints (verbatim from plan).
|
|
36
38
|
|
|
37
39
|
**Never use `HEAD~1` as BASE** — multi-commit tasks truncate.
|
|
@@ -63,7 +65,7 @@ After all tasks:
|
|
|
63
65
|
```bash
|
|
64
66
|
MERGE_BASE=$(git merge-base <target-branch> HEAD)
|
|
65
67
|
mkdir -p "$SDD_DIR/review"
|
|
66
|
-
|
|
68
|
+
<mstar-sdd>/scripts/review-package "$MERGE_BASE" HEAD "$SDD_DIR/review/branch-review-....diff"
|
|
67
69
|
```
|
|
68
70
|
|
|
69
71
|
Pass **branch** diff path and bundle report paths (`$SDD_DIR/review/qc1.md` …) to QC dispatch — not task-level diffs. Raw QC/QA files stay in the gitignored review bundle; PM records durable summary and open residuals in **local** plan/`status.json` (session SSOT) and promotes cross-clone decisions into tracked knowledge/specs/`AGENTS.md` per `mstar-plan-conventions` git policy.
|
|
@@ -103,6 +103,17 @@ Optional files to read only when needed.
|
|
|
103
103
|
|
|
104
104
|
Keep `SKILL.md` focused on the main execution path. Move long examples, templates, schemas, and detailed variants into `references/`, `templates/`, or `scripts/`.
|
|
105
105
|
|
|
106
|
+
## Skill-relative script and asset paths
|
|
107
|
+
|
|
108
|
+
When a skill ships executables or assets under `scripts/` / `templates/` / `references/`, name them as **skill → relative path**:
|
|
109
|
+
|
|
110
|
+
- Good: skill **`mstar-sdd`** → `scripts/sdd-workspace`
|
|
111
|
+
- Good: `<mstar-sdd>/scripts/sdd-workspace` (placeholder for the loaded skill root)
|
|
112
|
+
- Bad in runtime docs: `skills/mstar-sdd/scripts/sdd-workspace` as if it were a consumer-project cwd path
|
|
113
|
+
- Bad in shipped rules / CLI notes: `skills/mstar-host/references/…` as a consumer cwd path — use **`mstar-host`** → `references/…` (omp may also cite `skill://mstar-host/references/…`)
|
|
114
|
+
|
|
115
|
+
Agents discover skills by **name**; they often miss files when docs present a full repo-relative path and they search that literal string under the app checkout. Resolve the loaded skill directory first, then append `scripts/…` / `references/…`. **How** to resolve differs by host — use **`mstar-host`** § Resolve loaded skill root (omp `skill://`, Cursor plugin checkout under `~/.cursor/plugins/…` or `.cursor/plugins/…`, OpenCode `harness-skills/`, Codex/Kimi/ZCode plugin mounts). Reserve `skills/<name>/…` only for harness-repo maintenance notes that explicitly say "from this repository root".
|
|
116
|
+
|
|
106
117
|
## Progressive Disclosure
|
|
107
118
|
|
|
108
119
|
Use three levels:
|