@webpresso/plugin-opencode 0.0.12 → 0.0.14

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.
@@ -37,22 +37,22 @@ integrated, and free of stale garbage?**
37
37
 
38
38
  Default `/verify` must **not** spawn outside reviewers. That stampede is a known
39
39
  token/time failure mode. Merge-ready runs **one** sequential outside voice via
40
- the preferred skill (`claude` / `codex` / `grok` / one OpenCode Go), then stops.
40
+ the preferred skill (`claude` / `codex` / one OpenCode Go), then stops.
41
41
 
42
42
  ## Tooling map
43
43
 
44
- | Gate | Prefer |
45
- | ------------------------- | ------------------------------------------------------------------------------------------------------- |
46
- | Lint / types / tests / QA | `wp_lint`, `wp_typecheck`, `wp_test`, `wp_qa` |
47
- | Format | `wp_format` |
48
- | Audits | `wp_audit`, `wp_audits` |
49
- | Blueprint | blueprint MCP tools + `wp_audit` |
50
- | PR / CI wait | `wp_pr_status`, `wp_pr_wait` (not multi-sleep loops) |
51
- | Release | `wp_release_progress` for live Release phases; `wp_release_readiness` for package gates |
52
- | Large output | `wp_session_execute` / `batch_execute` / `execute_file` |
53
- | Continuity | `wp_session_capture` for verify summary; avoid paste-back walls |
54
- | E2E / act | `wp_e2e`, `wp_ci_act` when the change requires them |
55
- | Outside authority | `wp_review_gate` (authoritative) for plans; `wp_review_gate` with `mode: "advisory"` for implementation |
44
+ | Gate | Prefer |
45
+ | ------------------------- | ---------------------------------------------------------------------------------------- |
46
+ | Lint / types / tests / QA | `wp_lint`, `wp_typecheck`, `wp_test`, `wp_qa` |
47
+ | Format | `wp_format` |
48
+ | Audits | `wp_audit`, `wp_audits` |
49
+ | Blueprint | blueprint MCP tools + `wp_audit` |
50
+ | PR / CI wait | `wp_pr_status`, `wp_pr_wait` (not multi-sleep loops) |
51
+ | Release | `wp_release_progress` for live Release phases; `wp_release_readiness` for package gates |
52
+ | Large output | `wp_session_execute` / `batch_execute` / `execute_file` |
53
+ | Continuity | `wp_session_capture` for verify summary; avoid paste-back walls |
54
+ | E2E / act | `wp_e2e`, `wp_ci_act` when the change requires them |
55
+ | Outside authority | `wp_review_gate` (purpose plan or delivery); each new provider verdict is a formal round |
56
56
 
57
57
  ## Iron law — evidence before claims
58
58
 
@@ -245,7 +245,7 @@ in outside-voice usage — stop and fix the gate, do not multiply reviewers.
245
245
  **Skip this entire phase** for default `/verify` and `/verify --full`. Local
246
246
  `done` claims do not require outside voice.
247
247
 
248
- This phase implements **land-policy M7** (delivery vs advisory). Full land
248
+ This phase implements **land-policy M7** (delivery vs outside voice). Full land
249
249
  language and dual-label contract:
250
250
  [`catalog/agent/rules/land-policy.md`](../../rules/land-policy.md).
251
251
 
@@ -269,34 +269,37 @@ When classification is **sensitive**:
269
269
 
270
270
  - Require delivery review via `risk-review-coverage` / `wp_review_gate`
271
271
  (purpose delivery) / qualifying lane approvals for the current
272
- review subject until `policySatisfied` (**approval** or valid same-subject
273
- **maintainer-override**). A formal **reject** is a terminal automated-review
272
+ review subject until `policySatisfied` (**approval**). A formal **reject** is a terminal automated-review
274
273
  outcome but does **not** satisfy land policy: Product status stays
275
- `incomplete`, Process status stays `sensitive-blocked` until approval or
276
- override. Tech-debt is **not** a substitute for delivery approval.
274
+ `incomplete`, Process status stays `sensitive-blocked` until approval.
275
+ Tech-debt is **not** a substitute for delivery approval.
277
276
  - Launch **exactly one at a time** `wp_review_gate` delivery attempt with
278
277
  `--base-ref <base-sha>` and `--authority-ref <head-sha>`. Do not substitute
