@sellable/mcp 0.1.346 → 0.1.348

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.346",
3
+ "version": "0.1.348",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -129,7 +129,54 @@ filter choice, Message Drafting, packaged `generate-messages`, sequence
129
129
  attachment, and send-review readiness. Do not rebuild those steps ad hoc in the
130
130
  parent thread.
131
131
 
132
- Workers return worker receipts. The parent then calls
132
+ Workers return worker receipts. Each customer-visible lane receipt must include
133
+ one durable `createCampaignStepReceipt` built from actual tool calls or worker receipts,
134
+ not a parent-thread summary. The receipt must include:
135
+
136
+ - `setupPlanCall`: the exact `setup_evergreen_campaigns({ mode:"plan", ... })`
137
+ planRevision, selected actionId, lane key, workspace id, sender ids, and
138
+ campaign/table binding or create intent used before work started.
139
+ - `campaignBriefReceipt`: the CampaignOffer/campaign id, current
140
+ workflowTableId, brief hash or updated-at marker, delivery format, token
141
+ rules, hard avoids, source-use rules, and first-message template state.
142
+ - `sourceDecisionReceipt`: selected source/list id, provider, cursor/inventory
143
+ state, import/copy caps, dedupe/DNC/provider exclusions, row ids or row-count
144
+ evidence, and the reason no colder source was used before the current source
145
+ was proven exhausted or insufficient.
146
+ - `filterDecisionReceipt`: saved/applied filter ids or explicit skip-filter
147
+ decision with current campaign/table basis.
148
+ - `messageDraftingReceipt`: the Message Drafting proof described below,
149
+ including packaged `generate-messages` prompt/assets and validation.
150
+ - `reviewBatchReceipt`: review-batch row ids/hash, generated row count,
151
+ quality-valid route-proof row id when approved, and proof that no broad
152
+ approve-all occurred.
153
+ - `sequenceReceipt`: exact current workflowTableId, recommended non-paid
154
+ sequence attach/precheck result, and readback showing `hasSequence:true` when
155
+ completion is claimed.
156
+ - `verifyCall`: the exact `setup_evergreen_campaigns({ mode:"verify",
157
+ planRevision, selectedActionIds, receipts })` call/result used before the
158
+ parent reports completion.
159
+
160
+ If any required field is missing, report
161
+ `blocked: missing_create_campaign_step_receipt` for that lane and do not call it
162
+ complete.
163
+
164
+ Each customer-visible lane receipt must also include
165
+ message proof from `watchNarration.workerDetails.messageDraftBuilder` or the
166
+ worker's equivalent handoff record. Valid message proof names the current
167
+ campaign id, workflowTableId, selected lead-list or source id, filter choice,
168
+ review-batch row ids/hash, and either `statusSource:"branch"` or
169
+ `statusSource:"parent-thread-fallback"`. It must prove the worker loaded the
170
+ full packaged prompt with `get_subskill_prompt({ subskillName:"generate-messages"`
171
+ until `hasMore:false`, loaded the required message assets, and loaded
172
+ `create-campaign-v2-validation` before returning a `messageDraftRecommendation`.
173
+ The generated-message cells are not prompt proof: `currentRevisionGeneratedMessages`,
174
+ Generate Message column counts, `messagesCount`, or rendered row previews prove
175
+ only that table cells exist from the current brief/template, not that the
176
+ create-campaign Message Drafting branch ran. If this receipt is missing, report
177
+ `blocked: missing_message_drafting_receipt` and do not call the lane complete.
178
+
179
+ The parent then calls
133
180
  `setup_evergreen_campaigns({ mode:"verify", planRevision, selectedActionIds,
134
181
  receipts })` and report only verified completion. If verify blocks, report the
135
182
  blocker and repair only the missing postconditions from the same current plan.
@@ -179,7 +226,14 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
179
226
  - Message Drafting has run from the current campaign/table basis, using the
180
227
  create-campaign message prompt/assets and validation gate. Updating
181
228
  `currentStep:"messages"` is not proof. Parent-thread handwritten copy is
182
- not a substitute.
229
+ not a substitute. The proof receipt must show
230
+ `get_subskill_prompt({ subskillName:"generate-messages"` was loaded until
231
+ `hasMore:false`, required message assets were loaded, and
232
+ `create-campaign-v2-validation` ran through either
233
+ `workerDetails.messageDraftBuilder` with `statusSource:"branch"` or an
234
+ inline `statusSource:"parent-thread-fallback"` receipt. The generated-message
235
+ cells are not prompt proof; `currentRevisionGeneratedMessages` and row
236
+ previews are only downstream cell evidence.
183
237
  - The first review batch exists and at least 3 review rows have generated
184
238
  messages from the approved brief. If fewer than 3 usable rows exist, report
185
239
  the actual count and why.