@mstar-harness/opencode 1.8.1 → 1.8.3
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 +13 -0
- package/harness-skills/mstar-host/SKILL.md +10 -9
- 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/kimi.md +1 -1
- package/harness-skills/mstar-host/references/omp.md +92 -25
- package/harness-skills/mstar-host/references/parallel-dispatch.md +1 -1
- package/harness-skills/mstar-host/references/zcode.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,19 @@ The monorepo root [CHANGELOG.md](../../CHANGELOG.md) summarizes cross-surface re
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.8.3] - 2026-08-05
|
|
10
|
+
|
|
11
|
+
- **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.
|
|
12
|
+
- Version alignment with harness **1.8.3** (no OpenCode package API change).
|
|
13
|
+
|
|
14
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.8.3**.
|
|
15
|
+
|
|
16
|
+
## [1.8.2] - 2026-08-05
|
|
17
|
+
|
|
18
|
+
- Version alignment with harness **1.8.2** (README/host-detection docs; no OpenCode package API change).
|
|
19
|
+
|
|
20
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **1.8.2**.
|
|
21
|
+
|
|
9
22
|
## [1.8.1] - 2026-08-05
|
|
10
23
|
|
|
11
24
|
- **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
|
|
@@ -23,19 +23,20 @@ Load topic skills **on demand** per `mstar-roles` (do not read every `mstar-*` s
|
|
|
23
23
|
|
|
24
24
|
## Detect active host
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Detect from **session tool shapes and available commands** — not from plugin markers on disk. The `*-plugin/plugin.json` files **cannot** identify the host: they all coexist in this harness source repo and in any multi-host install.
|
|
27
27
|
|
|
28
28
|
| Signal | Host | Next read |
|
|
29
29
|
|--------|------|-----------|
|
|
30
|
-
|
|
|
31
|
-
| **`question`** tool or
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
| **`Agent`** / **`
|
|
35
|
-
|
|
|
36
|
-
| **`task`** tool with **`agent`** / **`tasks[]`** batch, **`ask`**, **`hub`**, omp plugin (`.omp-plugin/plugin.json` / `.claude-plugin/plugin.json`), `/skill:pm` + `/iteration-*` filename commands | `omp` | `references/omp.md`; Plan mode also `references/omp-plan-mode-bridge.md` |
|
|
30
|
+
| **`subagent_type`** param on the Task tool (plus **CreatePlan**/**SwitchMode** when Plan mode is active) | `cursor` | `references/cursor.md`; Plan mode also `references/cursor-plan-mode-bridge.md` |
|
|
31
|
+
| **`question`** tool, or **`task`** tool with **`subagent`** (singular) — no `tasks[]` batch | `opencode` | `references/opencode.md` |
|
|
32
|
+
| **`task`** tool with **`agent`** / **`tasks[]`** batch, **`ask`**, **`hub`** | `omp` | `references/omp.md`; Plan mode also `references/omp-plan-mode-bridge.md` |
|
|
33
|
+
| **`Agent`** / **`AskUserQuestion`** / **`EnterPlanMode`** + **`AgentSwarm`** (Kimi-only) | `kimi` | `references/kimi.md`; Plan mode also `references/kimi-plan-mode-bridge.md` |
|
|
34
|
+
| **`Agent`** / **`AskUserQuestion`** / **`EnterPlanMode`** / **`TodoWrite`**, **no `AgentSwarm`** | `zcode` | `references/zcode.md`; Plan mode also `references/zcode-plan-mode-bridge.md` |
|
|
35
|
+
| `/plan`, `/goal` slash commands; **Goal tools**; `functions.*` / `codex_app.*` tool namespaces; `tool_search`; Browser plugin tools | `codex` | `references/codex.md`; Plan/Goal mode also `references/codex-plan-goal-mode-bridge.md` |
|
|
37
36
|
| Still ambiguous | - | Read sections in **`cursor.md`**, **`opencode.md`**, **`codex.md`**, **`kimi.md`**, **`zcode.md`**, and **`omp.md`** that match tools you have; **`mstar-harness-core` wins** on conflict |
|
|
38
37
|
|
|
38
|
+
Order matters: check `cursor` → `opencode` → `omp` → `kimi` → `zcode` → `codex`. `subagent_type` (Cursor) vs `subagent` (OpenCode) vs `agent`/`tasks[]` (omp) is the sharpest split among the Task-based hosts.
|
|
39
|
+
|
|
39
40
|
## Parallel dispatch (invoke-capable hosts)
|
|
40
41
|
|
|
41
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.
|
|
@@ -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.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Codex host reference
|
|
2
2
|
|
|
3
|
-
Load when **`mstar-host`** detection resolves **codex** (Codex app/CLI session,
|
|
3
|
+
Load when **`mstar-host`** detection resolves **codex** (Codex app/CLI session, `/plan` / `/goal` slash commands, Goal tools, or Codex tool namespaces such as `functions.*`, `codex_app.*`, `tool_search`, `image_gen`, or Browser plugin tools).
|
|
4
4
|
|
|
5
5
|
Plan / Goal Mode: read **`codex-plan-goal-mode-bridge.md`** when Codex Plan Mode (`/plan`) or Goal Mode (`/goal`, goal tools, or goal progress controls) is active. Codex session plans, UI todos, and goal text are not durable harness SSOT.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Kimi host reference
|
|
2
2
|
|
|
3
|
-
Load when **`mstar-host`** detection resolves **kimi** (Kimi Code CLI session,
|
|
3
|
+
Load when **`mstar-host`** detection resolves **kimi** (Kimi Code CLI session, `Agent` / `AgentSwarm` / `AskUserQuestion` / `EnterPlanMode` tools, or `/morning-star-harness:*` plugin commands).
|
|
4
4
|
|
|
5
5
|
Plan mode: read **`kimi-plan-mode-bridge.md`** when `EnterPlanMode` / `ExitPlanMode`, `/plan`, or `kimi --plan` is active.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# omp host reference
|
|
2
2
|
|
|
3
|
-
Load when **`mstar-host`** detection resolves **omp** (Oh My Pi / `omp` session,
|
|
3
|
+
Load when **`mstar-host`** detection resolves **omp** (Oh My Pi / `omp` session, **`task`** tool with **`agent`** / **`tasks[]`** batch shape, **`ask`** tool, **`hub`** tool, or `/skill:pm` / `/iteration-*` from this plugin).
|
|
4
4
|
|
|
5
5
|
Plan mode: read **`omp-plan-mode-bridge.md`** when `/plan`, plan-yolo, or plan-model / read-only-with-resolve plan UX is active.
|
|
6
6
|
|
|
@@ -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
|
|
|
@@ -30,11 +30,25 @@ Parallel PM dispatch: read **`parallel-dispatch.md`** when dispatching **N ≥ 2
|
|
|
30
30
|
|
|
31
31
|
Use skill names in prompts and references. Prefer `skill://<name>/…` / `/skill:<name>` over absolute local paths unless maintaining this repository.
|
|
32
32
|
|
|
33
|
+
## Internal URLs
|
|
34
|
+
|
|
35
|
+
omp resolves **internal URL schemes** natively (see <https://omp.sh/#urls>), so skills and shared content stay addressable wherever omp installs the plugin — prefer URLs over absolute local paths:
|
|
36
|
+
|
|
37
|
+
| Scheme | Use |
|
|
38
|
+
|--------|-----|
|
|
39
|
+
| `skill://<name>` | Load a skill's `SKILL.md` — e.g. `skill://mstar-harness-core`, `skill://mstar-host` |
|
|
40
|
+
| `skill://<name>/<path>` | Read a file inside a skill — e.g. `skill://mstar-host/references/omp.md` |
|
|
41
|
+
| `local://<name>.md` | Share context / assignments with subagents — prefer over pasting large payloads inline |
|
|
42
|
+
| `artifact://<id>` / `agent://<id>` | Read a subagent's output artifact / a nested child's output |
|
|
43
|
+
| `history://<id>` | Read-only transcript of a (sub)agent session |
|
|
44
|
+
|
|
45
|
+
`/skill:<name>` (slash command to **invoke**) and `skill://<name>` (URL the model can **`Read`**) resolve to the same skill. Put URLs in `task` assignment bodies and skill **Read next** lists so a role subagent loads the right skill regardless of install path — this is what makes cross-host skill references portable on omp.
|
|
46
|
+
|
|
33
47
|
## Tools map (default agent)
|
|
34
48
|
|
|
35
49
|
| omp tool | Harness use |
|
|
36
50
|
|----------|-------------|
|
|
37
|
-
| **`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`) |
|
|
38
52
|
| **`ask`** | Structured clarify (options + recommended); prefer over free-form when choices are known |
|
|
39
53
|
| **`hub`** | Optional peer messaging / long-running process control among subagents — not a substitute for Assignment + `task` |
|
|
40
54
|
| **bash** | Commands, git, tests — evidence per `mstar-coding-behavior` |
|
|
@@ -54,7 +68,7 @@ task(
|
|
|
54
68
|
tasks: [
|
|
55
69
|
{
|
|
56
70
|
name: "CamelCaseId",
|
|
57
|
-
agent: "
|
|
71
|
+
agent: "<Execute as role-id>", # prefer live-schema role agent — see C5
|
|
58
72
|
task: "<full Assignment body including Act as + skill load>"
|
|
59
73
|
}
|
|
60
74
|
]
|
|
@@ -65,36 +79,87 @@ Single-task shorthand may exist depending on host version — always match the l
|
|
|
65
79
|
|
|
66
80
|
## Role agents (C5 — hard constraint)
|
|
67
81
|
|
|
68
|
-
|
|
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
|
+
|
|
84
|
+
### Selection order (required)
|
|
85
|
+
|
|
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 |
|
|
69
97
|
|
|
70
|
-
|
|
71
|
-
|---------|-------------|-----------------|
|
|
72
|
-
| `scout` / `explore` | Fast read-only investigation | Orientation, codebase survey, Prepare explore passes |
|
|
73
|
-
| `plan` | Architectural planning | Prepare plan-only work when appropriate |
|
|
74
|
-
| `reviewer` / `security-reviewer` | Structured review | Optional QC assist — still bind Morning Star QC role in prompt (C5b) |
|
|
75
|
-
| `designer` | UI/UX | Optional when Assignment is UI-heavy `frontend-dev` |
|
|
76
|
-
| `librarian` | External library/API research | Optional research assist |
|
|
77
|
-
| `sonic` / `quick_task` | Mechanical / low-reasoning | Mechanical transcription only |
|
|
78
|
-
| `task` | General-purpose worker | **Default for Morning Star roles** (`product-manager`, `fullstack-dev`, `qc-specialist`, …) |
|
|
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.
|
|
79
99
|
|
|
80
|
-
|
|
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.
|
|
81
104
|
|
|
82
105
|
### Role binding in prompt (C5b — required)
|
|
83
106
|
|
|
84
|
-
|
|
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:
|
|
85
136
|
|
|
86
137
|
```text
|
|
87
138
|
task(
|
|
88
139
|
context: "Morning Star dispatch for plan 20260717-example",
|
|
89
140
|
tasks: [{
|
|
90
141
|
name: "ImplementAuth",
|
|
91
|
-
agent: "
|
|
142
|
+
agent: "fullstack-dev", # live-schema role id matching Execute as
|
|
92
143
|
task: "<full Assignment body including Act as + skill load>"
|
|
93
144
|
}]
|
|
94
145
|
)
|
|
95
146
|
```
|
|
96
147
|
|
|
97
|
-
|
|
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):
|
|
98
163
|
|
|
99
164
|
```text
|
|
100
165
|
task(
|
|
@@ -108,24 +173,24 @@ task(
|
|
|
108
173
|
|
|
109
174
|
## PM dispatch (`task`)
|
|
110
175
|
|
|
111
|
-
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`**.
|
|
112
177
|
|
|
113
178
|
| Harness | omp |
|
|
114
179
|
|---------|-----|
|
|
115
|
-
| `Execute as: <role-id>` |
|
|
116
|
-
|
|
|
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 |
|
|
117
182
|
| Parallel batch **N** | **N** `tasks[]` entries in **one** `task` call, or **N** `task` calls in **one** assistant message |
|
|
118
183
|
|
|
119
184
|
### QC default
|
|
120
185
|
|
|
121
|
-
- **`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`.
|
|
122
187
|
- **`inline`**: **N=1** per `parallel-dispatch.md`.
|
|
123
188
|
|
|
124
189
|
Cannot emit required **N** → **`Blocked`**.
|
|
125
190
|
|
|
126
191
|
### SDD implement (serial)
|
|
127
192
|
|
|
128
|
-
- **`Execution mode: sdd`**: one implementer `task` entry per task id; task reviewer = new entry (no sticky resume unless host resume/id is available and recorded). Serial rule → **`parallel-dispatch.md`** § SDD implement.
|
|
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.
|
|
129
194
|
- **Never** multiple implementer entries in one message for the same plan.
|
|
130
195
|
|
|
131
196
|
## Clarify
|
|
@@ -160,6 +225,8 @@ Cannot emit required **N** → **`Blocked`**.
|
|
|
160
225
|
- Installed npm/git plugin package name is root **`morning-star`** (`package.json`); Morning Star display name remains **morning-star-harness**.
|
|
161
226
|
- Marketplace (Claude) installs and `omp plugin install` are different discovery providers — prefer one install path per machine to avoid duplicate skill listings.
|
|
162
227
|
- Session plan UI / todos are not durable SSOT unless mirrored to `{HARNESS_DIR}`.
|
|
163
|
-
-
|
|
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.
|
|
164
230
|
- omp has no `sessionStart.skill`; new sessions do **not** auto-load PM — invoke `/skill:pm` manually.
|
|
165
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.
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ZCode host reference
|
|
2
2
|
|
|
3
|
-
Load when **`mstar-host`** detection resolves **zcode** (ZCode client session,
|
|
3
|
+
Load when **`mstar-host`** detection resolves **zcode** (ZCode client session, `Agent` / `AskUserQuestion` / `EnterPlanMode` / `TodoWrite` tools, or `/morning-star-harness:*` plugin commands).
|
|
4
4
|
|
|
5
5
|
Plan mode: read **`zcode-plan-mode-bridge.md`** when `EnterPlanMode` / `ExitPlanMode` is active.
|
|
6
6
|
|