@webpresso/opencode-plugin 3.1.20 → 3.1.22

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webpresso/opencode-plugin",
3
- "version": "3.1.20",
3
+ "version": "3.1.22",
4
4
  "private": false,
5
5
  "description": "OpenCode plugin adapter package for Webpresso agent-kit.",
6
6
  "homepage": "https://github.com/webpresso/agent-kit#readme",
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "host": "opencode",
4
4
  "packageName": "@webpresso/opencode-plugin",
5
- "packageVersion": "3.1.20",
5
+ "packageVersion": "3.1.22",
6
6
  "runtimeDirs": [],
7
7
  "skills": {
8
8
  "ai-deslop": {
@@ -21,10 +21,10 @@
21
21
  "digest": "sha256:21fd24862e7f7c8a1feadea6bc376492b136b99fc381cf1b8927c9db80615431"
22
22
  },
23
23
  "claude": {
24
- "digest": "sha256:dec5cc89c31485bab6defea919c22e9a9c50c530d8fc4ef4f5be5080b5d91b75"
24
+ "digest": "sha256:bca8cc1311bb5a21aa7367ba5c71c3ef8269f29fcb82ec70df24e4c3f7ea50ac"
25
25
  },
26
26
  "codex": {
27
- "digest": "sha256:98187c2845b5cd88ba9eb9f682d16fec648932a084b3d1cebd066945b1fb6fdf"
27
+ "digest": "sha256:acc5817fa9186891cdf9a17a5217fc89a98d7ac04620c363a715b312158bbcad"
28
28
  },
29
29
  "deep-interview": {
30
30
  "digest": "sha256:e80d7e12e486397103108bb473e98e8e8656519770fa20701f8b3e9e66991939"
@@ -41,8 +41,11 @@
41
41
  "fix": {
42
42
  "digest": "sha256:647aa94890e06b38b08e6cc12cd219343e963b4d3b469c349610b3a33f559dd5"
43
43
  },
44
+ "grok": {
45
+ "digest": "sha256:663b47c6abac5be939480e28a32029156f2b1ffa75bfe42c6b1edbbb52573a55"
46
+ },
44
47
  "hooks-doctor": {
45
- "digest": "sha256:3bfb0af64ff6796c56d51e4cd2bede7fb24c869f89b292546ea13ad2f5d3bb73"
48
+ "digest": "sha256:d3e000980b9de7834233b98321c78000a37d38e303321186a0fc3268f6f51e69"
46
49
  },
47
50
  "investigate": {
48
51
  "digest": "sha256:2051bccb2daf97ee91a8c15c7ef5bc7cc705d49beb4cbc7c8f6c63f4acda88a2"
@@ -51,7 +54,7 @@
51
54
  "digest": "sha256:a80fbacc765e8b886437b9fdf7dd71e1ceb1b98b939078ec90fc88d06a8b4c69"
52
55
  },
53
56
  "opencode-go": {
54
- "digest": "sha256:8bbfad8273c526c563ceef3c8b98efbc60c3b24dc6b0a2a25d8efd9e83788860"
57
+ "digest": "sha256:b36683da200b59fc5a8cceb8da34b7b29613680c4e52c4f4aaae03ff3acdd269"
55
58
  },
56
59
  "plan-ceo-review": {
57
60
  "digest": "sha256:4d426158518dd71f8998770e8d4037bcbfa3c65d7265a93a4a78a9b015ba881e"
@@ -87,7 +90,7 @@
87
90
  "digest": "sha256:dc6d3b2bd48a494d7a5cd30ad9c6c9999989b9920ca06ccd1f86a7cfaff60d54"
88
91
  },
89
92
  "verify": {
90
- "digest": "sha256:2964a54ef0f9db389d3ef5fa779fa2f095c9f8df47f19f3e4947d2403cdbf156"
93
+ "digest": "sha256:9d9faa184b310d46d5a266ebe46bbf0819df526035dc10a6c13475097e3a284b"
91
94
  }
92
95
  }
93
96
  }
@@ -57,7 +57,13 @@ Claude's managed native subagent lifecycle does not provide a reliable parent-li
57
57
 
