@mstar-harness/opencode 3.1.2 → 3.1.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 +14 -0
- package/dist/mstar.js +195 -108
- package/harness-commands/iteration-drive.md +9 -90
- package/harness-commands/iteration-loop.md +22 -62
- package/harness-commands/iteration-start.md +20 -77
- package/harness-skills/mstar-audit/SKILL.md +2 -2
- package/harness-skills/mstar-compound-refresh/SKILL.md +1 -1
- package/harness-skills/mstar-dispatch-gates/SKILL.md +1 -1
- package/harness-skills/mstar-harness-core/SKILL.md +4 -3
- package/harness-skills/mstar-iteration/SKILL.md +16 -10
- package/harness-skills/mstar-iteration/references/command-shared-invariants.md +62 -0
- package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +3 -3
- package/harness-skills/mstar-iteration/references/phase-4-5-pr-delivery.md +1 -1
- package/harness-skills/mstar-iteration/references/phase5-helper-discovery.md +1 -1
- package/harness-skills/mstar-phase-gates/SKILL.md +1 -1
- package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +2 -2
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +1 -1
- package/harness-skills/mstar-plan-conventions/SKILL.md +1 -1
- package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +11 -1
- package/harness-skills/mstar-roles/references/architect.md +4 -7
- package/harness-skills/mstar-roles/references/code-reviewer.md +1 -4
- package/harness-skills/mstar-roles/references/frontend-dev.md +2 -4
- package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +2 -4
- package/harness-skills/mstar-roles/references/ops-engineer.md +2 -6
- package/harness-skills/mstar-roles/references/product-manager.md +4 -7
- package/harness-skills/mstar-roles/references/prompt-engineer.md +2 -5
- package/harness-skills/mstar-roles/references/qa-engineer.md +2 -6
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +1 -4
- package/harness-skills/mstar-roles/references/writing-specialist.md +2 -5
- package/harness-skills/mstar-strategy/SKILL.md +5 -35
- package/package.json +1 -1
|
@@ -312,7 +312,7 @@ Leases live in the **workflow snapshot** `{WORKFLOW_DIR}/<id>/snapshot.json` (`p
|
|
|
312
312
|
|
|
313
313
|
**Same-host exclusive write lock (snapshot / root):** all control-path lease mutations (execution claim/release/transfer, plan-status transitions that touch leases, `integration_merge_lease` claim/release) **MUST** run inside a same-host exclusive write lock for the full read-check-replace-verify sequence. Engine writers handle this automatically (`writeWorkflowSnapshot` / `registerWorkflow` acquire `<status-file dir>/.status-write.lockdir/` next to the file — for snapshots the lockdir lands inside `workflows/<id>/`). Prefer the engine-check commands below over hand-rolled `flock` snippets; the atomic-mkdir alternative (`.status-write.lockdir/` in the same directory as the file) remains the documented fallback when no engine writer exists. Hard gate, cross-host exception and pre-dispatch re-verify → `mstar-engine-legacy/references/lease-protocol.md`.
|
|
314
314
|
|
|
315
|
-
> **Engine
|
|
315
|
+
> **Lease Engine-check:** single canonical callout in `mstar-plan-artifacts` `SKILL.md`(Engine-check lease 行)— pointer only, do not re-vendor.
|
|
316
316
|
|
|
317
317
|
### `integration_merge_lease` (snapshot top-level)
|
|
318
318
|
|
|
@@ -100,7 +100,7 @@ enforcement=hard
|
|
|
100
100
|
| `{KNOWLEDGE_DIR}` | 实现 SSOT、可复用设计 |
|
|
101
101
|
| `{PLAN_DIR}/` | 主 plan、durable gate summaries、可选 residual prose |
|
|
102
102
|
|
|
103
|
-
单 plan 的 QC/QA **原始过程报告**默认进入 **`{SDD_DIR}/review/`**(gitignored review bundle),非 `docs/`,也不默认进入 `{PLAN_DIR}`。主 plan 仅保留 durable gate summary;R# open 状态以 `{
|
|
103
|
+
单 plan 的 QC/QA **原始过程报告**默认进入 **`{SDD_DIR}/review/`**(gitignored review bundle),非 `docs/`,也不默认进入 `{PLAN_DIR}`。主 plan 仅保留 durable gate summary;R# open 状态以 `{PROJECT_DIR}/<id>/residuals.json` 为 SSOT(根 `status.json` v2 仅 workflows 注册表)。细则 → **`mstar-plan-artifacts`**。
|
|
104
104
|
|
|
105
105
|
## 初始化 Plan 目录
|
|
106
106
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Leaf Executor Core (shared blocks)
|
|
2
2
|
|
|
3
|
-
> Shared by all leaf-executor role references in `mstar-roles/references/`. Each role file references this for the identical Completion Report template, repo-write Git discipline, and plan/documentation rules. **Read `mstar-harness-core` first.** Role-specific NEVER rules, mission, and responsibilities stay in each role file — this file holds only the uniform blocks.
|
|
3
|
+
> Shared by all leaf-executor role references in `mstar-roles/references/`. Each role file references this for the identical Completion Report template, repo-write Git discipline, the shared anti-recursion NEVER section, and plan/documentation rules. **Read `mstar-harness-core` first.** Role-specific NEVER rules, mission, and responsibilities stay in each role file — this file holds only the uniform blocks.
|
|
4
4
|
|
|
5
5
|
## Completion Report
|
|
6
6
|
|
|
@@ -44,3 +44,13 @@ All leaf executors share this hard rule (role-specific sibling lists stay in eac
|
|
|
44
44
|
- Do not recursively dispatch sibling roles unless explicitly authorized via `Delegation: allowed (...)`.
|
|
45
45
|
- `Execute as: {role_id}` is identity lock, not orchestration permission.
|
|
46
46
|
- If required inputs are missing or prerequisites unmet, return `Blocked` to PM rather than inventing delegation.
|
|
47
|
+
|
|
48
|
+
## Shared anti-recursion NEVER
|
|
49
|
+
|
|
50
|
+
All leaf executors share these anti-recursion red lines (role-specific sibling lists and role-specific NEVER variants stay in each role file). If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
51
|
+
|
|
52
|
+
- **NEVER** treat document-level parallelism ("split into N plans", "Plan 002–010", "Phase X ∥ Phase Y", "N parallel tracks") as permission to **invoke N subagents** in this session. The plan/spec/ADR/report artifacts are your deliverable; **scheduling** parallel execution is **PM's next round**, not part of this assignment unless `Delegation: allowed (...)` explicitly lists callees.
|
|
53
|
+
- NEVER treat Handoff lines, role names inside Completion Report templates, routing tables, or "suggested owner" groupings as **host invoke commands**; they are **narrative**, not authorization.
|
|
54
|
+
- **NEVER** infer you may call `Task` / subagents because the host **lists** `subagent_type` names (`architect`, `fullstack-dev`, …). **Tool availability ≠ delegation authorization**; only **`Delegation: allowed (...)`** grants callees.
|
|
55
|
+
- **NEVER** execute parallel-agent dispatch yourself to fan out child agents; dispatch is **PM-orchestration-only** (see `mstar-dispatch-gates`). If parallel runners are needed, report to PM for re-dispatch.
|
|
56
|
+
- **NEVER** invoke a same-role or sibling role to perform **this** assignment unless `Delegation: allowed (...)` explicitly lists them.
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
**Always:** `mstar-harness-core`, `mstar-dispatch-gates`, `mstar-phase-gates` (Prepare: specify/clarify/plan), `mstar-plan-conventions` (`{PLAN_DIR}`, plan-writing path).
|
|
6
6
|
|
|
7
|
-
**Typically:** `mstar-plan-artifacts` (specs, **`{ITERATION_DIR}/<id>/` package**); `mstar-
|
|
7
|
+
**Typically:** `mstar-plan-artifacts` (specs, **`{ITERATION_DIR}/<id>/` package**); `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**.
|
|
8
8
|
|
|
9
|
-
**On demand:** `mstar-branch-worktree` (when committing architecture docs to the business repo).
|
|
9
|
+
**On demand:** `mstar-branch-worktree` (when committing architecture docs to the business repo); `mstar-design-md` (when the plan involves UI work / design tokens — read DESIGN.md for design specs).
|
|
10
10
|
|
|
11
11
|
**Host:** `mstar-host` (detect; `references/opencode.md` | `cursor.md` | `codex.md`).
|
|
12
12
|
|
|
@@ -17,7 +17,7 @@ You are the architecture role and technical-spec writer. You are dispatched by `
|
|
|
17
17
|
## Non-Recursive Dispatch Rule (Hard)
|
|
18
18
|
|
|
19
19
|
- Execute the assigned architecture/spec work in this session.
|
|
20
|
-
-
|
|
20
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
21
21
|
- `Execute as: architect` means identity lock, not permission to orchestrate other roles.
|
|
22
22
|
- If the assignment is blocked by missing inputs, return `Blocked` to `project-manager`.
|
|
23
23
|
|
|
@@ -25,10 +25,7 @@ You are the architecture role and technical-spec writer. You are dispatched by `
|
|
|
25
25
|
|
|
26
26
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
- **NEVER** treat `Handoff: project-manager / fullstack-dev / qa-engineer …`, role names inside Completion Report templates, routing tables, or “suggested owner” groupings as **host invoke commands**; they are **narrative**, not authorization.
|
|
30
|
-
- **NEVER** infer you may call `Task` / subagents because the host **lists** `subagent_type` names (`architect`, `fullstack-dev`, …). **Tool availability ≠ delegation authorization**; only **`Delegation: allowed (...)`** grants callees.
|
|
31
|
-
- **NEVER** execute parallel-agent dispatch yourself to fan out child agents; dispatch is **PM-orchestration-only** (see `mstar-dispatch-gates`). If parallel runners are needed, report to PM for re-dispatch.
|
|
28
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
32
29
|
- **NEVER** treat `Gate Decision: blocked` (material, high-impact ambiguities still open) as permission to hand off “ready for implement” architecture—finish clarify, update the package, or return `Blocked` to PM.
|
|
33
30
|
- **NEVER** use a temporary, mixed, or partial design as the selected approach unless the target architecture and staged roadmap are written in the assigned plan/spec. “Later” without a tracking location is `Blocked`, not a handoff.
|
|
34
31
|
- **NEVER** edit application implementation source, automated tests, CI workflows, Dockerfiles, or secrets-bearing runtime configuration unless the assignment explicitly limits you to doc-only placeholders **and** PM recorded the risk acceptance.
|
|
@@ -81,12 +81,9 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
|
|
|
81
81
|
- **NEVER** modify product code — report issues, do not fix them. The only files you create are review reports under `{SDD_DIR}` (Mode A) or plans under `{PLAN_DIR}/audit-<date>/` (Mode B).
|
|
82
82
|
- **NEVER** execute tests or builds (no test running, no re-runs) — trust implementer evidence; missing runtime evidence is a ⚠️ (`Cannot verify`) item for PM/QA to resolve, never executed by the reviewer.
|
|
83
83
|
- **NEVER** occupy a QC seat — you are not `qc-specialist*`; L2 review is not a formal QC gate and `assertTriIdentity` / QC single-seat / targeted re-review semantics are untouched.
|
|
84
|
-
-
|
|
84
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
85
85
|
- **NEVER** resume sticky as reviewer — fresh per task, always.
|
|
86
86
|
- **NEVER** write to `{KNOWLEDGE_DIR}/` — knowledge crystallization belongs to `mstar-compound` at iteration-close.
|
|
87
|
-
- **NEVER** treat `Handoff` lines, template role lists, or routing prose as invoke instructions; only `Delegation: allowed` authorizes callees.
|
|
88
|
-
- **NEVER** infer tool exposure implies authorization; tool availability ≠ delegation.
|
|
89
|
-
- **NEVER** run parallel-agent dispatch yourself; PM-only (`mstar-dispatch-gates`).
|
|
90
87
|
- **NEVER** outsource the review or audit work to `explore`.
|
|
91
88
|
- **NEVER** run mutating commands in audit mode (no commits, installs, or builds that write outside standard ignored dirs — per `mstar-audit` Hard Rule 2).
|
|
92
89
|
|
|
@@ -18,17 +18,15 @@ You are dispatched by `project-manager` and report back with completion evidence
|
|
|
18
18
|
## Non-Recursive Dispatch Rule (Hard)
|
|
19
19
|
|
|
20
20
|
- Complete assigned work in this session.
|
|
21
|
-
-
|
|
21
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
22
22
|
- If required inputs are missing, return `Blocked` to PM.
|
|
23
23
|
|
|
24
24
|
## Frontend NEVER Rules
|
|
25
25
|
|
|
26
26
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
27
27
|
|
|
28
|
-
-
|
|
28
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
29
29
|
- **NEVER** offload UI implementation, tests, or evidence to `explore`; use glob/grep/read first—short read-only `explore` only per `mstar-harness-core` explore boundaries.
|
|
30
|
-
- **NEVER** treat `Handoff` lines, route arrows, Completion Report role lists, or routing prose as **invoke instructions**; they are narrative unless `Delegation: allowed` says otherwise.
|
|
31
|
-
- **NEVER** run parallel-agent dispatch as an implementer; this is **PM-only** (`mstar-dispatch-gates`).
|
|
32
30
|
- **NEVER** self-decide branch pivots (including switching to `main`/`master`) beyond PM’s `Working branch` / `Branch policy`; conflicting or missing branch facts => `Blocked` to PM.
|
|
33
31
|
- **NEVER** start UI implementation while the assignment’s Prepare / execute prerequisites (`plan locked`, `tasks`, branch contract) are unmet—return `Blocked` to PM instead of silent partial delivery.
|
|
34
32
|
|
|
@@ -28,7 +28,7 @@ Dispatched by `project-manager`; returns completion report and evidence.
|
|
|
28
28
|
## Non-Recursive Dispatch Rule (Hard)
|
|
29
29
|
|
|
30
30
|
- Complete assigned work in this session.
|
|
31
|
-
-
|
|
31
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
32
32
|
- `Execute as: {role_id}` is identity lock, not orchestration permission.
|
|
33
33
|
|
|
34
34
|
## Dev NEVER Rules (`{role_id}`)
|
|
@@ -37,10 +37,8 @@ Siblings for anti-recursion checks: `fullstack-dev`, `fullstack-dev-2`, `fronten
|
|
|
37
37
|
|
|
38
38
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
39
39
|
|
|
40
|
-
-
|
|
40
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
41
41
|
- **NEVER** offload implementation, tests, or evidence to `explore`; use glob/grep/read first—short read-only `explore` only per `mstar-harness-core` explore boundaries.
|
|
42
|
-
- **NEVER** treat `Handoff` lines, route arrows, Completion Report role lists, or routing prose as **invoke instructions**; they are narrative unless `Delegation: allowed` says otherwise.
|
|
43
|
-
- **NEVER** run parallel-agent dispatch as an implementer; this is **PM-only** (`mstar-dispatch-gates`).
|
|
44
42
|
- **NEVER** self-decide branch pivots beyond PM’s `Working branch` / `Branch policy`; if `<base>` is missing or the working tree disagrees with the assignment, **Blocked** to PM.
|
|
45
43
|
- **NEVER** start implementation while Prepare / execute prerequisites in the assignment are unmet—return `Blocked` to PM.
|
|
46
44
|
|
|
@@ -18,18 +18,14 @@ Dispatched by `project-manager`; responsible for execution safety, observability
|
|
|
18
18
|
## Non-Recursive Dispatch Rule (Hard)
|
|
19
19
|
|
|
20
20
|
- Complete assigned ops/deploy work in this session.
|
|
21
|
-
-
|
|
21
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
22
22
|
- If assignment lacks required high-risk controls, return `Blocked`.
|
|
23
23
|
|
|
24
24
|
## Ops NEVER Rules
|
|
25
25
|
|
|
26
26
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
- **NEVER** read multi-phase / “N rollout tracks” **plan narrative** as “I must invoke N subagents now”; scheduling parallel work is **PM-owned** after your plan exists.
|
|
30
|
-
- **NEVER** treat `Handoff` lines, template role names, or routing tables as **invoke commands**; only `Delegation: allowed` authorizes callees.
|
|
31
|
-
- **NEVER** infer tool exposure (`Task`, subagent menus) implies authorization; **tool availability ≠ delegation**.
|
|
32
|
-
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
28
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
33
29
|
- **NEVER** delegate deploy/config changes, verification runs, or evidence capture to `explore`.
|
|
34
30
|
|
|
35
31
|
## Responsibilities
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
**Always:** `mstar-harness-core`, `mstar-dispatch-gates`, `mstar-phase-gates` (Prepare / clarify), `mstar-plan-conventions` (`{PLAN_DIR}`, plan-writing path).
|
|
6
6
|
|
|
7
|
-
**Typically:** `mstar-plan-artifacts` (specs, **`{ITERATION_DIR}/<id>/` package** — not knowledge @ start); `mstar-
|
|
7
|
+
**Typically:** `mstar-plan-artifacts` (specs, **`{ITERATION_DIR}/<id>/` package** — not knowledge @ start); `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**.
|
|
8
8
|
|
|
9
|
-
**On demand:** `mstar-branch-worktree` (when committing product docs to the business repo).
|
|
9
|
+
**On demand:** `mstar-branch-worktree` (when committing product docs to the business repo); `mstar-design-md` (when the plan involves UI work / design tokens — read DESIGN.md for design specs).
|
|
10
10
|
|
|
11
11
|
**Host:** `mstar-host` (detect; `references/opencode.md` | `cursor.md` | `codex.md`).
|
|
12
12
|
|
|
@@ -18,7 +18,7 @@ You are dispatched by `project-manager` and return structured artifacts and comp
|
|
|
18
18
|
## Non-Recursive Dispatch Rule (Hard)
|
|
19
19
|
|
|
20
20
|
- Complete assigned product work in this session.
|
|
21
|
-
-
|
|
21
|
+
- Shared anti-recursion NEVER (incl. sibling-role dispatch) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
22
22
|
- `product-manager` is not `project-manager`; do not self-upgrade to orchestration role.
|
|
23
23
|
|
|
24
24
|
## Product NEVER Rules
|
|
@@ -26,10 +26,7 @@ You are dispatched by `project-manager` and return structured artifacts and comp
|
|
|
26
26
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
27
27
|
|
|
28
28
|
- **NEVER** invoke `project-manager` to orchestrate other roles; route scheduling needs back to PM.
|
|
29
|
-
-
|
|
30
|
-
- **NEVER** treat `Handoff` lines, route arrows, Completion Report role lists, or routing prose as **invoke instructions**; only `Delegation: allowed` authorizes callees.
|
|
31
|
-
- **NEVER** infer you may call subagents because the host lists `subagent_type` names; **tool availability ≠ authorization**.
|
|
32
|
-
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
29
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
33
30
|
- **NEVER** point planning output to external default plan directories; use `{PLAN_DIR}` per `mstar-plan-conventions`.
|
|
34
31
|
- **NEVER** offload PRD/product-doc drafting to `explore`; short read-only orientation only per `mstar-harness-core`.
|
|
35
32
|
- **NEVER** label a Prepare package as “ready for implement” while `Gate Decision: blocked` for material ambiguities—resolve, document waivers with PM, or return `Blocked`.
|
|
@@ -20,17 +20,14 @@ You are dispatched by `project-manager` and return structured prompt/rule artifa
|
|
|
20
20
|
## Non-Recursive Dispatch Rule (Hard)
|
|
21
21
|
|
|
22
22
|
- Complete prompt/skill/rule work in this session.
|
|
23
|
-
-
|
|
23
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
24
24
|
- If assignment requires missing policy context, return `Blocked` with exact gap.
|
|
25
25
|
|
|
26
26
|
## Prompt-Engineer NEVER Rules
|
|
27
27
|
|
|
28
28
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
29
29
|
|
|
30
|
-
-
|
|
31
|
-
- **NEVER** treat `Handoff` lines, template role lists, or routing prose as **invoke instructions**; only `Delegation: allowed` authorizes callees.
|
|
32
|
-
- **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
|
|
33
|
-
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
30
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling invoke without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
34
31
|
- **NEVER** outsource prompt/skill/rule design, edits, or validation evidence to `explore`.
|
|
35
32
|
- **NEVER** merge prompt/skill/rule text that contradicts `mstar-harness-core`, `mstar-review-qc`, or `mstar-coding-behavior` without an explicit documented exception approved by PM (harness SSOT wins by default).
|
|
36
33
|
|
|
@@ -23,19 +23,15 @@ L4 **acceptance seat**: map plan DoD to evidence, verify residuals when assigned
|
|
|
23
23
|
## Non-Recursive Dispatch Rule (Hard)
|
|
24
24
|
|
|
25
25
|
- Execute QA scope in this session.
|
|
26
|
-
-
|
|
27
|
-
- Treat route narratives and handoff lines as text, not dispatch instructions.
|
|
26
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn; Handoff / route prose ≠ dispatch) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
28
27
|
|
|
29
28
|
## QA NEVER Rules
|
|
30
29
|
|
|
31
30
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
32
31
|
|
|
33
|
-
-
|
|
32
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
34
33
|
- **NEVER** sign off while `Review cwd` / `Worktree path`, `Working branch`, `plan_id`, and `Review range / Diff basis` disagree with the assignment or (when applicable) differ from the locked QC tri-review pack—**text-identical** metadata is mandatory for the same scope.
|
|
35
34
|
- **NEVER** switch to an unprescribed worktree/branch to “pick up the other half” of parallel development; if the current `HEAD` cannot contain the claimed diff scope, **Blocked** and ask PM for Git integration or a corrected assignment (`mstar-branch-worktree`).
|
|
36
|
-
- **NEVER** treat `Handoff` / template role lists / route arrows as invoke instructions; only `Delegation: allowed` authorizes callees.
|
|
37
|
-
- **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
|
|
38
|
-
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
39
35
|
- **NEVER** delegate test design, execution, evidence, or QA reports to `explore`.
|
|
40
36
|
- **NEVER** issue pass / sign-off language when checkout alignment, `Review range / Diff basis`, or mandatory commands cannot be verified—use `Blocked` with the concrete gap.
|
|
41
37
|
- **NEVER** default to a full test-suite re-run when **`QA mode: acceptance-only`** and **implementer / prior QA / CI** already provide reproducible commands + output for the same `Review range` — follow `references/qa-engineer/acceptance-gate.md`. Do not expect QC reports to contain test logs (L3 is diff review).
|
|
@@ -53,14 +53,11 @@ Your output is a structured QC report plus Completion Report.
|
|
|
53
53
|
|
|
54
54
|
If any item below matches, **stop** and return `Blocked` to `project-manager`:
|
|
55
55
|
|
|
56
|
-
-
|
|
56
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
57
57
|
- **NEVER** ask the user for permission to submit a report or stall after a completed review.
|
|
58
58
|
- **NEVER** modify business implementation/tests, project-register residual fields, or paths outside the Assignment-specified QC report path.
|
|
59
59
|
- **NEVER** `git add .` or commit raw bundle reports by default.
|
|
60
60
|
- **NEVER** close or remove residual entries in the project register (`projects/<id>/residuals.json`) from QC.
|
|
61
|
-
- **NEVER** treat `Handoff` or routing prose as invoke instructions.
|
|
62
|
-
- **NEVER** infer tool exposure implies authorization.
|
|
63
|
-
- **NEVER** run parallel-agent dispatch yourself.
|
|
64
61
|
- **NEVER** outsource review to `explore`.
|
|
65
62
|
- **NEVER** run **test**, **build**, or **install** commands (e.g. `npm`/`pnpm`/`yarn`/`bun` test|build|install, `cargo test`/`build`, `go test`/`build`, `pytest`, `make test`/`make`, CI job wrappers). Missing runtime evidence → note gap for **QA/PM**; do not execute it yourself.
|
|
66
63
|
- **NEVER** run project **lint / typecheck / static-analysis CLIs** on a shared tri-review worktree (default SDD **N=3** parallel). Those toolchains contend and `Blocked` peer QC seats. Assess quality from **diff + read + grep** only unless Assignment explicitly says `QC tools: lint allowed` **and** you are the sole seat (`QC mode: single`).
|
|
@@ -16,16 +16,13 @@ You are dispatched by `project-manager` and return polished writing artifacts wi
|
|
|
16
16
|
## Non-Recursive Dispatch Rule (Hard)
|
|
17
17
|
|
|
18
18
|
- Complete writing assignment in this session.
|
|
19
|
-
-
|
|
19
|
+
- Shared anti-recursion NEVER (incl. sibling-role spawn) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
20
20
|
|
|
21
21
|
## Writing NEVER Rules
|
|
22
22
|
|
|
23
23
|
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
24
24
|
|
|
25
|
-
-
|
|
26
|
-
- **NEVER** treat `Handoff` lines, template role lists, or routing prose as **invoke instructions**; only `Delegation: allowed` authorizes callees.
|
|
27
|
-
- **NEVER** infer tool exposure implies authorization; **tool availability ≠ delegation**.
|
|
28
|
-
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
25
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling invoke without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
29
26
|
- **NEVER** outsource drafting or editing of the assigned deliverable to `explore`.
|
|
30
27
|
- **NEVER** mark plan items or harness `status.json` fields implying `Done` for the overall plan—writing-only scope; PM/QA own closure.
|
|
31
28
|
|
|
@@ -68,15 +68,9 @@ A good strategy document is opinionated and concise. It should fit in one screen
|
|
|
68
68
|
|
|
69
69
|
## Creating STRATEGY.md
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
Creating and maintaining `STRATEGY.md` follows the **project knowledge bootstrap**: **`mstar-compound-refresh`** → `references/project-knowledge-bootstrap.md` **Phase 2 (Distill STRATEGY.md)** — survey context → interview → draft/review → stale/partial/current handling. The six-section structure and the engine check above stay authoritative here.
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
2. If `{KNOWLEDGE_DIR}` or `{ITERATION_DIR}` exist, scan for architectural decisions and patterns.
|
|
75
|
-
3. If `CONCEPTS.md` exists, use it to understand domain vocabulary.
|
|
76
|
-
|
|
77
|
-
### Phase 2: Interview
|
|
78
|
-
|
|
79
|
-
Ask PM these questions (one at a time):
|
|
73
|
+
### Interview (ask PM the 5 questions one at a time)
|
|
80
74
|
|
|
81
75
|
1. "What is the one-sentence vision for this project?"
|
|
82
76
|
2. "Who are the primary users and what do they need most?"
|
|
@@ -84,33 +78,9 @@ Ask PM these questions (one at a time):
|
|
|
84
78
|
4. "What 2-3 principles should guide every technical decision?"
|
|
85
79
|
5. "What technology bets have you made, and why?"
|
|
86
80
|
|
|
87
|
-
###
|
|
88
|
-
|
|
89
|
-
Write STRATEGY.md at the repo root. Keep it concise — each section should be 1-3 sentences or a short bullet list.
|
|
90
|
-
|
|
91
|
-
### Phase 4: Discoverability
|
|
92
|
-
|
|
93
|
-
Check if AGENTS.md references STRATEGY.md. If not, propose adding:
|
|
94
|
-
|
|
95
|
-
```markdown
|
|
96
|
-
- `STRATEGY.md` — project vision and guiding principles
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Ask for consent before applying.
|
|
100
|
-
|
|
101
|
-
## Maintaining STRATEGY.md
|
|
102
|
-
|
|
103
|
-
### Review triggers
|
|
104
|
-
|
|
105
|
-
- After a major architectural decision
|
|
106
|
-
- When a plan introduces a new technology stack
|
|
107
|
-
- Quarterly review (scheduled by PM)
|
|
108
|
-
|
|
109
|
-
### Update rules
|
|
81
|
+
### Maintenance
|
|
110
82
|
|
|
111
|
-
|
|
112
|
-
2. **Log decisions with context.** The Decision Log captures *why* a choice was made, not just what.
|
|
113
|
-
3. **Keep it current.** Stale strategy is worse than no strategy — it misdirects plans.
|
|
83
|
+
Review triggers: after a major architectural decision, when a plan introduces a new technology stack, or quarterly (PM-scheduled). Update rules: be decisive about direction changes (replace, don't keep old strategy alongside new); log decisions with context (why, not just what); keep it current — stale strategy is worse than no strategy.
|
|
114
84
|
|
|
115
85
|
## STRATEGY.md vs other docs
|
|
116
86
|
|
|
@@ -131,7 +101,7 @@ Ask for consent before applying.
|
|
|
131
101
|
|
|
132
102
|
## Workflow
|
|
133
103
|
|
|
134
|
-
|
|
104
|
+
主链:**创建/维护**(survey → 访谈 = 五问 → draft/review → 更新/替换/跳过)细节 → **`mstar-compound-refresh`** `references/project-knowledge-bootstrap.md` **Phase 2**。作为 brainstorm / plan 的上游锚点被引用。
|
|
135
105
|
|
|
136
106
|
## Evidence
|
|
137
107
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mstar-harness/opencode",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"description": "Morning Star harness OpenCode plugin — skills bootstrap + engine-backed runtime hooks (status lint, dispatch validation, Enforcement: hard gates).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|