@mstar-harness/opencode 3.1.1 → 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.
Files changed (31) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/mstar.js +244 -134
  3. package/harness-commands/iteration-drive.md +9 -90
  4. package/harness-commands/iteration-loop.md +22 -62
  5. package/harness-commands/iteration-start.md +20 -77
  6. package/harness-skills/mstar-audit/SKILL.md +2 -2
  7. package/harness-skills/mstar-compound-refresh/SKILL.md +1 -1
  8. package/harness-skills/mstar-dispatch-gates/SKILL.md +1 -1
  9. package/harness-skills/mstar-harness-core/SKILL.md +4 -3
  10. package/harness-skills/mstar-iteration/SKILL.md +16 -10
  11. package/harness-skills/mstar-iteration/references/command-shared-invariants.md +62 -0
  12. package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +3 -3
  13. package/harness-skills/mstar-iteration/references/phase-4-5-pr-delivery.md +1 -1
  14. package/harness-skills/mstar-iteration/references/phase5-helper-discovery.md +1 -1
  15. package/harness-skills/mstar-phase-gates/SKILL.md +1 -1
  16. package/harness-skills/mstar-plan-artifacts/references/knowledge-and-designs.md +2 -2
  17. package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +1 -1
  18. package/harness-skills/mstar-plan-conventions/SKILL.md +1 -1
  19. package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +11 -1
  20. package/harness-skills/mstar-roles/references/architect.md +4 -7
  21. package/harness-skills/mstar-roles/references/code-reviewer.md +1 -4
  22. package/harness-skills/mstar-roles/references/frontend-dev.md +2 -4
  23. package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +2 -4
  24. package/harness-skills/mstar-roles/references/ops-engineer.md +2 -6
  25. package/harness-skills/mstar-roles/references/product-manager.md +4 -7
  26. package/harness-skills/mstar-roles/references/prompt-engineer.md +2 -5
  27. package/harness-skills/mstar-roles/references/qa-engineer.md +2 -6
  28. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +1 -4
  29. package/harness-skills/mstar-roles/references/writing-specialist.md +2 -5
  30. package/harness-skills/mstar-strategy/SKILL.md +5 -35
  31. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ # Iteration 命令共享 invariants + preflight
