@sellable/mcp 0.1.52 → 0.1.53

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.52",
3
+ "version": "0.1.53",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -105,6 +105,10 @@ translate internal sourcing terms into plain language. For example, explain
105
105
  "signal discovery" as "looking for LinkedIn activity from people already
106
106
  talking about this problem."
107
107
 
108
+ Only promise parallel/background work when the host actually started parallel
109
+ branches or workers. If the host is running the flow sequentially, say the real
110
+ sequence instead of `kicking off two workstreams`.
111
+
108
112
  Every approval gate must include artifact access after the readable inline
109
113
  content. Show an `Open artifact:` line with the one key clickable markdown link
110
114
  for that stage. Do not show raw filesystem paths unless links cannot be created
@@ -164,6 +164,7 @@ Validated draft directory:
164
164
  **4. Tradeoff**
165
165
  - More context, but the filter needs to cut consultants and creators.
166
166
  ```
167
+
167
168
  - Do not treat the active Sellable workspace as the campaign subject. The
168
169
  workspace only tells you where the campaign will be saved. Before buyer, CTA,
169
170
  proof, or source questions, identify two things:
@@ -487,6 +488,20 @@ should test for this campaign. Those can run in parallel and usually take
487
488
  basis (`brief.md`, `lead-review.md`, `lead-sample.json`). Approval waits for
488
489
  both `lead-filter.md` and `message-validation.md`, then reconciles that the
489
490
  selected message basis rows still pass the final filter.
491
+ - Parallel means real parallel execution, not just optimistic progress copy.
492
+ After lead review:
493
+ - If the host exposes Task/subagent workers and host policy allows them for
494
+ this user request, launch two disjoint workers: one owns `lead-filter.md`
495
+ and optional `rubric.json`; the other owns `message-prep.md`,
496
+ `message-validation.md`, and `message-review.md`.
497
+ - If only parallel tool batching is available, batch only independent tool
498
+ reads/lookups. Do not pretend whole artifact-writing stages are running in
499
+ the background.
500
+ - If real parallel execution is not available or not allowed, run the same DAG
501
+ sequentially and use honest copy: `I’ll tighten the filter first, then draft
502
+ the message from the same sample.`
503
+ - Never say `kicking off two workstreams`, `in parallel`, or `background`
504
+ unless parallel branches were actually launched.
490
505
  - Never run a downstream stage until the active `flow.v2.json` step's
491
506
  `requiredArtifacts` exist.
492
507
  - Never call a tool outside the active step's `allowedTools`, and never call a
@@ -95,6 +95,12 @@ Every customer-facing update should answer one of these:
95
95
  - What will the user see next?
96
96
  - What is protected until approval?
97
97
 
98
+ Only promise parallel work when parallel work actually started. If the host
99
+ cannot or should not launch background branches, say the real sequence:
100
+ `I’ll tighten the filter first, then draft the message from the same sample.`
101
+ Do not say `kicking off two workstreams`, `in parallel`, or `background` as
102
+ aspirational copy.
103
+
98
104
  Before a brief approval, the user should see a slim approval brief in chat. The
99
105
  rich current brief exists in `brief.md`; the chat view is the decision surface,
100
106
  not the full working memo. `brief-v1.md` is an internal first-draft snapshot, not
@@ -407,13 +407,13 @@
407
407
  "action": "render_post_lead_parallel_progress",
408
408
  "requiredVisibleContent": [
409
409
  "Lead source is set",
410
- "kicking off two workstreams",
411
410
  "Tighten the fit filter",
412
411
  "Draft the first message",
413
412
  "approved brief and real sample leads",
414
- "parallel"
413
+ "parallel only if real parallel branches were launched"
415
414
  ],
416
- "timeEstimate": "~2-3 min"
415
+ "timeEstimate": "~2-3 min",
416
+ "chatRenderRule": "If real parallel workers/branches were actually launched, say: 'I’m kicking off two workstreams now' and list the two branches. If not, do not mention parallel/background work; say: 'I’ll tighten the filter first, then draft the first message from the same approved brief and sample leads.' Never claim parallelism unless the host actually started parallel execution."
417
417
  },
418
418
  {
419
419
  "action": "ask_continue_revise_or_confirm_only_if_needed",