@webpresso/plugin-codex 0.0.8 → 0.0.10

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.8",
3
+ "version": "0.0.10",
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.8",
3
+ "version": "0.0.10",
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.8",
5
+ "packageVersion": "0.0.10",
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:1fdbda9972b9d9452b1705cefcdb46c3eaf02090b8d3af1d653ae69c8731c949"
45
+ "digest": "sha256:38ddebb82a73e9e18e5b9909585a8477285387ac7bbad2574e3708362c4d0475"
46
46
  },
47
47
  "grok": {
48
48
  "digest": "sha256:796104b04f70c8dd48cf1056c8d72d9492648f89486a35515e00af1d0de42f0a"
@@ -90,7 +90,7 @@
90
90
  "digest": "sha256:22533e26549b60494f042b5f4d7c97abf2019fc0a60697f84a395fa48ef0147f"
91
91
  },
92
92
  "tooling-friction": {
93
- "digest": "sha256:92cc6825c222ad3f8dfe43c4a83a28e59f7a4d0179c886e276246f36670d3d0e"
93
+ "digest": "sha256:12a24fc747e3481aa857ace38993cd0324686ba70ffec115ff1a1955bd5999bc"
94
94
  },
95
95
  "tph": {
96
96
  "digest": "sha256:bed3684a850651534f315d355cdeae50d951c429817df0f105cccdb7f4e1561b"
@@ -99,7 +99,7 @@
99
99
  "digest": "sha256:137a063d5e286934b92b1d87397b7183f8ea6c564cddc3bb7e6cde5f3f306aaf"
100
100
  },
101
101
  "verify": {
102
- "digest": "sha256:7f431a63e611c9f47d5edf87a889d4527658d2dd0c68f9dffd0924c1cd0dd028"
102
+ "digest": "sha256:071c47c39e0881e381468cadbbd266f99d29c31eae2caf15c22d57591a1dbf94"
103
103
  }
104
104
  }
105
105
  }
@@ -133,9 +133,10 @@ Run the narrowest checks that prove the repaired behavior on the real repo surfa
133
133
  - `wp_test` / targeted tests for the repaired path
134
134
  - `wp_lint` / `wp_typecheck` for changed surfaces
135
135
  - `wp_qa` only when the blast radius needs the bookend
136
- - Before push: `wp_ci_preflight` (use global `wp ci-preflight` only when MCP is
137
- unavailable). Run it after the final commit and do not edit or commit again
138
- before pushing: success records the exact-state receipt checked by pre-push.
136
+ - Before push: start `wp_ci_preflight`, then poll `wp_ci_preflight_wait` with
137
+ its run ID until terminal success (use global `wp ci-preflight` only when MCP
138
+ is unavailable). Run it after the final commit and do not edit or commit again
139
+ before pushing: terminal success records the exact-state receipt checked by pre-push.
139
140
  Do not use remote CI re-runs as the primary fix loop (`ci-cost-local-first`).
140
141
 
141
142
  Rules:
@@ -23,7 +23,7 @@ Optional post-land **product signal** for MCP/CLI/hooks/CI pain so Webpresso too
23
23
  | ---------------------------------------------------- | -------------------------------------------------- |
24
24
  | Structured friction tips after land-ish success | Code bugs (`/investigate` → `/fix`) |
25
25
  | Optional promote to tech-debt (`--category tooling`) | Blueprint claim corrections (`blueprints/errata/`) |
26
- | Local planning-state JSON (gitignored) | Human DX audits (`/devex-review`) |
26
+ | Repo-scoped desktop-state JSON (outside worktrees) | Human DX audits (`/devex-review`) |
27
27
  | Soft bookend from `/verify` Phase 7 | Required PR section, finalize/merge blockers |
28
28
 
29
29
  ## When
@@ -44,13 +44,28 @@ 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:
47
+ 4. Write JSON to the central, repo-scoped desktop state surface:
48
48
 