58
58
  Use single-file / single-question first for any non-trivial diff. Do not send a whole PR unless it already fits within the bounded payload below.
59
59
 
60
- **Model policy:** default to the moving `opus` alias via `CLAUDE_REVIEW_MODEL=${CLAUDE_REVIEW_MODEL:-opus}`. A caller may explicitly override `CLAUDE_REVIEW_MODEL` (for example to `fable` for a lighter advisory pass); honor the requested model. However, any review used as blueprint **promotion or completion** approval evidence (draft→planned, or planned/in-progress→completed) MUST run with Claude Opus and record `"model": "opus"`.
60
+ **Model policy:** leave `CLAUDE_REVIEW_MODEL` unset unless the user requested a
61
+ specific Claude model (for example `fable` for a lighter advisory pass). When it
62
+ is unset, `wp review run` lets the Claude CLI choose its own default by omitting
63
+ `--model`. The blueprint promotion/completion approval gate
64
+ (`catalog/agent/rules/pre-implementation.md`) validates reviewer identity
65
+ (`claude`/`codex`/`grok`/an OpenCode-Go model), not the reviewed model string, so do not
66
+ claim the gate rejects a different Claude model.
61
67
 
62
68
  #### Bounded prompt payload
63
69
 
@@ -94,8 +100,17 @@ TARGET_FILE=${TARGET_FILE:?set TARGET_FILE to one changed file}
94
100
 
95
101
  Run both the availability probe and the full review through the typed `wp review run` owner. Skills must not embed subprocess supervision. The runtime consumes Claude's streaming JSON events, advances its idle clock only on monotonic semantic progress, and has no total wall-clock cutoff.
96
102
 
103
+ The artifact root contains private runtime diagnostics, not a recorded
104
+ transcript or committable approval evidence. Direct `wp review run` output is
105
+ advisory. Only `wp review gate` may publish a bounded, target-bound artifact and
106
+ ledger event for blueprint promotion or completion.
107
+
97
108
  ```bash
98
- CLAUDE_REVIEW_MODEL=${CLAUDE_REVIEW_MODEL:-opus}
109
+ CLAUDE_REVIEW_MODEL=${CLAUDE_REVIEW_MODEL:-}
110
+ CLAUDE_MODEL_ARGS=()
111
+ if [ -n "$CLAUDE_REVIEW_MODEL" ]; then
112
+ CLAUDE_MODEL_ARGS=(--model "$CLAUDE_REVIEW_MODEL")
113
+ fi
99
114
  CLAUDE_REVIEW_EFFORT=${CLAUDE_REVIEW_EFFORT:-medium}
100
115
  CLAUDE_REVIEW_PROBE_IDLE_SECONDS=${CLAUDE_REVIEW_PROBE_IDLE_SECONDS:-180}
101
116
  CLAUDE_REVIEW_IDLE_SECONDS=${CLAUDE_REVIEW_IDLE_SECONDS:-180}
@@ -108,7 +123,7 @@ CLAUDE_REVIEW_CODE=0
108
123
  if wp review run \
109
124
  --provider claude \
110
125
  --prompt-file "$PROBE_FILE" \
111
- --model "$CLAUDE_REVIEW_MODEL" \
126
+ "${CLAUDE_MODEL_ARGS[@]}" \
112
127
  --effort "$CLAUDE_REVIEW_EFFORT" \
113
128
  --stage probe \
114
129
  --expected-marker CLAUDE_OK \
@@ -117,7 +132,7 @@ if wp review run \
117
132
  wp review run \
118
133
  --provider claude \
119
134
  --prompt-file "$PROMPT_FILE" \
120
- --model "$CLAUDE_REVIEW_MODEL" \
135
+ "${CLAUDE_MODEL_ARGS[@]}" \
121
136
  --effort "$CLAUDE_REVIEW_EFFORT" \
122
137
  --stage review \
123
138
  --artifact-root "$CLAUDE_REVIEW_ARTIFACT_ROOT" \
@@ -141,7 +156,7 @@ if [ -n "$DASH_HELPER_RUN_ID" ]; then
141
156
  fi
142
157
  ```
143
158
 
