@sellable/install 0.1.200 → 0.1.201

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/install",
3
- "version": "0.1.200",
3
+ "version": "0.1.201",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -90,6 +90,9 @@ execution slice configures filters and messages. After that, the user chooses
90
90
  whether to use filters or skip.
91
91
  When filters are chosen, save rubrics, get filter approval, then wait for
92
92
  message-template approval before enrichment/filtering or Generate Message cells.
93
+ Filter work stays in the parent thread and must inspect visible campaign rows
94
+ with `get_rows_minimal` / `get_rows` before drafting and saving rubrics; use at
95
+ most one direct `enrich_with_prospeo` sample when row evidence is too thin.
93
96
  After filter approval, Filter Leads should show `Filters saved + waiting for
94
97
  message approval` until the template is approved.
95
98
  The default path stays the existing first campaign-table execution slice:
@@ -97,17 +100,19 @@ review the normal `reviewBatchLimit:15`, approve reviewed draft rows, then move
97
100
  to Settings/sequence/final greenlight. Only call
98
101
  `start_campaign_message_preparation` when the user explicitly asks for more
99
102
  prepared messages or a send count. If the user says "prepare/generate X
100
- messages", set `targetPreparedMessages:X`, let the backend derive
101
- `maxRowsToCheck:min(2500,max(300,X*5))`, and keep
102
- `approvalMode:"mark_ready"`. The backend samples up to 100 rows first, then
103
- adapts later batches up to 250 rows while recalculating yield. Poll
103
+ messages", set `targetPreparedMessages:X`, omit `maxRowsToCheck`, and keep
104
+ `approvalMode:"mark_ready"`. The backend calibrates on at least 100 rows,
105
+ estimates the row budget from observed rubric/pass yield, caps
106
+ `maxRowsToCheck` at 2500, then adapts later batches up to 250 rows while
107
+ recalculating yield. Poll
104
108
  `get_campaign_message_preparation_status` for preparation-job status: checked
105
- rows, prepared/approved count, target, row budget remaining, and stop reason. If
106
- the user says "approve X messages", use `approvalMode:"approve"` but still do
107
- not launch. If the user says "schedule X sends", use `approvalMode:"approve"`
108
- to approve exactly the bounded X-message cohort during preparation, then
109
- continue through sender, sequence, and final launch greenlight; the launch path
110
- must verify that bounded cohort and must not broad approve-all.
109
+ rows, passed/prepared/approved count, target, estimated row budget remaining,
110
+ and stop reason. If the user says "approve X messages", use
111
+ `approvalMode:"approve"` but still do not launch. If the user says "schedule X
112
+ sends", use `approvalMode:"approve"` to approve exactly the bounded X-message
113
+ cohort during preparation, then continue through sender, sequence, and final
114
+ launch greenlight; the launch path must verify that bounded cohort and must not
115
+ broad approve-all.
111
116
  Treat `campaignId` as `CampaignOffer.id`. Low level selector/queue tools are
112
117
  diagnostics and recovery only for this lane. If the user asks to stop
113
118
  preparation, the target is wrong, or status shows the wrong campaign/table, call
@@ -480,14 +485,14 @@ automation just because a watch link exists. If `create_campaign` returns
480
485
  `watchHandoff.markdown`, print that exact value once, directly before the brief
481
486
  approval question. It will use the URL mode to say Codex or Claude Code:
482
487
 
483
- ````markdown
488
+ ```markdown
484
489
  > **WATCH CODEX BUILD THE CAMPAIGN LIVE**
485
490
  >
486
491
  > [Open live campaign builder]({watchUrl})
487
492
  >
488
493
  > Keep this chat open. I'll ask approval questions here before making decisions
489
494
  > that need your judgment.
490
- ````
495
+ ```
491
496
 
492
497
  The rendered callout is intentional: rendered chat clients highlight the
493
498
  headline, link, and note without treating it as a code block, and plain terminals
@@ -969,7 +974,7 @@ updates.
969
974
  is ready.
970
975
  Do not ask the user to approve the brief before shell creation unless they
971
976
  explicitly requested a no-write draft; the shell itself is the review surface.
972
- 6. The main thread owns watch navigation. Call
977
+ 7. The main thread owns watch navigation. Call
973
978
  `mcp__sellable__update_campaign({ campaignId, currentStep })` before major
974
979
  visible work so the user can watch progress in the app: `create-offer` for
975
980
  the brief, `pick-provider` or the selected provider step while sourcing,
@@ -984,9 +989,9 @@ updates.
984
989
  job has reported compact checked/prepared/stop status, `settings` for sender
985
990
  selection, `sequence` after sender attach, and `send` once the recommended
986
991
  sequence is attached. Do not advance the step backward.
987
- 7. Keep `selectedLeadListId` as the source list and `workflowTableId` as the
992
+ 8. Keep `selectedLeadListId` as the source list and `workflowTableId` as the
988
993
  campaign table. Do not use disk files as the post-mint source of truth.
989
- 8. Do not ask the user to run another command.
994
+ 9. Do not ask the user to run another command.
990
995
 
991
996
  ## Fallback
992
997