@webpresso/plugin-codex 0.0.11 → 0.0.12

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-kit",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Webpresso agent-kit: blueprints, skills, hooks, and MCP server",
5
5
  "author": {
6
6
  "name": "Webpresso",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webpresso/plugin-codex",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "private": false,
5
5
  "description": "Codex plugin adapter for Webpresso agent-kit skills, hooks, and MCP runtime.",
6
6
  "homepage": "https://github.com/webpresso/app#readme",
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "host": "codex",
4
4
  "packageName": "@webpresso/plugin-codex",
5
- "packageVersion": "0.0.11",
5
+ "packageVersion": "0.0.12",
6
6
  "runtimeDirs": [".codex/skills", ".agents/skills"],
7
7
  "skills": {
8
8
  "ai-deslop": {
@@ -42,7 +42,7 @@
42
42
  "digest": "sha256:306355888da0827e3523022077f731845726bbaaf595ca12515cc91d8605b5e6"
43
43
  },
44
44
  "fix": {
45
- "digest": "sha256:38ddebb82a73e9e18e5b9909585a8477285387ac7bbad2574e3708362c4d0475"
45
+ "digest": "sha256:4804c546291316439aad3ea05fb7d3f043bc191abd8b9c180eb1d349f19f64cf"
46
46
  },
47
47
  "grok": {
48
48
  "digest": "sha256:1a6bf596fde9ce50a06ea767c06e65d4845c52d5af085644c958964385363b1e"
@@ -60,7 +60,7 @@
60
60
  "digest": "sha256:a80fbacc765e8b886437b9fdf7dd71e1ceb1b98b939078ec90fc88d06a8b4c69"
61
61
  },
62
62
  "opencode-go": {
63
- "digest": "sha256:c47cbe07f96510112d1bccae0a6319d3f74a5e2f3827a59865d45aea757c6dc6"
63
+ "digest": "sha256:f9c2085cc35b6e63e230dbcf1d95eb88e65543a9aec53f707c42d631f8b62052"
64
64
  },
65
65
  "plan-ceo-review": {
66
66
  "digest": "sha256:4d426158518dd71f8998770e8d4037bcbfa3c65d7265a93a4a78a9b015ba881e"
@@ -90,7 +90,7 @@
90
90
  "digest": "sha256:23fdad944b089de3cfcd13957a5ac10c37bd3d136b192029af69368bca1470db"
91
91
  },
92
92
  "tooling-friction": {
93
- "digest": "sha256:569904882036df09b52864411332ad5ea53e2914bc58d90030a0676f50bee228"
93
+ "digest": "sha256:7e1ff82147559624c39b1e4e1837d6bde0f102ecd65ec01358987d92ff42f7ad"
94
94
  },
95
95
  "tph": {
96
96
  "digest": "sha256:bed3684a850651534f315d355cdeae50d951c429817df0f105cccdb7f4e1561b"
@@ -61,7 +61,7 @@ the blast radius is broader than a local fix.
61
61
  - **Tooling / harness findings** ("fix inefficiency you come across", MCP vs shell,
62
62
  hook thrash) honor the same budget. Excess → record via the `tech-debt` skill
63
63
  (or backlog handoff); do not expand the current epic unbounded.
64
- - Prefer MCP `wp_*` and session-memory tools over `bin/wp` / raw shell for
64
+ - Prefer MCP `wp_*` and session-memory tools over the `wp` CLI / raw shell for
65
65
  quality and discovery paths (see tooling map).
66
66
 
67
67
  ## Protocol
@@ -156,6 +156,24 @@ Escalate to `/verify <target>` (local) or `/verify <target> --merge-ready` when
156
156
  If the repaired behavior is already green but the diff still needs a bounded
157
157
  cleanup pass, use `ai-deslop` before the final verify handoff.
158
158
 
159
+ ### Tool recovery and delivery intent
160
+
161
+ - Discover the managed owner's current identity with `wp_blueprint_projects`
162
+ using its absolute `cwd`; pass the returned project ID and matching checkout
163
+ to session tools. A blueprint ID is not a project ID.
164
+ - If quality tooling refuses stale or cross-checkout execution, follow its
165
+ checkout-local recovery. Attach the escape to the actual command:
166
+ `cd <owner> && WP_MCP_UNAVAILABLE=1 wp test --files <test>`.
167
+ Attaching it to `cd` does not set it for `wp`.
168
+ - For external tools whose schema requires exactly one of command or WebSocket
169
+ input, omit the unused option entirely; an empty object still supplies it.
170
+ - When the request includes merge/landing, continue through verification,
171
+ exact-head delivery, PR merge, and managed-owner cleanup. A handoff or
172
+ continuation summary does not satisfy that request. If a required gate is
173
+ blocked, report its concrete evidence and remaining action; preserve the
174
+ persisted completion requirements. Run additional named stages only when
175
+ the user's request actually includes them.
176
+
159
177
  ### Step 6 — Report with evidence
160
178
 
161
179
  Keep it short:
@@ -26,7 +26,7 @@ until independently verified.
26
26
  "base_ref": "<full-base-sha>",
27
27
  "authority_ref": "<full-head-sha>",
28
28
  "provider": "opencode",
29
- "model": "opencode-go/deepseek-v4-pro",
29
+ "model": "opencode-go/deepseek-v4.1-flash",
30
30
  "repository_access": "none",
31
31
  "mode": "advisory",
32
32
  }
@@ -36,10 +36,11 @@ Use authoritative mode only when formal plan or delivery approval is requested.
36
36
 
37
37
  ## Model policy
38
38
 
39
- Default exact model: `opencode-go/deepseek-v4-pro`.
40
- Committed exact options: `opencode-go/deepseek-v4-pro`, `opencode-go/deepseek-v4-flash`, `opencode-go/kimi-k2.7-code`, `opencode-go/glm-5.3`, `opencode-go/minimax-m3`, `opencode-go/mimo-v2.5-pro`, `opencode-go/qwen3.8-max`, `opencode-go/mimo-v2.5`, `opencode-go/qwen3.7-plus`, `opencode-go/qwen3.7-max`, `opencode-go/qwen3.6-plus`, `opencode-go/gpt-5.6-luna`, `opencode-go/minimax-m2.7`, `opencode-go/kimi-k3`, `opencode-go/glm-5.2`, `opencode-go/kimi-k2.6`, `opencode-go/hy3`, `opencode-go/glm-5.1`, `opencode-go/grok-4.5`.
39
+ Default exact model: `opencode-go/deepseek-v4.1-flash`.
40
+ Committed exact options: `opencode-go/deepseek-v4.1-flash`, `opencode-go/glm-5.3-flash`, `opencode-go/deepseek-v4-pro`, `opencode-go/kimi-k2.7-code`, `opencode-go/qwen3.8-max`, `opencode-go/minimax-m3`, `opencode-go/muse-spark-1.3-contributor`, `opencode-go/mimo-v2.5-pro`, `opencode-go/muse-spark-1.2-contributor`, `opencode-go/union-alpha`, `opencode-go/qwen3.8-flash`, `opencode-go/mimo-v2.5`, `opencode-go/qwen3.7-plus`, `opencode-go/qwen3.7-max`, `opencode-go/qwen3.6-plus`, `opencode-go/minimax-m2.7`, `opencode-go/gpt-5.6-luna`, `opencode-go/longcat-2.0`, `opencode-go/kimi-k3`, `opencode-go/deepseek-v4-flash`, `opencode-go/deepseek-v4-flash-vision-exp`, `opencode-go/kimi-k2.6`, `opencode-go/hy4-preview`, `opencode-go/hy3`, `opencode-go/grok-4.6`, `opencode-go/glm-5.3`, `opencode-go/glm-5.2`, `opencode-go/glm-5.1`.
41
41
  Use a named exact option when requested; otherwise use the default. Provider catalog discovery
42
- belongs to the snapshot drift workflow, never to a skill invocation.
42
+ belongs to the snapshot drift workflow, never to a skill invocation; reading the box-local
43
+ credential store at gate time is a local file read, not catalog discovery.
43
44
 
44
45
  ## Review quality
45
46
 
@@ -44,34 +44,44 @@ Optional post-land **product signal** for MCP/CLI/hooks/CI pain so Webpresso too
44
44
  1. **Recall only** — do not re-ingest full CI logs or transcripts.
45
45
  2. If zero medium+ findings → stop: `skipped: no tooling friction`.
46
46
  3. Emit **1–3** findings (hard cap 8 for schema headroom; prefer ≤3).
47
- 4. Write JSON to the central, repo-scoped desktop state surface:
47
+ 4. Write the capture with the validating verb — it is the only writer, and it
48
+ puts the document at the central, repo-scoped desktop state surface:
48
49
 
49
- ```text
50
- <state-root>/<repo-key>/tooling-friction/YYYY-MM-DD-<slug|pr|session>.json
50
+ ```bash
51
+ printf '%s' "$CAPTURE_JSON" | wp tooling-friction write --file YYYY-MM-DD-<slug|pr|session>.json
51
52
  ```
52
53
 
53
- **Path SSOT (required):** call the read-only MCP resolver and **copy the
54
- absolute path from its summary text** (hosts often omit structured details):
54
+ The verb parses the document through the shared schema helper **before** it
55
+ touches disk, so a capture that violates v1 is refused (non-zero exit,
56
+ naming every failing field path) and nothing is written. It prints the
57
+ absolute path it wrote, creates parent dirs, and refuses to overwrite an
58
+ existing capture — pick a unique session/HHMM suffix instead.
59
+
60
+ **Path SSOT (required):** that target is the same location the read-only MCP
61
+ resolver reports, so call the resolver and **copy the absolute path from its
62
+ summary text** (hosts often omit structured details), then confirm the
63
+ verb's printed path matches:
55
64
 
56
65
  ```text
57
66
  wp_tooling_friction_path({"file":"YYYY-MM-DD-<slug|pr|session>.json"})
58
67
  → summary: tooling-friction path: <absolute-path>
59
68
  ```
60
69
 
61
- Write only to that absolute path. Do **not** construct a path by hand.
70
+ Never write the capture to a hand-constructed path — not to a fleet folder
71
+ slug (`github.com-org-repo-*`), not to worktree-keyed desktop-state, not
72
+ under `Application Support` or `~/.webpresso`.
62
73
 
63
74
  - `repo-key` is a **16-hex** `repoIdentityV1(git-common-dir)` segment from
64
75
  `repoIdentityV1` under the pure preferred state root — **not** a fleet worktree folder slug such
65
76
  as `github.com-org-repo-<hash>` under `~/.webpresso/worktrees/repos/`.
66
77
  - Scope is always **repo** (shared by every worktree of that git common
67
78
  dir). Never use a worktree-keyed desktop-state surface for captures.
68
- - Human CLI equivalent: `wp tooling-friction path --file <file>` (prints
69
- the same absolute path on stdout).
79
+ - Human CLI surface: `wp tooling-friction path --file <file>` prints that
80
+ absolute path; `wp tooling-friction write --file <file>` writes it.
70
81
 
71
- Create parent dirs as needed. If the returned path already exists, choose a
72
- unique session/HHMM suffix rather than overwriting it. If the surface cannot
73
- be resolved or written, report `tooling-friction: skipped: no state surface`
74
- and stop; never fall back to a worktree or `.agent/` path.
82
+ If the surface cannot be resolved or written, report
83
+ `tooling-friction: skipped: no state surface` and stop; never fall back to a
84
+ worktree or `.agent/` path.
75
85
 
76
86
  5. Optional `--promote` or severity `high`/`critical`:
77
87
  `wp tech-debt new "<short title>" --severity <s> --category tooling --status accepted`