2
+
3
+ 本文件是 `commands/iteration-*.md`(`iteration-start` / `iteration-drive` / `iteration-loop`)**重叠内容**的单一共享副本(SSOT)。**只收录出现在 ≥2 个命令中的行**;命令专属内容保留在命令正文,**不**复制进本文件:
4
+
5
+ - `iteration-start` Phase 1 review-chain 表(§5.1→§5.2→§5.3 顺序 invoke、三角色冒充禁止、`{KNOWLEDGE_DIR}/` 新增禁止)— start 专属
6
+ - `iteration-loop`「Do not Read `skills/grill-me/SKILL.md`」— loop 专属
7
+ - `iteration-loop` session todo `phase-1-autonomous-start`(Boot → compass `locked` + integration committed)— loop 专属
8
+
9
+ 命令正文经一行指针引用本文件,不重复定义以下 invariants / preflight / todos / STOP。
10
+
11
+ ## PM invariants(重叠行)
12
+
13
+ Phase 2–5 全程有效(drive + loop 共有的行):
14
+
15
+ | 禁止(PM 线程) | 必须 |
16
+ |-----------------|------|
17
+ | Write/Edit/Shell 产品代码、写测试、跑 QC(Phase 2) | 每条 implement/QC/QA Assignment ⇒ **1 次 `Task`** |
18
+ | **多 task plan 用 inline 大包派发**(整份 plan / T1–Tn 贴进一个 dev Assignment) | **SDD**:`mstar-sdd` per-task 循环 — `mstar sdd task-brief` → implementer → `mstar sdd review-package` → task reviewer → `progress.md` |
19
+ | 只写 Assignment 就进入下一 gate | 同轮 dispatch:每条 Assignment ⇒ **1 次 invoke**(`Subagent invokes issued: N`,N = Assignment 条数) |
20
+ | 最后一个 plan `Done` 后直接开 PR / 汇报结束 | **Phase 3 → 4 → 5** 顺序执行 |
21
+ | Phase 5 自己改产品代码 | 需改产品代码时 **dispatch** `fullstack-dev` / `ops-engineer` |
22
+
23
+ 派发细则 → **`mstar-dispatch-gates`** + **`mstar-host`**。Phase 3 细则 → **`mstar-iteration` §3** + **`mstar-compound`**。
24
+
25
+ ## Assignment preflight(bash 块 — byte-identical 共享副本)
26
+
27
+ `mstar-harness` bin 未安装时静默跳过;在每次 implement/QC/QA 派发前(**SDD** 下为最新 `{SDD_DIR}/task-N-brief.md` 或临时写盘的 Assignment)校验。模式由迭代 compass frontmatter 的 `enforcement` 键决定(Slice 5):
28
+
29
+ - **默认(compass 无 `enforcement: hard`)— 可选 warn-only**:exit 1 仅提示,不阻断派发(Slice 3 行为不变):
30
+
31
+ ```bash
32
+ command -v mstar-harness >/dev/null 2>&1 && mstar-harness dispatch validate "<latest-assignment-file>"
33
+ ```
34
+
35
+ - **`enforcement: hard`(迭代 compass frontmatter 声明)— fail-fast**:校验失败即 `exit 1` 阻断派发(bin 缺失仍静默跳过):
36
+
37
+ ```bash
38
+ if command -v mstar-harness >/dev/null 2>&1; then mstar-harness dispatch validate "<latest-assignment-file>" || exit 1; fi
39
+ ```
40
+
41
+ > 路径必须加引号且替换为具体文件(如最新 `{SDD_DIR}/task-N-brief.md`,勿留尖括号)——agent 代入的路径不得进入 shell 无引号展开。
42
+
43
+ ## Session todos(重叠行;drive + loop 共有)
44
+
45
+ | Todo id | 何时追加 | 何时可勾掉 |
46
+ |---------|----------|------------|
47
+ | plan-wave todos | 进入 Phase 2 | 各 plan `Done` |
48
+ | `phase-3-iteration-close` | 仅剩 1 个非 `Done` plan | Phase 3 §3.5 exit 全 `[x]` |
49
+ | `phase-4-create-pr` | Phase 3 完成后 | PR 已创建并记录 URL/number |
50
+ | `phase-5-pr-merge-ready` | Phase 4 完成后 | Phase 5 §5.5 exit 全 `[x]` |
51
+
52
+ ## Continuous execution STOP list(重叠行;start / drive / loop 共有)
53
+
54
+ Execute **`mstar-iteration` §2.6**(Continuous execution SSOT:自 Phase 2 进入至 Phase 5 §5.5 exit 前 PM **连续编排**,进度汇报后下一条必须是 dispatch 或下一 phase 步骤,不向用户例行 yes/no check-in)。
55
+
56
+ **合法 STOP(仅此升级用户)**:
57
+
58
+ - 迭代 branch metadata 缺失(`iteration_base_branch` / `target_branch`)
59
+ - **`Blocked`**:真冲突、secrets、不可逆范围缺口、Phase 5 多轮仍无法 merge-ready
60
+ - 用户本轮显式打断
61
+
62
+ **Turn 收束纪律**:最后一条 assistant 内容必须是 **in-flight 动作**(invoke 已发出、或写明下一 dispatch 的 Assignment 字段),**不得**以对用户的确认问句收束 turn。
@@ -9,8 +9,8 @@ full protocol here.
9
9
 
10
10
  ## When it applies
11
11
 
