@mstar-harness/opencode 3.2.4 → 3.2.6
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,26 @@ The monorepo root [CHANGELOG.md](../../CHANGELOG.md) summarizes cross-surface re
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [3.2.6] - 2026-08-24
|
|
10
|
+
|
|
11
|
+
### Bundled harness skills (`harness-skills/` at publish)
|
|
12
|
+
|
|
13
|
+
- **PR deep-review report template hardening**: the `Considered & rejected` placeholder no longer embeds the bullet dash inside angle brackets (a posted review rendered literal `<finding>` wrappers verbatim); rejected entries now use `- **<short title>**: rejected — <reason>` with an explicit "never render brackets" rule stated at the template top; empty Plan-to-fix sections collapse to a bare `none` instead of prose.
|
|
14
|
+
|
|
15
|
+
- Version alignment with harness **3.2.6** (no OpenCode package API change).
|
|
16
|
+
|
|
17
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **3.2.6**.
|
|
18
|
+
|
|
19
|
+
## [3.2.5] - 2026-08-24
|
|
20
|
+
|
|
21
|
+
### Bundled harness skills (`harness-skills/` at publish)
|
|
22
|
+
|
|
23
|
+
- **PR deep-review lists every finding by default**: the `[full]` flag is removed from `/pr-deep-review` — complete findings (all merge classes, nits included) are now always listed in the chat output and GitHub Review; nothing is truncated. README command signature updated.
|
|
24
|
+
|
|
25
|
+
- Version alignment with harness **3.2.5** (no OpenCode package API change).
|
|
26
|
+
|
|
27
|
+
See root [CHANGELOG.md](../../CHANGELOG.md) **3.2.5**.
|
|
28
|
+
|
|
9
29
|
## [3.2.4] - 2026-08-24
|
|
10
30
|
|
|
11
31
|
### Bundled harness skills (`harness-skills/` at publish)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: pr-deep-review
|
|
3
3
|
description: Use when asked to deeply review a pull request, branch, or diff before merge — deciding whether a change is safe to ship with evidence-backed findings, rather than a shallow "looks good" pass. Produces a `ship it` / `needs fixes` / `blocked` verdict. Also for a batch of sibling PRs. Do not use for self-checking a change you just authored.
|
|
4
4
|
agent: project-manager
|
|
5
|
-
input: "[pr|branch|scope]
|
|
5
|
+
input: "[pr|branch|scope]"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Deep PR Review
|
|
@@ -87,7 +87,7 @@ Then open cited code yourself and dispose by-design / mis-attributed / duplicate
|
|
|
87
87
|
## Verdict synthesis
|
|
88
88
|
|
|
89
89
|
- Order findings by impact-if-shipped; no padding, no invented requirements, no style grading.
|
|
90
|
-
- List **every** `must-fix
|
|
90
|
+
- List **every** accepted finding — `must-fix`, `should-fix`, and nits alike; nothing is truncated.
|
|
91
91
|
- The verdict is **derived from the tally, not chosen**: classify every accepted finding (§ Merge class) → apply leftover `unmet` AC increments if any (§ Linked-issue hygiene) → apply **Verdict-from-tally** (§ Tally and derived score) → emit that one token. The reviewer does not pick a verdict by vibe.
|
|
92
92
|
- Exactly one verdict:
|
|
93
93
|
- `ship it` — evidence-backed, safe to ship.
|
|
@@ -230,7 +230,7 @@ Posting the GitHub Review is a **mandatory deliverable** of the `pr` variant —
|
|
|
230
230
|
|
|
231
231
|
### Report template (GitHub Review `body`)
|
|
232
232
|
|
|
233
|
-
The posted review body is a three-section report. Section order fixed; omit a subsection only when its content is genuinely empty (write `none`, never delete the heading).
|
|
233
|
+
The posted review body is a three-section report. Section order fixed; omit a subsection only when its content is genuinely empty (write `none`, never delete the heading). The block below shows only **fill-in slots**: a `<...>` that wraps descriptive text (`<verdict>`, `<n>`, `<finding title>`, …) is a slot — replace the whole bracket pair with real content and never render those brackets. The literal HTML tags in the template (`<details>`, `<summary>`, `<br>`) are **structural** — keep them verbatim so the collapsible block survives. The Slot rules below the template are guidance — never copy them into the posted body.
|
|
234
234
|
|
|
235
235
|
**Section emoji map** — verdict: `ship it` ✅ · `needs fixes` ⚠️ · `blocked` ⛔. Finding classes: 🔴 must-fix · 🟠 should-fix · 🔵 nit · ❓ unverified.
|
|
236
236
|
|
|
@@ -246,36 +246,52 @@ The posted review body is a three-section report. Section order fixed; omit a su
|
|
|
246
246
|
|
|
247
247
|
## 📋 Review
|
|
248
248
|
|
|
249
|
-
**What this PR does**: <2–3
|
|
249
|
+
**What this PR does**: <2–3 sentence summary of the diff's intent and surface>
|
|
250
250
|
|
|
251
251
|
### Findings
|
|
252
252
|
|
|
253
|
-
<
|
|
253
|
+
#### <class-emoji> <finding title>
|
|
254
|
+
|
|
255
|
+
- **Evidence**: `file:line` — what the code does
|
|
256
|
+
- **Impact**: why it matters
|
|
257
|
+
- **Merge class**: must-fix | should-fix | nit
|
|
258
|
+
- **Confidence**: HIGH | MEDIUM | LOW
|
|
259
|
+
- **Fix sketch**: one-line suggestion
|
|
254
260
|
|
|
255
261
|
### Linked-issue AC
|
|
256
262
|
|
|
257
|
-
<
|
|
263
|
+
<per-criterion: met / unmet / cut — one-line reasoning, or `none`>
|
|
258
264
|
|
|
259
265
|
### ✅ Verified
|
|
260
266
|
|
|
261
|
-
|
|
267
|
+
- <check or command> → <what it showed>
|
|
268
|
+
- ❓ <unverified lead, if any>
|
|
262
269
|
|
|
263
270
|
### 🗑️ Considered & rejected
|
|
264
271
|
|
|
265
|
-
|
|
272
|
+
- **<short finding title>**: rejected — <one-line reason>
|
|
266
273
|
|
|
267
274
|
## 🛠️ Plan to fix
|
|
268
275
|
|
|
269
|
-
<details><summary
|
|
276
|
+
<details><summary>Expand fix plan</summary>
|
|
270
277
|
<br>
|
|
271
278
|
|
|
272
279
|
```md
|
|
273
|
-
<
|
|
280
|
+
<fix plan in markdown>
|
|
274
281
|
```
|
|
275
282
|
|
|
276
283
|
</details>
|
|
277
284
|
````
|
|
278
285
|
|
|
286
|
+
**Slot rules (guidance — not part of the posted body):**
|
|
287
|
+
|
|
288
|
+
- **What this PR does**: from the PR description plus your own read of the changed files, not copied marketing text.
|
|
289
|
+
- **Findings**: ranked by impact-if-shipped (§ Verdict synthesis); every accepted finding listed, nothing truncated; repeat the `#### <class-emoji> <title>` block per finding.
|
|
290
|
+
- **Linked-issue AC**: fill only when § Linked-issue hygiene applied; otherwise a bare `none`.
|
|
291
|
+
- **Verified**: the smallest runtime checks actually run and what they showed; unverified leads as `❓` lines here, never in the findings table.
|
|
292
|
+
- **Considered & rejected**: one bullet per rejected candidate from the three-way attack / vet pass (§ Attack and vet), so the next reviewer does not re-chase it; bare `none` when nothing was rejected.
|
|
293
|
+
- **Plan to fix**: fix plan in markdown (ordered steps per finding, files touched, verification gates); follow-up plan index folds in above the ```md block (§ Folding plans); when there is no fix plan, replace the whole `<details>` block with a single line `none`.
|
|
294
|
+
|
|
279
295
|
- The Verdict section replaces the old two-line tally header on GitHub: same facts (verdict token + `score_pct` as Confidence + four-class tally), structured. The chat display contract (§ Display contract) is unchanged.
|
|
280
296
|
- When the fix plan itself contains fenced code blocks, open the outer fence with four backticks so the inner fences survive.
|
|
281
297
|
|
|
@@ -353,6 +369,3 @@ Then ranked findings / leftover AC summary. Do not put `score_pct%` on the `- ve
|
|
|
353
369
|
|
|
354
370
|
The GitHub Review `body` no longer uses the two-line header — it follows § Report template, whose Verdict section carries the same facts structured (verdict token + Confidence + four-class emoji tally table).
|
|
355
371
|
|
|
356
|
-
### List cut
|
|
357
|
-
|
|
358
|
-
The default "top 1–3 unless `full`" applies to **nits only**: every `must-fix` and `should-fix` finding is listed. If nits are omitted from the narrative list, add one line `nits: <n> omitted from list (counted in tally)` — `tally.nit` stays complete.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mstar-harness/opencode",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.6",
|
|
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": {
|