@webpresso/plugin-codex 0.0.10 → 0.0.11
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/.codex-plugin/plugin.json +1 -1
- package/bin/wp +52 -58
- package/package.json +1 -1
- package/plugin-skill-ownership.json +14 -14
- package/skills/autopilot/SKILL.md +1 -1
- package/skills/claude/SKILL.md +24 -166
- package/skills/codex/SKILL.md +25 -123
- package/skills/grok/SKILL.md +30 -18
- package/skills/hooks-doctor/SKILL.md +28 -18
- package/skills/opencode-go/SKILL.md +35 -85
- package/skills/plan-refine/SKILL.md +1 -0
- package/skills/plan-refine/references/full-methodology.md +18 -18
- package/skills/ralplan/SKILL.md +1 -0
- package/skills/tech-debt/SKILL.md +6 -0
- package/skills/testing-philosophy/references/full-testing-philosophy.md +8 -12
- package/skills/tooling-friction/SKILL.md +38 -16
- package/skills/ultragoal/SKILL.md +10 -9
- package/skills/verify/SKILL.md +57 -23
package/skills/verify/SKILL.md
CHANGED
|
@@ -41,18 +41,18 @@ the preferred skill (`claude` / `codex` / `grok` / 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` for plans; `
|
|
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 |
|
|
56
56
|
|
|
57
57
|
## Iron law — evidence before claims
|
|
58
58
|
|
|
@@ -263,17 +263,33 @@ Do not substitute mutable branch names for authority when the audit needs a SHA.
|
|
|
263
263
|
SSOT: `evaluateSensitiveReviewPolicy` in `src/review/sensitive-review-policy.ts`;
|
|
264
264
|
CI job in `.github/workflows/pr-policy.yml`.
|
|
265
265
|
|
|
266
|
-
### 2. Sensitive → delivery
|
|
266
|
+
### 2. Sensitive → delivery to terminal verdict
|
|
267
267
|
|
|
268
268
|
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
|
|
273
|
-
-
|
|
272
|
+
review subject until `policySatisfied` (**approval** or valid same-subject
|
|
273
|
+
**maintainer-override**). A formal **reject** is a terminal automated-review
|
|
274
|
+
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.
|
|
277
|
+
- Launch **exactly one at a time** `wp_review_gate` delivery attempt with
|
|
274
278
|
`--base-ref <base-sha>` and `--authority-ref <head-sha>`. Do not substitute
|
|
275
279
|
`HEAD` for the authority SHA, and do not relaunch while the same subject has
|
|
276
280
|
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.
|
|
277
293
|
- `Review-skip` is **FORBIDDEN** (`sensitive-review-skip-forbidden`).
|
|
278
294
|
- Completed owner blueprint must be present in the PR
|
|
279
295
|
(`sensitive-no-completed-owner` otherwise).
|
|
@@ -293,7 +309,7 @@ When classification is **standard**:
|
|
|
293
309
|
Must be start-of-line. Process label: `standard-skip`.
|
|
294
310
|
|
|
295
311
|
- Otherwise obtain **exactly one sequential** advisory outside voice
|
|
296
|
-
(`
|
|
312
|
+
(`wp_review_gate` with `mode: "advisory"`, or host skill). Process label: `outside-approved`.
|
|
297
313
|
- At most **one OpenCode Go reviewer** counts unless the user asks for more.
|
|
298
314
|
- Invoke the selected reviewer **once**. Do not probe, retry, or rotate
|
|
299
315
|
providers automatically, and **never** fan out parallel multi-host review
|
|
@@ -330,9 +346,25 @@ Never invent a land-now skip. See `land-policy` for the full table.
|
|
|
330
346
|
`not_found` means there is no active or terminal gate for that subject; refresh
|
|
331
347
|
state and start the gate again instead of continuing to wait.
|
|
332
348
|
- Implementation / delivery approval: for sensitive PRs use `wp_review_gate`
|
|
333
|
-
purpose delivery on the immutable subject; for
|
|
334
|
-
|
|
335
|
-
|
|
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.
|
|
336
368
|
- Each gate reviewer must return exactly one schema-valid JSON review object;
|
|
337
369
|
never infer a verdict from Markdown. The gate derives approval from typed
|
|
338
370
|
findings: blockers reject, nits approve with nits, and no findings approve.
|
|
@@ -360,7 +392,9 @@ If any required check is missing, the correct result is **not done yet**, not a
|
|
|
360
392
|
|
|
361
393
|
**Tooling friction (optional):** if this session burned medium+ tokens on MCP/CLI/hooks/CI
|
|
362
394
|
gates (not product code), run `/tooling-friction` once and resolve its capture
|
|
363
|
-
destination with `wp_tooling_friction_path({"file":"<file>"})`
|
|
364
|
-
`wp tooling-friction path --file <file>`).
|
|
365
|
-
|
|
366
|
-
|
|
395
|
+
destination with `wp_tooling_friction_path({"file":"<file>"})` — copy the absolute
|
|
396
|
+
path from the tool summary (human CLI: `wp tooling-friction path --file <file>`).
|
|
397
|
+
Do not invent fleet folder slugs or worktree-keyed desktop-state paths. Skip when
|
|
398
|
+
the path was smooth. If the surface cannot be resolved or written, report the skip
|
|
399
|
+
and never fall back to a worktree path. Never blocks land — see the
|
|
400
|
+
`tooling-friction` skill.
|