12
- **Iteration commands only** (`iteration-start` ends before this; `iteration-drive`
13
- / `iteration-loop` Phase 2+). Defaults are **hard** unless the current turn
12
+ **Phase 2+ command-layer only**(`iteration-start` ends before this; `iteration-drive`
13
+ / `iteration-loop` are Phase 2+ command layer). Defaults are **hard** unless the current turn
14
14
  explicitly waives via Assignment `Worktree mode: waived` (or equivalent user
15
15
  instruction). `Plan parallelism: serial` is **not** a waiver — it only forces
16
16
  serial cross-plan **implement** scheduling while control worktree + leases remain
@@ -79,7 +79,7 @@ Immediately before **any** writable implement dispatch, re-read the control
79
79
  snapshot and re-verify `execution_lease` holder + paths match this session;
80
80
  mismatch → **STOP**.
81
81
 
82
- > **Engine check (when available):** run `mstar lease verify --workflow <id> [--plan <plan-id>]` or `mstar lease verify-integration --workflow <id>` (or import `validateExecutionLease` / `validateIntegrationMergeLease` from `@mstar-harness/engine` in a host hook) to validate the leases on the control copy of the workflow snapshot. On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
82
+ > **Lease Engine-check:** canonical callout lives in `mstar-plan-artifacts` `SKILL.md`(Engine-check lease 行)— this file carries the execution checklist only.
83
83
 
84
84
  ## Feature worktree (per plan)
85
85
 
@@ -70,7 +70,7 @@ History rewrite / force-with-lease / 改写后证据失效规则 SSOT → `mstar
70
70
  | 2 | `greploop` | **Optional** — only when the **repo** uses Greptile / has `greploop` available; then run for Greptile **5/5** in addition to babysit/`*-babysit` (or fallback) gates |
71
71
  | 3 | neither | Command fallback = babysit-equivalent CI + reviews gates |
72
72
 
73
- When both babysit/`*-babysit` and greploop apply: **babysit/`*-babysit` first**(CI + reviews),then optional greploop for Greptile score. Discovery paths → host `commands/iteration-drive` / `iteration-loop` Phase 5.
73
+ When both babysit/`*-babysit` and greploop apply: **babysit/`*-babysit` first**(CI + reviews),then optional greploop for Greptile score. Discovery paths → `mstar-iteration` §5 (iteration command layer).
74
74
 
75
75
  ### 5.2 Phase 5 exit checklist(迭代交付完成)
76
76
 
@@ -1,6 +1,6 @@
1
1
  # Phase 5 helper skill discovery(babysit / greploop)
2
2
 
3
- > Loaded by host `commands/iteration-drive` / `iteration-loop`(Phase 5 §5.0)before the first merge-ready loop pass. Search for optional **non-`mstar-*`** helper skills;first readable `SKILL.md` wins per name. Does **not** enter `mstar-*` load order.
3
+ > Loaded by `mstar-iteration` §5 (iteration command layer) before the first merge-ready loop pass. Search for optional **non-`mstar-*`** helper skills;first readable `SKILL.md` wins per name. Does **not** enter `mstar-*` load order.
4
4
 
5
5
  ## Search paths(示例,按宿主扩展)
6
6
 
@@ -52,7 +52,7 @@ description: "Morning Star Spec-Driven 双阶段门禁:Prepare(`specify →
52
52
  - **Plan 质量门**(新 plan / 大改):无 placeholder(`...`、`TBD`、`etc.`);含 **Global Constraints** 与 per-task **Interfaces**;PM self-review 三问(每 task 可独立验证?依赖顺序清晰?无隐含假设?)— 见 `mstar-plan-artifacts/templates/plan.main.md` + **`mstar-plan-artifacts/references/plan-quality-bar.md`**(自包含/验证门/STOP 条件/drift check/done criteria)。
53
53
  - **`implement`**
54
54
  - 最小产物:实现 diff、自检证据、回报与 handoff;行为准则 → **`mstar-coding-behavior`**;编辑纪律 → 上文「可验证编辑与上下文纪律」。