144
- Treat `true-idle`, `protocol-unsupported`, provider failure, abort, spawn failure, or artifact failure as unavailable review evidence. Never replace them with a static timeout, arbitrary byte-growth heartbeat, or buffered-output fallback.
159
+ Treat `true-idle`, `protocol-unsupported`, provider failure, abort, spawn failure, or artifact failure as an unavailable advisory result. Never replace them with a static timeout, arbitrary byte-growth heartbeat, or buffered-output fallback.
145
160
 
146
161
  #### Retry policy
147
162
 
@@ -53,20 +53,26 @@ Codex native subagent events are not currently parent-linked in the managed life
53
53
  ## Options
54
54
 
55
55
  Every mode runs through the `wp review run` runtime and honors these environment
56
- overrides (defaults shown). Set them inline, e.g.
56
+ overrides. Set them inline, e.g.
57
57
  `CODEX_REVIEW_MODEL=gpt-5.6-sol CODEX_REVIEW_EFFORT=high /codex`.
58
58
 
59
59
  - `CODEX_REVIEW_MODEL` — the Codex model. Defaults to the `model = "..."` in the
60
- active Codex config (`${CODEX_HOME:-~/.codex}/config.toml`), falling back to
61
- `gpt-5.4`. It MUST be a model the current login is provisioned for: ChatGPT-account
60
+ active Codex config (`${CODEX_HOME:-~/.codex}/config.toml`); if neither the
61
+ environment nor config names a model, `wp review run` lets the Codex CLI choose
62
+ its own default. It MUST be a model the current login is provisioned for: ChatGPT-account
62
63
  logins use the config's codenamed ids (e.g. `gpt-5.6-sol`) and reject a bare
63
64
  `gpt-5.6`. When the user names a model ("review with 5.6-sol"), pass it here.
64
65
  - `CODEX_REVIEW_EFFORT` — reasoning effort, default `medium`. The probe and
65
66
  review stages accept only `medium` or `high`; any other value is rejected.
66
67
  - `CODEX_REVIEW_IDLE_SECONDS` / `CODEX_REVIEW_PROBE_IDLE_SECONDS` — idle timeout
67
68
  (seconds) for the review stage and the preflight probe, default `180` each.
68
- - `CODEX_REVIEW_ARTIFACT_ROOT` — directory for the recorded review transcript
69
- used as outside-review evidence, default `<cwd>/.webpresso/reviews`.
69
+ - `CODEX_REVIEW_ARTIFACT_ROOT` — directory for private runtime diagnostics,
70
+ default `<cwd>/.webpresso/reviews`. Never commit files from this directory or
71
+ cite them as approval evidence.
72
+
73
+ Direct `wp review run` output is advisory. Only `wp review gate` may publish a
74
+ bounded, target-bound review artifact and ledger event for blueprint promotion
75
+ or completion.
70
76
 
71
77
  ## Modes
72
78
 