279
278
  `HEAD` for the authority SHA, and do not relaunch while the same subject has
280
279
  an in-progress gate.
281
- - On formal **reject**: surface the gate `next_action` (`report_delivery_reject`)
282
- / reject projection to the user; free-triage against blueprint non-goals;
283
- address the findings, then re-review only a changed exact subject. The shared
284
- gate permits five distinct rejected delivery subjects by default. Once that
285
- budget is exhausted, **do not** set `scope_continue=true` without explicit
286
- user authorization; agents must not invent the grant. For plan or delivery,
287
- only an operator may request an absolute finite same-slug ceiling through MCP
288
- `scope_continue_limit` (10..32); the field still requires
289
- `scope_continue=true`. MCP wins over `WP_REVIEW_SCOPE_CONTINUE_LIMIT`; when
290
- neither is present, the plan/delivery defaults are 16/10. Machine enforcement
291
- does not link successor slugs; creating one to launder or bypass the budget
292
- remains procedurally forbidden, as do resets and retry schemes.
280
+ - On formal **reject**: record the gate `next_action` (`report_delivery_reject`)
281
+ / reject projection, triage against blueprint non-goals, address the findings,
282
+ then re-review only a changed exact subject. The gate counts formal verdicts
283
+ per slug and purpose, starting with eight rounds.
284
+ After all allowance is spent, a corrected subject may open one
285
+ extra lane on an explicitly selected provider and model, including one that
286
+ already reviewed the lineage. The gate records that grant, adds five formal
287
+ rounds, and permits at most five distinct provider attempts in the new lane
288
+ that reach a verdict or an unproven outcome; provider infrastructure failures
289
+ spend no attempt but are bounded separately at five per lane. The provider and model remain pinned.
290
+ Once that lane is spent, this blueprint's review lineage is terminal: no
291
+ gate call on its slug can reopen it, whatever the subject. Re-plan the
292
+ narrowed scope as a new blueprint with its own plan review.
293
+ Machine enforcement does not link successor slugs; creating one to launder
294
+ or bypass the budget remains procedurally forbidden, as do resets and retry
295
+ schemes.
293
296
  - `Review-skip` is **FORBIDDEN** (`sensitive-review-skip-forbidden`).
294
297
  - Completed owner blueprint must be present in the PR
295
298
  (`sensitive-no-completed-owner` otherwise).
296
299
  - Process label when blocked: `sensitive-blocked`. When delivery lane
297
300
  approves: `delivery-approved`.
298
301
 
299
- ### 3. Standard → skip or one advisory outside voice
302
+ ### 3. Standard → skip or one outside voice
300
303
 
301
304
  When classification is **standard**:
302
305
 
@@ -308,8 +311,8 @@ When classification is **standard**:
308
311
 
309
312
  Must be start-of-line. Process label: `standard-skip`.
310
313
 
311
- - Otherwise obtain **exactly one sequential** advisory outside voice
312
- (`wp_review_gate` with `mode: "advisory"`, or host skill). Process label: `outside-approved`.
314
+ - Otherwise obtain **exactly one sequential** outside voice: one
315
+ `wp_review_gate` delivery gate (or host skill). Process label: `outside-approved`.
313
316
  - At most **one OpenCode Go reviewer** counts unless the user asks for more.
314
317
  - Invoke the selected reviewer **once**. Do not probe, retry, or rotate
315
318
  providers automatically, and **never** fan out parallel multi-host review
@@ -321,10 +324,9 @@ When classification is **standard**:
321
324
 
322
325
  Reviewer preference (pick **one** path):
323
326
 
324
- - From Codex → Claude or Grok (else one OpenCode Go).
325
- - From Claude → Codex or Grok (else one OpenCode Go).
326
- - From Grok → Claude or Codex (else one OpenCode Go).
327
- - Prefer skills: `claude`, `codex`, `grok`, or one of `opencode-go` / `qwen` /
327
+ - From Codex → Claude (else one OpenCode Go).
328
+ - From Claude → Codex (else one OpenCode Go).
329
+ - Prefer skills: `claude`, `codex`, or one of `opencode-go` / `qwen` /
328
330
  `deepseek` / `glm` / `kimi` / `minimax` / `mimo`.
329
331
 