55
- - **知识库 / 迭代 compass**:若 `plans[].metadata` 登记了 `primary_spec` / `spec_refs` / `iteration_compass` / `iteration_refs`,**开工前**须阅读并在回报中说明已对齐 → **`mstar-plan-conventions`** · **`mstar-plan-artifacts/references/knowledge-and-designs.md`**。
55
+ - **知识库 / 迭代 compass**:**默认**开工前扫 `{KNOWLEDGE_DIR}/README.md` 索引(若存在)并阅读与当轮相关的 **Active** 行(**即使 metadata 无 knowledge 链接**);若 `plans[].metadata` 登记了 `primary_spec` / `spec_refs` / `iteration_compass` / `iteration_refs`,所链接文档**仍须**阅读;两类阅读均须在回报中说明已对齐 → **`mstar-plan-conventions`** · **`mstar-plan-artifacts/references/knowledge-and-designs.md`**。
56
56
 
57
57
  ## 角色职责
58
58
 
@@ -61,7 +61,7 @@
61
61
  ## 与 `status.json` 的链接
62
62
 
63
63
  - 某 plan 的**权威设计输入**在规格、迭代 compass 或(已有)知识库中时,在 `**plans[].metadata**` 中登记路径:`**primary_spec**` / `**spec_refs**` → 优先 **`{SPECS_DIR}/`**;`**iteration_compass**` / `**iteration_refs**` → **`{ITERATION_DIR}/`**;已有 **`{KNOWLEDGE_DIR}/`** 链接保留,但 **iteration-start 不得新增** knowledge 路径。
64
- - 执行方在 **implement 前**须按 metadata 读取这些文件,并与主 plan 核对;不得在未读链接文档的情况下**静默偏离**其中已写明的决策(若需偏离,先回写 knowledge 或 plan 并走 PM/architect 门禁)。
64
+ - 执行方在 **implement 前**:先扫 `{KNOWLEDGE_DIR}/README.md` 索引(若存在),发现并阅读与当轮相关的 **Active** 行(发现式阅读,不要求通读全库);再按 metadata 读取已登记路径;均与主 plan 核对;不得在未读链接文档的情况下**静默偏离**其中已写明的决策(若需偏离,先回写 knowledge 或 plan 并走 PM/architect 门禁)。
65
65
 
66
66
  ## 维护规则
67
67
 
@@ -69,7 +69,7 @@
69
69
  - **Specs(长期)**:`{SPECS_DIR}/` → spec 索引(若有)→ `plans[].metadata` 的 `primary_spec` / `spec_refs`
70
70
  - **迭代 package**:`{ITERATION_DIR}/<iteration-id>/guides|specs/` → `{ITERATION_DIR}/README.md`(目录一行)+ package README → `iteration_refs`
71
71
  - **Knowledge**:**`mstar-compound`** @ iteration-close(含 package **提升**)→ `{KNOWLEDGE_DIR}/README.md`
72
- 2. **阅读**:开发类 agent 在开始编码前,**必须**阅读当前 plan 在 `metadata` 中指向的 knowledge 文档(若存在);`@project-manager` 在 Assignment 中可再次点名路径。
72
+ 2. **阅读**:开发类 agent 在开始编码前,**先扫** `{KNOWLEDGE_DIR}/README.md` 索引(若存在),发现并阅读与当轮相关的 **Active** 行(不要求通读全库);随后**必须**阅读当前 plan 在 `metadata` 中指向的 knowledge 文档(若存在);`@project-manager` 在 Assignment 中可再次点名路径。
73
73
  3. **修订**:评审或规格变更若改动了 knowledge 文件,同步更新 README 中 **Status** 或 Description;版本迭代优先新文件名 `v<N+1>` 或保留旧版并标明 Superseded。
74
74
  4. **归档**:
75
75
  - **iteration-start(强制)**:`writing-specialist` §1.6 以 **`{SPECS_DIR}/` 全库卫生为主**;对**既有** `{KNOWLEDGE_DIR}/` 仅归档/错放纠正,**不**新增 knowledge。细则 → **`mstar-iteration/references/iteration-corpus-hygiene.md`**。