49
49
  ```text
50
- .agent/planning/state/tooling-friction/YYYY-MM-DD-<slug|pr|session>.json
50
+ <state-root>/<repo-key>/tooling-friction/YYYY-MM-DD-<slug|pr|session>.json
51
51
  ```
52
52
 
53
- Create parent dirs as needed. Path is under the durable planning **state** surface (see `Agents.md`). `.agent/` is gitignored — **never** `git add` captures.
53
+ Ask the read-only MCP resolver for the exact path, then use that returned
54
+ absolute path for the write:
55
+
56
+ ```text
57
+ wp_tooling_friction_path({"file":"YYYY-MM-DD-<slug|pr|session>.json"})
58
+ ```
59
+
60
+ The resolver is backed directly by
61
+ `getSurfacePath("tooling-friction/<file>", "repo", <project-cwd>)`. For
62
+ human CLI use, the equivalent read-only projection is
63
+ `wp tooling-friction path --file <file>`. The capture is shared by that
64
+ repository's worktrees but never written to any checkout. Create parent
65
+ dirs as needed. If the returned path already exists, choose a unique
66
+ session/HHMM suffix rather than overwriting it. If the surface cannot be
67
+ resolved or written, report `tooling-friction: skipped: no state surface`
68
+ and stop; never fall back to a worktree or `.agent/` path.
54
69
 
55
70
  5. Optional `--promote` or severity `high`/`critical`:
56
71
  `wp tech-debt new "<short title>" --severity <s> --category tooling --status accepted`
@@ -61,7 +76,10 @@ Optional post-land **product signal** for MCP/CLI/hooks/CI pain so Webpresso too
61
76
 
62
77
  ## Store path (SSOT)
63
78
 
64
- `.agent/planning/state/tooling-friction/*.json` — planning `state/`, not a new top-level under `planning/`.
79
+ `wp_tooling_friction_path({"file":"<file>"})` (or the human CLI projection
80
+ `wp tooling-friction path --file <file>`) — a read-only projection of
81
+ `getSurfacePath("tooling-friction/<file>", "repo", <project-cwd>)`, the
82
+ repo-scoped desktop state surface, not a path inside `planning/` or a worktree.
65
83
 
66
84
  ## Schema v1
67
85
 
@@ -112,10 +130,12 @@ Optional post-land **product signal** for MCP/CLI/hooks/CI pain so Webpresso too
112
130
  ### Limits
113
131
 
114
132
  - findings: prefer ≤3 (schema max 8)
133
+ - finding `id`: `tf-` followed by 4–40 lowercase letters, digits, or hyphens
134
+ - finding `tool`: ≤80 characters
115
135
  - `symptom` / `suggested_fix`: ≤280 chars
116
136
  - `notes`: ≤400 chars
117
137
  - `evidence_refs`: ≤5 items × ≤200 chars (run ids, receipt names, `pr:N` — **not** log bodies)
118
- - `token_waste` bands: none &lt;1k · low 1–5k · medium 5–20k · high &gt;20k or multi-retry (estimate only)
138
+ - `token_waste` bands: `none` <1k · `low` 1–5k · `medium` 5–20k · `high` >20k or multi-retry (estimate only)
119
139
 
120
140
  ## Few-shot tips
121
141
 
@@ -139,7 +159,7 @@ Optional post-land **product signal** for MCP/CLI/hooks/CI pain so Webpresso too
139
159
  4. No inventing tips on smooth runs
140
160
  5. No timeout-as-fix suggestions
141
161
  6. No blueprint errata misuse
142
- 7. No committing `.agent/` captures
162
+ 7. No committing desktop-state captures
143
163
  8. No auto-open GitHub issues per tip
144
164
 
145
165
  ## Integration
@@ -151,7 +171,7 @@ Optional post-land **product signal** for MCP/CLI/hooks/CI pain so Webpresso too
151
171
  ## Output (agent reply)