@@ -79,7 +85,11 @@ overrides (defaults shown). Set them inline, e.g.
79
85
  ```bash
80
86
  # CODEX_REVIEW_MODEL / CODEX_REVIEW_EFFORT are overridable — see ## Options for
81
87
  # the full option list, valid values, and how to pick a login-supported model.
82
- CODEX_REVIEW_MODEL=${CODEX_REVIEW_MODEL:-gpt-5.4}
88
+ CODEX_REVIEW_MODEL=${CODEX_REVIEW_MODEL:-}
89
+ CODEX_MODEL_ARGS=()
90
+ if [ -n "$CODEX_REVIEW_MODEL" ]; then
91
+ CODEX_MODEL_ARGS=(--model "$CODEX_REVIEW_MODEL")
92
+ fi
83
93
  CODEX_REVIEW_EFFORT=${CODEX_REVIEW_EFFORT:-medium}
84
94
  case "$CODEX_REVIEW_EFFORT" in
85
95
  medium|high) ;;
@@ -96,7 +106,7 @@ CODEX_REVIEW_CODE=0
96
106
  if wp review run \
97
107
  --provider codex \
98
108
  --prompt-file "$PROBE_FILE" \
99
- --model "$CODEX_REVIEW_MODEL" \
109
+ "${CODEX_MODEL_ARGS[@]}" \
100
110
  --effort "$CODEX_REVIEW_EFFORT" \
101
111
  --stage probe \
102
112
  --expected-marker CODEX_OK \
@@ -105,7 +115,7 @@ if wp review run \
105
115
  wp review run \
106
116
  --provider codex \
107
117
  --prompt-file "$PROMPT_FILE" \
108
- --model "$CODEX_REVIEW_MODEL" \
118
+ "${CODEX_MODEL_ARGS[@]}" \
109
119
  --effort "$CODEX_REVIEW_EFFORT" \
110
120
  --stage review \
111
121
  --artifact-root "$CODEX_REVIEW_ARTIFACT_ROOT" \
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: grok
3
+ description: "Grok Build outside-voice review/consult for non-Grok hosts."
4
+ license: MIT
5
+ ---
6
+
7
+ # Grok outside voice
8
+
9
+ Use when a non-Grok host needs Grok Build to review a diff, challenge a plan, or answer a focused repo question. Keep it read-only by default. A provenance-backed Grok approval is first-class and satisfies the blueprint strong-reviewer gate alone, with the same rejection authority as Claude or Codex.
10
+
11
+ ## Auth / binary
12
+
13
+ ```bash
14
+ if ! command -v grok >/dev/null 2>&1; then
15
+ echo "GROK_AUTH=missing: install Grok Build CLI (grok) and authenticate"
16
+ exit 1
17
+ fi
18
+ echo "GROK_AUTH=cli-present"
19
+ ```
20
+
21
+ ## Review via typed runtime
22
+
23
+ ```bash
24
+ PROMPT_FILE=$(mktemp -t wp-grok-review.XXXXXX)
25
+ trap 'rm -f "$PROMPT_FILE"' EXIT
26
+ # write review prompt into PROMPT_FILE
27
+
28
+ GROK_REVIEW_MODEL=${GROK_REVIEW_MODEL:-}
29
+ GROK_MODEL_ARGS=()
30
+ if [ -n "$GROK_REVIEW_MODEL" ]; then
31
+ GROK_MODEL_ARGS=(--model "$GROK_REVIEW_MODEL")
32
+ fi
33
+ GROK_REVIEW_EFFORT=${GROK_REVIEW_EFFORT:-medium}
34
+ GROK_REVIEW_ARTIFACT_ROOT=${GROK_REVIEW_ARTIFACT_ROOT:-"$(pwd)/.webpresso/reviews"}
35
+
36
+ wp review run \
37
+ --provider grok \
38
+ --prompt-file "$PROMPT_FILE" \
39
+ "${GROK_MODEL_ARGS[@]}" \
40
+ --effort "$GROK_REVIEW_EFFORT" \
41
+ --stage review \
42
+ --artifact-root "$GROK_REVIEW_ARTIFACT_ROOT"
43
+ ```
44
+
45
+ Treat output as external advice until independently verified. For lifecycle authority, run it through `wp review gate --provider grok` so the verdict is bound to the reviewed subject and recorded in the v2 ledger.
@@ -55,13 +55,13 @@ Each check prints `[x]` (pass) or `[ ]` (fail) with a detail line:
55
55
 
56
56
  ## Failure Remediation
57
57
 
58
- | Check | Likely Cause | Fix |
59
- | ------------------------------------------------ | -------------------------------------------------------------- | -------------------------------------------------------------- |
60
- | `pretool-guard` / `post-tool` / etc. — not found | `pnpm build` not run after install | `pnpm build` |
61
- | `pretool-guard` / etc. — not executable | `chmod +x` not persisted | Re-run `pnpm prepare` or `pnpm build` which runs `chmod-bins` |
62
- | `plugin.json integrity` — missing | Claude adapter manifest absent from `@webpresso/claude-plugin` | Re-run `wp setup --host claude` or reinstall the Claude plugin |
63
- | `MCP server liveness` — timeout | MCP server cold-start too slow | Wait and retry, or run `wp hooks doctor --skip-mcp` |
64
- | Any check — not found at `dist/esm/...` | Build artifacts missing | Run `pnpm build` in the webpresso repo |
58
+ | Check | Likely Cause | Fix |
59
+ | ------------------------------------------------ | -------------------------------------------------------------- | ----------------------------------------------------------------- |
60
+ | `pretool-guard` / `post-tool` / etc. — not found | `wp run build` not run after install | `wp run build` |
61
+ | `pretool-guard` / etc. — not executable | `chmod +x` not persisted | Re-run `wp run prepare` or `wp run build` which runs `chmod-bins` |
62
+ | `plugin.json integrity` — missing | Claude adapter manifest absent from `@webpresso/claude-plugin` | Re-run `wp setup --host claude` or reinstall the Claude plugin |
63
+ | `MCP server liveness` — timeout | MCP server cold-start too slow | Wait and retry, or run `wp hooks doctor --skip-mcp` |
64
+ | Any check — not found at `dist/esm/...` | Build artifacts missing | Run `wp run build` in the webpresso repo |
65
65
 
66
66
  After fixing, re-run `wp hooks doctor` to confirm.
67
67
 
@@ -57,6 +57,7 @@ The managed OpenCode plugin currently has no parent-linked native subagent compl
57
57
  ## Review command
58
58
 
59
59
  Use read-only prompts. Run from the repo directory; do NOT pass `--dir "$PWD"` because opencode already uses the current directory and the extra index can stall reviews.
60
+ The artifact root contains private runtime diagnostics, not a recorded transcript or committable approval evidence. Direct `wp review run` output is advisory. Only `wp review gate` may publish a bounded, target-bound artifact and ledger event for blueprint promotion or completion.
60
61
 
61
62
  ```bash