@@ -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 check (when available):** run `mstar lease verify --workflow <id> [--plan <plan-id>]` or `mstar lease verify-integration --workflow <id>` (or import `validateExecutionLease` / `validateIntegrationMergeLease` from `@mstar-harness/engine` in a host hook) to validate the leases above on the workflow snapshot. On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
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 状态以 `{HARNESS_DIR}/status.json` 为 SSOT。细则 → **`mstar-plan-artifacts`**。
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-design-md`; `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**.
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
- - Do not spawn same-role or sibling implementation/review roles unless `Delegation: allowed (...)` explicitly permits it.
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
- - **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 artifacts** are your deliverable; **scheduling** parallel execution is **PM’s next round**, not part of this assignment unless `Delegation: allowed (...)` explicitly lists callees.
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
- - **NEVER** dispatch subagents unless the Assignment carries audit-mode `Delegation: allowed (scout/explore only, read-only)`.
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
- - Do not spawn same-role or sibling implementation/review roles unless explicitly authorized by `Delegation: allowed (...)`.
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
- - **NEVER** invoke `frontend-dev`, `fullstack-dev`, `fullstack-dev-2`, or other roles to perform **this** assignment unless `Delegation: allowed (...)` explicitly lists them.
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
- - Do not recursively dispatch sibling dev/review roles unless explicitly authorized via `Delegation: allowed (...)`.
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
- - **NEVER** invoke `fullstack-dev`, `fullstack-dev-2`, `frontend-dev`, or other roles to perform **this** assignment body unless `Delegation: allowed (...)` explicitly lists them.
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
- - Do not spawn same-role or unrelated implementation/review roles unless explicitly authorized.
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
- - **NEVER** re-invoke `ops-engineer` or swap in `fullstack-dev` / `frontend-dev` / `architect` / `qc-specialist*` / `qa-engineer` / `project-manager` to substitute for **this** ops/deploy assignment unless `Delegation: allowed (...)` lists them.
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-design-md`; `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**.
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
- - Do not dispatch other roles unless explicitly permitted by `Delegation: allowed (...)`.
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
- - **NEVER** invoke `architect`, dev, QA, or other roles to author **your** PRD/spec/clarify body unless `Delegation: allowed (...)` explicitly lists them—their names in templates are **not** automatic callees.
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
- - Do not spawn same-role or other roles unless explicitly authorized.
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
- - **NEVER** invoke `prompt-engineer` or other roles to perform **this** prompt/skill/rule assignment—even when editing files “owned by” another role’s prompt pack, **you** perform the edit; those role names are **targets**, not callees.
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
- - Do not dispatch same-role or other implementation/review roles unless explicitly allowed.
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
- - **NEVER** invoke another `qa-engineer` or dev/QC roles for **this** QA assignment unless `Delegation: allowed (...)` lists them.
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
- - **NEVER** invoke another QC seat or `{role_id}` again, nor `qa-engineer` / dev / `architect` / `project-manager`, unless `Delegation: allowed (...)` lists them.
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
- - Do not recursively dispatch same-role or other roles unless explicitly authorized.
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
- - **NEVER** invoke `writing-specialist` or unrelated roles to perform **this** writing assignment unless `Delegation: allowed (...)` lists them.
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
- ### Phase 1: Gather context
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
- 1. Read existing project documentation (README, AGENTS.md, existing specs).
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
- ### Phase 3: Draft
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
- 1. **Be decisive about direction changes.** Don't keep old strategy alongside new — replace it.
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
- 主链:**创建**(Phase 1 收集上下文 Phase 2 访谈 PM Phase 3 落盘 `<repo-root>/STRATEGY.md` Phase 4 可发现性检查)→ **维护**(方向变更时果断替换旧策略、Decision Log 记决策理由、保持最新)→ **定期评审**(重大架构决策后 / 新技术栈引入时 / 季度评审)。作为 brainstorm / plan 的上游锚点被引用。
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.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": {