@sellable/install 0.1.226 → 0.1.228

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,7 +37,7 @@ function getInstallVersion() {
37
37
  }
38
38
  }
39
39
 
40
- const CODEX_PLUGIN_VERSION = "0.1.43";
40
+ const CODEX_PLUGIN_VERSION = "0.1.45";
41
41
  const CODEX_PLUGIN_COMPAT_VERSIONS = [
42
42
  "0.1.8",
43
43
  "0.1.9",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.226",
3
+ "version": "0.1.228",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -73,18 +73,26 @@ readback, and setup plan/verify results. If MCP surfaces disagree on counts or
73
73
  state, record the discrepancy and resolve or explain the canonical gate before
74
74
  reporting the command complete.
75
75
 
76
- Package-backed prompt authority: when this command or any lane worker says to
77
- load `$sellable:create-campaign`, `create-campaign-v2`, `generate-messages`, or
78
- any referenced workflow asset, the package-backed MCP loaders are the source of
79
- truth. Use `get_subskill_prompt` and `get_subskill_asset` until `hasMore:false`.
80
- Do not locate, open, read, or summarize local skill files from repo paths,
81
- installed plugin cache paths, or any filesystem shortcut. Do not use repo-local,
82
- plugin-cache, or filesystem `SKILL.md` files as workflow authority, even when a
83
- session header shows a path. If package-backed prompt or asset loaders are not
84
- callable, stop with `blocked: package_prompt_loader_unavailable`; filesystem
85
- prompt fallback is a failed UAT and is not proof that the packaged command works.
86
- Short form: Do not use repo-local, plugin-cache, or filesystem `SKILL.md`.
87
- Short form: filesystem prompt fallback is a failed UAT.
76
+ Package-backed prompt authority: this public wrapper is an installed Codex
77
+ skill, so the host may load the wrapper itself from the local plugin bundle as
78
+ the command entrypoint. That entrypoint load is allowed, but it is not proof
79
+ that the create-campaign workflow ran. After this wrapper is active, when this
80
+ command or any lane worker says to load `$sellable:create-campaign`,
81
+ `create-campaign-v2`, `generate-messages`, validation, or any referenced
82
+ workflow asset, the package-backed MCP loaders are the source of truth. Use
83
+ `get_subskill_prompt` and `get_subskill_asset` until `hasMore:false`.
84
+ Do not locate, open, read, or summarize nested workflow prompt files from repo
85
+ paths, installed plugin cache paths, or any filesystem shortcut. Do not use
86
+ repo-local, plugin-cache, or filesystem `SKILL.md` files as nested workflow
87
+ authority, even when a session header shows a path. If package-backed prompt or
88
+ asset loaders are not callable, stop with
89
+ `blocked: package_prompt_loader_unavailable`; nested filesystem prompt fallback
90
+ is a failed UAT and is not proof that the packaged workflow ran.
91
+ Short form: The installed wrapper can be the entrypoint; nested workflow prompts
92
+ must use MCP loaders.
93
+ Short form: Do not use repo-local, plugin-cache, or filesystem nested
94
+ `SKILL.md` files as workflow authority.
95
+ Short form: nested filesystem prompt fallback is a failed UAT.
88
96
 
89
97
  Package-backed tool surface: use `mcp__sellable` only for workspace selection,
90
98
  campaign/table/source/message mutations, and product-visible readbacks. Do not
@@ -199,8 +207,18 @@ environment:{type:"local"}}`. Do not create a worktree target for evergreen
199
207
  UAT or lane execution. The parent must record the returned thread id, pass
200
208
  exactly one lane packet into that thread, and require the worker to write the
201
209
  lane receipt at the artifact path named by
202
- `workerDispatch.receiptArtifactHint`. A streaming worker or branch worker is
203
- acceptable only when it writes a durable per-lane receipt artifact as it works.
210
+ `workerDispatch.receiptArtifactHint`. That path is run-specific and must include
211
+ the packet's `workerDispatch.receiptRunId`. Before dispatch, if a file already
212
+ exists at the hinted path, do not trust or verify it; move it aside or choose the
213
+ fresh hinted path from a new plan. A valid receipt must be written after
214
+ `workerDispatch.receiptMustBeWrittenAfter`, reread by the parent after the
215
+ worker exits, and contain the current `planRevision`, `actionId`, `laneKey`,
216
+ `receiptArtifactPath`, and `durableReceiptWritten:true`. If a receipt predates
217
+ the current run, uses an old path without `receiptRunId`, or was not freshly
218
+ written by the current worker, stop with `blocked: stale_receipt_artifact`
219
+ before parent verify or completion. A streaming worker or branch worker is
220
+ acceptable only when it writes a fresh durable per-lane receipt artifact as it
221
+ works.
204
222
  `multi_agent_v1.spawn_agent`, raw `spawn_agent`, or any opaque Task/subagent
205
223
  runtime that cannot expose a visible thread id or durable receipt artifact is
206
224
  not accepted as command-level UAT proof and must not be used for mutating
@@ -366,7 +384,7 @@ verification unless the same object also appears inside
366
384
  "workflowAssetLoaded": true,
367
385
  "workerRuntime": "separate-codex-thread",
368
386
  "workerThreadId": "<visible local Codex thread id>",
369
- "receiptArtifactPath": ".planning/artifacts/uat/69/lane-receipts/<planRevision>/<actionId>-<laneKey>.json",
387
+ "receiptArtifactPath": ".planning/artifacts/uat/69/lane-receipts/<planRevision>/<receiptRunId>/<actionId>-<laneKey>.json",
370
388
  "durableReceiptWritten": true,
371
389
  "notAdHoc": true
372
390
  },