62
63
  # Aggregate reviewer: honor the canonical reviewer policy (Kimi K2.7 Code → DeepSeek V4 Pro → DeepSeek V4 Flash first, then cross-family fallbacks).
@@ -106,4 +107,4 @@ wp review run \
106
107
  ```
107
108
 
108
109
  If `$MODEL` is empty, run `opencode models opencode-go` and choose a present reviewer.
109
- Treat a provider-wide usage limit as terminal for every OpenCode Go model in the current review; do not fall back to another family. Treat `true-idle`, `protocol-unsupported`, provider failure, abort, spawn failure, or artifact failure as unavailable review evidence. Never replace them with a static timeout, arbitrary byte-growth heartbeat, or buffered-output fallback.
110
+ Treat a provider-wide usage limit as terminal for every OpenCode Go model in the current review; do not fall back to another family. Treat `true-idle`, `protocol-unsupported`, provider failure, abort, spawn failure, or artifact failure as an unavailable advisory result. Never replace them with a static timeout, arbitrary byte-growth heartbeat, or buffered-output fallback.
@@ -176,12 +176,12 @@ Default policy:
176
176
 
177
177
  Reviewer preference:
178
178
 
179
- - When running from Codex, prefer **Claude** (fall back to one OpenCode Go reviewer if Claude is unavailable).
180
- - When running from Claude, prefer **Codex** (fall back to one OpenCode Go reviewer if Codex is unavailable).
181
- - When Codex/Claude outside voice is unavailable, use **one OpenCode Go
179
+ - When running from Codex, prefer **Claude or Grok** (fall back to one OpenCode Go reviewer if both are unavailable).
180
+ - When running from Claude, prefer **Codex or Grok** (fall back to one OpenCode Go reviewer if both are unavailable).
181
+ - When Codex/Claude/Grok outside voice is unavailable, use **one OpenCode Go
182
182
  reviewer** if OpenCode is logged in.
183
183
  - Prefer the repo's outside-voice skills instead of hand-rolled commands:
184
- `$agent-kit:claude`, `$agent-kit:codex`, and one OpenCode Go reviewer
184
+ `$agent-kit:claude`, `$agent-kit:codex`, `$agent-kit:grok`, and one OpenCode Go reviewer
185
185
  skills such as `$agent-kit:opencode-go`, `$agent-kit:qwen`,
186
186
  `$agent-kit:deepseek`, `$agent-kit:glm`, `$agent-kit:kimi`,
187
187
  `$agent-kit:minimax`, or `$agent-kit:mimo`.