330
332
  ### 4. Dual product/process labels on every land claim
@@ -345,26 +347,20 @@ Never invent a land-now skip. See `land-policy` for the full table.
345
347
  observed; wait timeout/abort/in-progress/not-found are not reviewer verdicts.
346
348
  `not_found` means there is no active or terminal gate for that subject; refresh
347
349
  state and start the gate again instead of continuing to wait.
348
- - Implementation / delivery approval: for sensitive PRs use `wp_review_gate`
349
- purpose delivery, default authoritative mode, on the immutable subject; for
350
- standard advisory use the same `wp_review_gate` call with `mode: "advisory"`
351
- exactly once with the selected provider. Do not run a separate provider
352
- probe. A later authoritative call on the same subject may promote a
353
- matching complete advisory approval to authority with zero provider
354
- invocation, unless a completed reject already exists for that content at
355
- either stage.
356
- - `advisory-exhausted` is a terminal outcome with no ledger event and no
357
- verdict — treat it as terminal-without-authority. It means this exact
358
- digest already used its advisory attempt budget; do not retry the same
359
- content or report it as a failure. Change the reviewed content (which mints
360
- a new digest) or spend real authoritative budget instead. It is always
361
- returned synchronously; no `wp_review_gate_wait` poll is ever needed or
362
- issued for it.
363
- - An advisory gate and an authoritative gate on the same subject cannot run
364
- concurrently — unlike the removed `wp_review_run`, an advisory
365
- `wp_review_gate` call claims the same active marker an authoritative call
366
- does. If a call reports marker contention, serialize the two calls rather
367
- than treating contention as an error.
350
+ - Implementation / delivery approval: use `wp_review_gate` purpose delivery
351
+ on the immutable subject, exactly once with the selected provider, for
352
+ sensitive and standard PRs alike. The gate has one mode: each newly executed
353
+ provider review that reaches a verdict is one formal round of the slug's
354
+ budget, an approval is authority immediately, and an identical-subject call
355
+ replays the recorded verdict without a new round (an approval withheld for
356
+ incomplete adjudication of prior findings — not all briefed, or a briefed
357
+ claim still open without a matching finding — grants no authority and
358
+ spends none). Do not run a separate
359
+ provider probe.
360
+ - Two gates on the same subject cannot run concurrently — every
361
+ `wp_review_gate` call claims the subject's active marker. If a call reports
362
+ marker contention, serialize the two calls rather than treating contention
363
+ as an error.
368
364
  - Each gate reviewer must return exactly one schema-valid JSON review object;
369
365
  never infer a verdict from Markdown. The gate derives approval from typed
370
366
  findings: blockers reject, nits approve with nits, and no findings approve.
@@ -1,44 +0,0 @@
1
- ---
2
- name: grok
3
- description: "Grok outside-voice reviewer through Webpresso MCP."
4
- license: MIT
5
- ---
6
-
7
- # Grok outside-voice review
8
-
9
- Use only for a requested content-bound plan or delivery review. Treat output as external advice
10
- until independently verified.
11
-
12
- ## MCP-only contract
13
-
14
- - Call `wp_review_gate` exactly once for the real plan version or delivery diff.
15
- - Observe the same durable operation with `wp_review_gate_wait` when needed.
16
- - Never invoke a provider command, the legacy review CLI, or a removed review-run surface.
17
- - If the review MCP is unavailable, stop and report it unavailable. There is no CLI fallback.
18
-
19
- ## Advisory call
20
-
21
- ```jsonc
22
- {
23
- "project_id": "<project>",
24
- "slug": "<blueprint-slug>",
25
- "purpose": "delivery",
26
- "base_ref": "<full-base-sha>",
27
- "authority_ref": "<full-head-sha>",
28
- "provider": "grok",
29
- "repository_access": "none",
30
- "mode": "advisory",
31
- }
32
- ```
33
-
34
- Use authoritative mode only when formal plan or delivery approval is requested.
35
-
36
- ## Model policy
37
-
38
- When the user names an exact model, pass it in the MCP `model` field. Otherwise omit
39
- that field and let the MCP owner select the configured provider default.
40
-
41
- ## Review quality
42
-
43
- Follow `catalog/agent/rules/review-methodology-sota.md`; report typed verdict, model,
44
- artifact, grounded findings, and independently verified conclusions.