@sellable/install 0.1.114 → 0.1.115

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.
@@ -179,15 +179,11 @@ function printCreateCommandHint() {
179
179
  console.log("");
180
180
  printAgentBox("Using Claude Code?", "claude", [
181
181
  { label: "Campaign", command: "/sellable:create-campaign" },
182
- { label: "Identity", command: "/sellable:interview" },
183
- { label: "Voice", command: "/sellable:load-voice" },
184
182
  ]);
185
183
  console.log("");
186
184
  console.log("");
187
185
  printAgentBox("Using Codex?", "codex", [
188
186
  { label: "Campaign", command: "$sellable:create-campaign" },
189
- { label: "Identity", command: "$sellable:interview" },
190
- { label: "Voice", command: "$sellable:load-voice" },
191
187
  ]);
192
188
  console.log("");
193
189
  console.log(` ${"─".repeat(63)}`);
@@ -646,9 +642,10 @@ data, compare sources by source volume, sampled ICP fit, activity/warmth
646
642
  signals, cleanup risk, and confidence basis. If a user asks for a forecast,
647
643
  label it explicitly as not estimated from this run.
648
644
 
649
- Before any provider prompt, search, source scout, or signal-discovery call,
650
- show a short source-plan gate and ask for approval. This first approval
651
- authorizes scouting/search only. The gate should say:
645
+ Before any provider prompt, search, source scout, or signal-discovery call, show
646
+ one source-plan gate and ask for approval. The plan must be visible before the
647
+ question, and this first approval authorizes scouting/search only. The gate
648
+ should say:
652
649
 
653
650
  - given this campaign, the viable source options
654
651
  - the recommended first lane
@@ -665,6 +662,10 @@ why. Do not call \`search_signals\`, \`search_sales_nav\`, \`search_prospeo\`,
665
662
  \`fetch_post_engagers\`, or provider-scoped subagents until the user approves this
666
663
  source plan or explicitly chooses a different source.
667
664
 
665
+ If the user already answered a provider approval such as "Approve Prospeo plan",
666
+ that answer satisfies the source-plan gate. Persist the approved provider and
667
+ run the scouting/search next; do not ask a second source-plan approval question.
668
+
668
669
  For hiring-led campaigns, do not default to Sales Nav just because the target is
669
670
  a role search. Prospeo is the primary lane when the brief asks for companies
670
671
  actively hiring specific roles, open-role signals, account/contact coverage, or
@@ -990,21 +991,16 @@ updates.
990
991
  load post-lead registries/prompts before asking add filters vs skip filters.
991
992
  Once the user answers, launch the message scout from the same campaign/table
992
993
  basis. If filters are approved, also launch the filter scout. Do not queue
993
- workflow cells, attach a sequence, or start until filter choice is resolved
994
- and rubrics are saved when filters are enabled. Template/token rules on the
995
- default Use Template path gate only Generate Message cells, sender setup,
996
- sequence attach, and launch. When filters are approved, immediately
994
+ workflow cells, attach a sequence, or start until saved filters and the
995
+ message template/token rules are approved. When filters are chosen, immediately
997
996
  call \`mcp__sellable__update_campaign({ campaignId, enableICPFilters: true, currentStep: "create-icp-rubric", watchNarration })\`
998
997
  so the watched app moves to Filter Rules while rubrics are drafted/saved.
999
- After rubrics save, move the watched app to \`apply-icp-rubric\` / Filter
1000
- Leads and say the fit rules are saved; the background message scout is
1001
- preparing the message recommendation and approval comes next while the
1002
- browser stays on Filter Leads. Queue the bounded review-batch
1003
- \`enrichCellId\` cells to kick off enrichment/filtering after rubrics are
1004
- saved, without waiting for template approval. If filters are skipped, move to
1005
- Messages/message review and wait for message approval before Settings.
1006
- Product Generate Message cells must not run before that template/token
1007
- approval.
998
+ After rubrics save, keep Filter Rules visible for approval; after approval,
999
+ move to Filter Leads and wait there for the background message recommendation.
1000
+ If filters are skipped, move to Messages/message review. Queue the bounded
1001
+ review-batch \`enrichCellId\` cells only after message approval. Move to
1002
+ Messages only after at least one review row passes and one generated message
1003
+ is ready.
1008
1004
  Do not ask the user to approve the brief before shell creation unless they
1009
1005
  explicitly requested a no-write draft; the shell itself is the review surface.
1010
1006
  6. The main thread owns watch navigation. Call
@@ -1012,9 +1008,10 @@ updates.
1012
1008
  visible work so the user can watch progress in the app: \`create-offer\` for
1013
1009
  the brief, \`pick-provider\` or the selected provider step while sourcing,
1014
1010
  \`filter-choice\` after the review batch, \`create-icp-rubric\` as soon
1015
- as filters are approved, \`apply-icp-rubric\` after rubrics save while bounded
1016
- enrichment/filter scoring runs on Filter Leads, \`validate-sample\` only as a
1017
- recovery/legacy observation state,
1011
+ as filters are chosen and while saved filters await approval,
1012
+ \`apply-icp-rubric\` after filter approval and message approval while bounded
1013
+ enrichment/filter scoring runs, \`validate-sample\` only as a recovery/legacy
1014
+ observation state,
1018
1015
  \`auto-execute-messaging\` after at least one row passes and review-batch
1019
1016
  messages are being generated or reviewed, \`awaiting-user-greenlight\` only
1020
1017
  after generated review-batch messages are approved, \`settings\` for sender
@@ -2218,8 +2215,6 @@ function printNextSteps(installedHosts, authReused) {
2218
2215
  if (hasClaude) {
2219
2216
  printAgentBox("Using Claude Code?", "claude", [
2220
2217
  { label: "Campaign", command: "/sellable:create-campaign" },
2221
- { label: "Identity", command: "/sellable:interview" },
2222
- { label: "Voice", command: "/sellable:load-voice" },
2223
2218
  ]);
2224
2219
  console.log("");
2225
2220
  console.log("");
@@ -2227,8 +2222,6 @@ function printNextSteps(installedHosts, authReused) {
2227
2222
  if (hasCodex) {
2228
2223
  printAgentBox("Using Codex?", "codex", [
2229
2224
  { label: "Campaign", command: "$sellable:create-campaign" },
2230
- { label: "Identity", command: "$sellable:interview" },
2231
- { label: "Voice", command: "$sellable:load-voice" },
2232
2225
  ]);
2233
2226
  console.log("");
2234
2227
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.114",
3
+ "version": "0.1.115",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -72,10 +72,10 @@ not create, link, or surface local draft files unless the user explicitly asks
72
72
  for them. Resume, gating, and handoff read campaign state first. The
73
73
  watchable campaign exists after the short brief; lead import is bounded to the
74
74
  first review batch. After that, the user chooses whether to use filters or skip.
75
- When filters are chosen, save rubrics, then queue enrichment/filtering only from
76
- workflow-table run conditions. Message approval gates Generate Message cells,
77
- sender setup, sequence attach, and launch, not enrichment/filtering. Use Template
78
- is the default message path; AI Generated is only an explicit opt-out.
75
+ When filters are chosen, save rubrics, get filter approval, then wait for
76
+ message-template approval before enrichment/filtering or Generate Message cells.
77
+ Use Template is the default message path; AI Generated is only an explicit
78
+ opt-out.
79
79
 
80
80
  ## Opening Turn Contract
81
81
 
@@ -124,9 +124,10 @@ data, compare sources by source volume, sampled ICP fit, activity/warmth
124
124
  signals, cleanup risk, and confidence basis. If a user asks for a forecast,
125
125
  label it explicitly as not estimated from this run.
126
126
 
127
- Before any provider prompt, search, source scout, or signal-discovery call,
128
- show a short source-plan gate and ask for approval. This first approval
129
- authorizes scouting/search only. The gate should say:
127
+ Before any provider prompt, search, source scout, or signal-discovery call, show
128
+ one source-plan gate and ask for approval. The plan must be visible before the
129
+ question, and this first approval authorizes scouting/search only. The gate
130
+ should say:
130
131
 
131
132
  - given this campaign, the viable source options
132
133
  - the recommended first lane
@@ -143,6 +144,10 @@ why. Do not call `search_signals`, `search_sales_nav`, `search_prospeo`,
143
144
  `fetch_post_engagers`, or provider-scoped subagents until the user approves this
144
145
  source plan or explicitly chooses a different source.
145
146
 
147
+ If the user already answered a provider approval such as "Approve Prospeo plan",
148
+ that answer satisfies the source-plan gate. Persist the approved provider and
149
+ run the scouting/search next; do not ask a second source-plan approval question.
150
+
146
151
  For hiring-led campaigns, do not default to Sales Nav just because the target is
147
152
  a role search. Prospeo is the primary lane when the brief asks for companies
148
153
  actively hiring specific roles, open-role signals, account/contact coverage, or
@@ -222,13 +227,13 @@ post-lead work, but do not load that registry or any deep filter/message prompt
222
227
  before the filter-choice question. After `confirm_lead_list`, ask add filters
223
228
  vs skip filters immediately. Once the user answers, launch the message scout
224
229
  from the same campaign/table basis. If the user chooses filters, also launch the
225
- filter-leads scout, move to Filter Rules, save rubrics, then keep the browser on
226
- Filter Leads while the message recommendation is reviewed. If the user skips
227
- filters, move to Messages/message review. Enrichment/filtering cell execution
228
- runs from saved rubrics and workflow-table run conditions; template approval
229
- only gates Generate Message cells and send setup. AI Generated is an explicit
230
- opt-out from the template path. If the post-lead agents are absent, the main thread still
231
- orchestrates the same branches from the compact context with MCP tools/assets.
230
+ filter-leads scout, move to Filter Rules, save rubrics, then ask for filter
231
+ approval. After approval, keep the browser on Filter Leads while the message
232
+ recommendation is reviewed. If the user skips filters, move to Messages/message
233
+ review. Enrichment/filtering and Generate Message cells wait for message
234
+ approval. AI Generated is an explicit opt-out from the template path. If the
235
+ post-lead agents are absent, the main thread still orchestrates the same
236
+ branches from compact MCP context.
232
237
 
233
238
  Use rendered Markdown for user review surfaces, not fenced code blocks. Keep
234
239
  lines short, use indexed section labels and bullets, and translate internal
@@ -650,23 +655,16 @@ updates.
650
655
  5. Create the campaign shell early with the v1 brief so the user can open the
651
656
  watch link and see useful setup state immediately. Import only the first
652
657
  bounded review batch after the source is attached to the campaign; do not
653
- queue workflow cells, attach a sequence, or start until the filter choice is
654
- resolved and rubrics are saved when filters are enabled. Template/token rules
655
- on the default Use Template path gate only Generate Message cells, sender
656
- setup, sequence attach, and launch. When filters are approved, immediately
658
+ queue workflow cells, attach a sequence, or start until saved filters and the
659
+ message template/token rules are approved. When filters are chosen, immediately
657
660
  call `mcp__sellable__update_campaign({ campaignId, enableICPFilters: true, currentStep: "create-icp-rubric", watchNarration })`
658
661
  so the watched app moves to Filter Rules while rubrics are drafted/saved.
659
- After rubrics save, move the watched app to `apply-icp-rubric` / Filter
660
- Leads and say the fit rules are saved; the background message scout is
661
- preparing the message recommendation while the bounded Filter Leads batch can
662
- be queued from run conditions. If filters are skipped, move the watched app to
663
- Messages/message review and wait for message approval before Settings. Queue
664
- the bounded review-batch `enrichCellId` cells to kick off
665
- enrichment/filtering after rubrics are saved, without waiting for template
666
- approval. Move to Messages only after at least one review row passes and
667
- Generate Message cells are running or ready.
668
- Product Generate Message cells must not run before that template/token
669
- approval.
662
+ After rubrics save, keep Filter Rules visible for approval; after approval,
663
+ move to Filter Leads and wait there for the background message recommendation.
664
+ If filters are skipped, move to Messages/message review. Queue the bounded
665
+ review-batch `enrichCellId` cells only after message approval. Move to
666
+ Messages only after at least one review row passes and one generated message
667
+ is ready.
670
668
  Do not ask the user to approve the brief before shell creation unless they
671
669
  explicitly requested a no-write draft; the shell itself is the review surface.
672
670
  6. The main thread owns watch navigation. Call
@@ -674,9 +672,10 @@ updates.
674
672
  visible work so the user can watch progress in the app: `create-offer` for
675
673
  the brief, `pick-provider` or the selected provider step while sourcing,
676
674
  `filter-choice` after the review batch, `create-icp-rubric` as soon
677
- as filters are approved, `apply-icp-rubric` after rubrics save while bounded
678
- enrichment/filter scoring runs on Filter Leads, `validate-sample` only as a
679
- recovery/legacy observation state,
675
+ as filters are chosen and while saved filters await approval,
676
+ `apply-icp-rubric` after filter approval and message approval while bounded
677
+ enrichment/filter scoring runs, `validate-sample` only as a recovery/legacy
678
+ observation state,
680
679
  `auto-execute-messaging` after at least one row passes and review-batch
681
680
  messages are being generated or reviewed, `awaiting-user-greenlight` only
682
681
  after generated review-batch messages are approved, `settings` for sender