152
172
 
153
173
  ```text
154
- tooling-friction: wrote .agent/planning/state/tooling-friction/<file>.json
174
+ tooling-friction: wrote desktop state <state-root>/<repo-key>/tooling-friction/<file>.json
155
175
  findings: 2 (high=1, medium=1)
156
176
  promoted: none | tech-debt/...
157
177
  ```
@@ -145,17 +145,21 @@ Run the narrowest checks that prove the touched behavior:
145
145
  **Before push or PR open/update**, run the pre-push owner end-to-end:
146
146
 
147
147
  ```text
148
- wp_ci_preflight({})
148
+ start = wp_ci_preflight({})
149
+ wp_ci_preflight_wait({ runId: start.details.operation.runId })
149
150
  ```
150
151
 
152
+ The start result is not a gate verdict. Poll again when wait returns
153
+ `in_progress`; only terminal `success` authorizes push or PR mutation.
154
+
151
155
  MCP-unavailable CLI fallback:
152
156
 
153
157
  ```bash
154
158
  wp ci-preflight
155
159
  ```
156
160
 
157
- That is fail-fast branch-scoped format guardrails → typecheck → lint →
158
- test. Run it after the final commit and make no further worktree or base-ref
161
+ That runs the repository-owned, branch-scoped required-check plan fail-fast.
162
+ Run it after the final commit and make no further worktree or base-ref
159
163
  changes before pushing. Agent-kit's `.husky/pre-push` checks the resulting
160
164
  exact-state receipt without rerunning the suite after Git opens the remote
161
165
  transport; consumer repos may keep pre-push checks user-owned. Do **not** claim
@@ -168,7 +172,7 @@ Rules:
168
172
  - Never claim broader correctness than the commands actually proved.
169
173
  - If the repo documents a "full QA" bookend, reserve `wp_qa` / `--full` for the final broad pass rather than every iteration.
170
174
  - If CI is already red: read the failed job log, reproduce with the matching
171
- local `wp_ci_preflight` (or the `wp ci-preflight` CLI fallback), fix, then push **one**
175
+ local `wp_ci_preflight` + `wp_ci_preflight_wait` flow (or the `wp ci-preflight` CLI fallback), fix, then push **one**
172
176
  corrective commit — do not burn another full matrix “to check.”
173
177
 
174
178
  ## Phase 3 — Cross-surface impact scan
@@ -265,7 +269,7 @@ When classification is **sensitive**:
265
269
 
266
270
  - Require delivery review via `risk-review-coverage` / `wp_review_gate`
267
271
  (purpose delivery) / qualifying lane approvals for the current
268
- `wp-git-diff-v1` subject until `policySatisfied`.
272
+ review subject until `policySatisfied`.
269
273
  - Launch **exactly one** `wp_review_gate` delivery attempt with
270
274
  `--base-ref <base-sha>` and `--authority-ref <head-sha>`. Do not substitute
271
275
  `HEAD` for the authority SHA, and do not relaunch while the same subject has
@@ -355,6 +359,8 @@ When catalog assets or generated instruction surfaces changed, include public-pa
355
359
  If any required check is missing, the correct result is **not done yet**, not a softer claim.
356
360
 
357
361
  **Tooling friction (optional):** if this session burned medium+ tokens on MCP/CLI/hooks/CI
358
- gates (not product code), run `/tooling-friction` once and write tips under
359
- `.agent/planning/state/tooling-friction/`. Skip when the path was smooth. Never
360
- blocks land see the `tooling-friction` skill.
362
+ gates (not product code), run `/tooling-friction` once and resolve its capture
363
+ destination with `wp_tooling_friction_path({"file":"<file>"})` (human CLI:
364
+ `wp tooling-friction path --file <file>`). Skip when the path was smooth. If
365
+ the surface cannot be resolved or written, report the skip and never fall
366
+ back to a worktree path. Never blocks land — see the `tooling-friction` skill.