@webpresso/plugin-codex 0.0.7 → 0.0.9

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.7",
3
+ "version": "0.0.9",
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.7",
3
+ "version": "0.0.9",
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.7",
5
+ "packageVersion": "0.0.9",
6
6
  "runtimeDirs": [".codex/skills", ".agents/skills"],
7
7
  "skills": {
8
8
  "ai-deslop": {
@@ -90,16 +90,16 @@
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"
97
97
  },
98
98
  "ultragoal": {
99
- "digest": "sha256:9470e59bd1aeca64aaa24f6b4276235ebbffbf5f817817093458e80a5fffc31a"
99
+ "digest": "sha256:137a063d5e286934b92b1d87397b7183f8ea6c564cddc3bb7e6cde5f3f306aaf"
100
100
  },
101
101
  "verify": {
102
- "digest": "sha256:7f431a63e611c9f47d5edf87a889d4527658d2dd0c68f9dffd0924c1cd0dd028"
102
+ "digest": "sha256:10ea1c2c1436be23721e4510fe73194f835828510e6a8995e93b84f80351fc4a"
103
103
  }
104
104
  }
105
105
  }
@@ -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
  ```
@@ -25,6 +25,24 @@ Use `wp ultragoal` / MCP `wp_ultragoal_*` as the durable controller for work spa
25
25
  one or more blueprints. Prefer this spine over host-local mega-sessions or ad-hoc
26
26
  multi-agent swarms.
27
27
 
28
+ ## Creating an ultragoal does NOT set a host stop-condition
29
+
30
+ `wp_ultragoal_new` records a durable brief, budgets, and phase. It does **not**
31
+ install the session Stop hook that keeps a host working until a condition holds
32
+ — that hook belongs to the host's own goal surface (Claude Code's `/goal`), which
33
+ this skill cannot reach. The two are independent: an ultragoal can sit in `plan`
34
+ indefinitely with no host pressure to advance it, and a host goal can be set with
35
+ no ultragoal behind it.
36
+
37
+ So do not assume invoking this skill armed a stop condition. Either:
38
+
39
+ - state the stop condition explicitly in the reply and drive the loop yourself, or
40
+ - tell the operator to pair the run with their host's goal command when they want
41
+ the session held open until the ultragoal completes.
42
+
43
+ Recording the brief and recording the stop condition are two separate acts;
44
+ conflating them silently drops the one the operator was counting on.
45
+
28
46
  ## Default budgets (override only when the user sets them)
29
47
 
30
48
  | Budget | Default | Meaning |
@@ -355,6 +355,8 @@ When catalog assets or generated instruction surfaces changed, include public-pa
355
355
  If any required check is missing, the correct result is **not done yet**, not a softer claim.
356
356
 
357
357
  **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.
358
+ gates (not product code), run `/tooling-friction` once and resolve its capture
359
+ destination with `wp_tooling_friction_path({"file":"<file>"})` (human CLI:
360
+ `wp tooling-friction path --file <file>`). Skip when the path was smooth. If
361
+ the surface cannot be resolved or written, report the skip and never fall
362
+ back to a worktree path. Never blocks land — see the `tooling-friction` skill.