@mstar-harness/opencode 3.3.0 → 3.4.1

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 CHANGED
@@ -6,6 +6,35 @@ The monorepo root [CHANGELOG.md](../../CHANGELOG.md) summarizes cross-surface re
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [3.4.1] - 2026-08-27
10
+
11
+ ### Bundled harness skills (`harness-skills/` at publish)
12
+
13
+ - **Anti-recursion precheck re-scoped to CALLER semantics (fixes #156)**: `composeDispatchGate` no longer feeds the host role-binding field into `antiRecursionPrecheck` as if it were the dispatching agent — on omp/OpenCode/Cursor that field (`agent` / `subagent` / `subagent_type`) carries the spawn TARGET, and target == `Execute as` is the documented compliant C5 dispatch pattern, so under `Enforcement: hard` every correct dispatch hard-blocked on `dispatch.anti-recursion.self-type`, while omitting the field hard-blocked on `dispatch.anti-recursion.empty-binding` (no spec-compliant binding existed). The composition now takes `caller` (the dispatching agent's OWN role) + `callerRequired`; the precheck runs only when a caller binding exists, and fails closed on an empty one only where the host contract mandates the binding (dsh). The `agent` option is removed — migrate callers to `caller`.
14
+ - **omp plugin**: Gate 2 (task dispatch) no longer runs the anti-recursion leg (omp's `tool_call` event carries no caller identity; the NEVER red line stays prompt-level via `mstar-dispatch-gates`), so the documented `agent: "<Execute as role-id>"` pattern passes under hard. The dispatch gate now ALSO honors the repo-level `.mstarc` / compass `enforcement: hard` (previously header-flag-only — a hard compass left Gate 2 unhardened, diverging from Gate 1 and dsh `resolveDispatchHard`), and soft-mode dispatch violations are warn-logged through the extension logger instead of silently dropped (opencode parity; the silent drop is why the #156 pincer stayed latent for five iterations).
15
+ - **OpenCode surface**: `validateDispatchAssignment` drops the `subagentType` plumbing (the spawn target is not an anti-recursion signal) and composes the repo-level `.mstarc`/compass hard setting below the Assignment header flag, matching the status-write gate and dsh. Compliant dispatches no longer warn `self-type` / `empty-binding`; a hard repo now escalates flag-less dispatch violations to error-level + `hardBlocked`.
16
+ - **dsh surface**: `dispatchGateCore` passes `caller: config.dispatchBinding ?? ''` with `callerRequired: true` — behavior unchanged (self-recursion critical; unset binding fails closed under hard). `mstar_dispatch_validate`'s `agent` param is now `caller` (the DISPATCHING agent's own role; omit when unknown).
17
+ - **Docs**: `mstar-dispatch-gates` records the caller-vs-target engine scope; `mstar-host/references/omp.md` gains the Gate 2 anti-recursion scope note; stale dsh `dispatchBinding` "precheck skipped" rows corrected to the fail-closed contract.
18
+
19
+ - Version alignment with harness **3.4.1** (no OpenCode package API change).
20
+
21
+ See root [CHANGELOG.md](../../CHANGELOG.md) **3.4.1**.
22
+
23
+ ## [3.4.0] - 2026-08-27
24
+
25
+ ### Harness
26
+
27
+ - Renamed `/pr-deep-review` → `/amazing-pr-review` with a clean cutover (no alias) and added three review strengths: `quick` (single-pass, 1 seat, collect + review in one pass) / `default` (the no-flag landing tier — 2 domain seats, collection folded in, reduced seats) / `deep` (the former full three-stage pipeline: collect → domain review → main-agent synthesis, 4–7 seats). The tier is chosen by an explicit keyword or inferred from the change shape; the default tier no longer fans out the full seat plan.
28
+ - Reworked `amazing-pr-review` batch semantics to **one session = one PR**: when multiple PRs are passed in, only the **first** runs the full three-stage deep review; the rest are registered as audit todos in `{PROJECT_DIR}/_default/residuals.json` (`decision: defer`, `target: next session`, `tracking: pr-deep-review backlog`) and the report suggests opening one session per remaining PR. The old four-seat N/4 batch fan-out is removed.
29
+ - Reworked single-PR deep review into a **three-stage pipeline** (collect → domain review → synthesis): lightweight read-only collect seats fan out by domain, mstar built-in roles review code + security per domain, and the main agent dedupes, three-way vets, and publishes the single GitHub Review. Posting ownership moved to the main agent — review seats never post. Fan-out is scale-driven, reusing the existing ~300-line sizing band.
30
+ - Synced the **three-stage pipeline** and **one session = one PR** semantics across skill core, roles, and user-facing docs: `mstar-audit` SKILL.md (`pr` variant dispatch + Hard Rule 2), `mstar-roles` shared Audit Mode and `code-reviewer.md` Mode C (every seat — collect or domain — returns evidence / findings in its result payload: any seat may be write-blocked, and the main agent writes / consolidates the evidence files; seats produce no verdict, never post), and README.md / README_CN.md / docs/cli.md. Posting ownership is unified on the **main agent** across all surfaces — review seats never post.
31
+ - **Role references:** Add a shared coding-philosophy line to dev-role Role Missions (`fullstack-dev`, `fullstack-dev-2`, `frontend-dev`): "YAGNI is your coding philosophy; PDCA is your behavioral discipline."
32
+ - **Role references:** Unify executor Role Mission phrasing to the second-person "You are …" convention (`qa-engineer`, `prompt-engineer`, `ops-engineer`, `fullstack-dev-shared`); `project-manager` keeps its Identity section as orchestrator exception.
33
+
34
+ - Version alignment with harness **3.4.0** (no OpenCode package API change).
35
+
36
+ See root [CHANGELOG.md](../../CHANGELOG.md) **3.4.0**.
37
+
9
38
  ## [3.3.0] - 2026-08-25
10
39
 
11
40
  ### Harness
package/INSTALL.md CHANGED
@@ -29,9 +29,7 @@ Restart OpenCode. The plugin installs from npm and registers Morning Star runtim
29
29
 
30
30
  ## Monorepo / git checkout of this repository
31
31
 
32
- After `bun install` or `npm install` at the repo root, **`postinstall`** runs `packages/opencode`’s `bundle-assets` so `harness-skills/` and `harness-agents/` exist for the plugin entry `main` → `packages/opencode/src/mstar.ts`.
33
-
34
- If you use `npm install --ignore-scripts`, run once manually:
32
+ After `bun install` or `npm install` at the repo root, run once so `harness-skills/` and `harness-agents/` exist for the plugin entry `main` → `packages/opencode/src/mstar.ts`:
35
33
 
36
34
  `bun run opencode:bundle-assets`
37
35
 
@@ -69,4 +67,4 @@ The `@mstar-harness/cli` package (`npx @mstar-harness/cli init`) migrates that e
69
67
 
70
68
  1. Use `skill` tool to list what's discovered
71
69
  2. Check that the plugin is loading (see above)
72
- 3. For **npm** installs, use a published build (tarball includes `harness-skills`). For **git** checkout, ensure install scripts ran (`postinstall` / `bun run opencode:bundle-assets`)
70
+ 3. For **npm** installs, use a published build (tarball includes `harness-skills`). For **git** checkout, run `bun run opencode:bundle-assets` once after install
package/README.md CHANGED
@@ -61,8 +61,8 @@ Entry skill: **`mstar-harness-core`** (loaded before other `mstar-*` skills).
61
61
  From the repository root:
62
62
 
63
63
  ```bash
64
- bun install # postinstall bundles harness-skills/ + harness-agents/
65
- bun run opencode:bundle-assets # if you used --ignore-scripts
64
+ bun install
65
+ bun run opencode:bundle-assets # syncs harness-skills/ + harness-agents/
66
66
  ```
67
67
 
68
68
  Plugin entry: `packages/opencode/src/mstar.ts` → `dist/mstar.js`.