@sellable/install 0.1.94 → 0.1.96

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.
@@ -80,6 +80,9 @@ Quality bar:
80
80
 
81
81
  - Do not synthesize a lightweight message from general knowledge. The artifact
82
82
  must prove the embedded message-review safety-gate workflow ran.
83
+ - There is no generate-message fast mode in this path. The embedded gate is the
84
+ same campaign-launch quality contract used by the parent-thread compatibility
85
+ path, not a lower-quality shortcut.
83
86
  - Message generation can start before `lead-filter.md`, but message review
84
87
  cannot start until the parent verifies the selected basis rows still pass the
85
88
  final filter.
@@ -128,6 +131,13 @@ Quality gates:
128
131
  `[insert]`, or `[generated]`.
129
132
  - Optional row-specific personalization must be grounded in a row field or
130
133
  omitted entirely.
134
+ - Engagement-source personalization is a special case, not the default opener.
135
+ Do not write `saw you {{engagement_context}} on {{post_context}}`, `saw you
136
+ reacted to`, `saw you engaging with`, or equivalent source-citation copy as a
137
+ default hook. Only refer to the prospect's engagement when the line is
138
+ self-aware and low-certainty, for example `not sure if this is too specific,
139
+ but the [topic] thread felt close enough to send`. Otherwise omit the
140
+ engagement signal and use role/company/problem context.
131
141
  - Subjects should be short, buyer-relevant, and specific. Avoid `quick
132
142
  question`, `demo`, `founder call`, sender names, and generic `outbound`.
133
143
  - If the message is plausible but not ready to send, set `Recommendation:
@@ -687,7 +687,7 @@ After every \`update_campaign({ campaignId, currentStep })\`, use
687
687
  \`get_campaign_navigation_state\` when available as a compact orientation check:
688
688
  match the saved campaign state to the expected watch-link step, explain the
689
689
  current state in one sentence, and only then continue. Sender selection belongs
690
- at Settings after message approval and 10-row validation. After message
690
+ at Settings after message approval and 15-row validation. After message
691
691
  validation, use Settings to help the user connect or select a LinkedIn sender.
692
692
  Explain Slack reply review before launch. After sender selection, attach the
693
693
  recommended sequence and move the watched UI to Send. Do not start the campaign
@@ -929,18 +929,28 @@ updates.
929
929
  Do not load the full long-form \`generate-messages\` subskill in this
930
930
  create-campaign path; if the safety gate cannot safely approve the draft, route
931
931
  to revise messaging with the concrete failure.
932
+ This compatibility path is not a generate-message fast mode.
932
933
  Do not synthesize \`message-validation.md\` from the brief, lead review, or
933
934
  general knowledge.
934
935
  5. Create the campaign shell early with the v1 brief so the user can open the
935
936
  watch link and see useful setup state immediately. Import only the first
936
937
  bounded review batch after the source is attached to the campaign; do not
937
- queue workflow cells, attach a sequence, or start until
938
- \`message-validation.md\` proves the message-review safety-gate workflow ran,
939
- \`message-review.md\` approves the template, rubrics are saved, and the
940
- approved message set is synced into the campaign brief.
941
- 6. Keep \`selectedLeadListId\` as the source list and \`workflowTableId\` as the
938
+ queue workflow cells, attach a sequence, or start until filter choice is
939
+ resolved, Messages has shown Use Template / AI Generated, template/token
940
+ rules are approved when Use Template is chosen, rubrics are saved when
941
+ filters are enabled, and the approved message set is synced into the campaign
942
+ brief. Product Generate Message cells must not run from the background
943
+ template path before that template/token approval. AI Generated uses the
944
+ product's AI-generated path and cancels or ignores the background template
945
+ draft.
946
+ 6. The main thread owns watch navigation: use \`filter-choice\` after the 15-row
947
+ review batch, \`messages\` for the Use Template / AI Generated mode choice,
948
+ \`auto-execute-messaging\` for approved message work or the product's
949
+ AI-generated path, and \`awaiting-user-greenlight\` for the final handoff.
950
+ \`validate-sample\` is recovery/legacy only if reached.
951
+ 7. Keep \`selectedLeadListId\` as the source list and \`workflowTableId\` as the
942
952
  campaign table. Do not use disk files as the post-mint source of truth.
943
- 7. Do not ask the user to run another command.
953
+ 8. Do not ask the user to run another command.
944
954
 
945
955
  ## Fallback
946
956
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.94",
3
+ "version": "0.1.96",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -71,8 +71,10 @@ Disk artifacts are optional debug/UAT diagnostics; normal customer runs should
71
71
  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
- first review batch, and enrichment/message generation waits until rubrics and
75
- the approved message template are saved on the campaign.
74
+ first review batch. After that, the user chooses whether to use filters or skip,
75
+ then Messages first shows Use Template and AI Generated. The Message Draft
76
+ Builder may work in the background, but template review waits for the filter
77
+ path and an explicit Use Template choice.
76
78
 
77
79
  ## Opening Turn Contract
78
80
 
@@ -145,9 +147,13 @@ registry pattern for the two post-lead branches. The create-campaign-v2 subskill
145
147
  calls `get_post_find_leads_scout_registry`, then launches the returned
146
148
  filter-leads scout and message-generation scout together when real subagents are
147
149
  available and the current session exposes the returned names. Message
148
- generation must not wait for the filter unless the host cannot run the two
149
- branches concurrently. If the post-lead agents are absent, the main thread still
150
- orchestrates the same branches from the compact context with MCP tools/assets.
150
+ generation is the provisional Message Draft Builder: it may start after the
151
+ review batch exists, including while the user is on filter choice, but template
152
+ review cannot start until the user answers filter choice and chooses Use
153
+ Template in Messages. AI Generated is an explicit opt-out that cancels or
154
+ ignores the background template draft. If the post-lead agents are absent, the
155
+ main thread still orchestrates the same branches from the compact context with
156
+ MCP tools/assets.
151
157
 
152
158
  Use rendered Markdown for user review surfaces, not fenced code blocks. Keep
153
159
  lines short, use indexed section labels and bullets, and translate internal
@@ -200,7 +206,7 @@ After every `update_campaign({ campaignId, currentStep })`, use
200
206
  `get_campaign_navigation_state` when available as a compact orientation check:
201
207
  match the saved campaign state to the expected watch-link step, explain the
202
208
  current state in one sentence, and only then continue. Sender selection belongs
203
- at Settings after message approval and 10-row validation. After message
209
+ at Settings after message approval and 15-row validation. After message
204
210
  validation, use Settings to help the user connect or select a LinkedIn sender.
205
211
  Explain Slack reply review before launch. After sender selection, attach the
206
212
  recommended sequence and move the watched UI to Send. Do not start the campaign
@@ -561,26 +567,31 @@ updates.
561
567
  Do not load the full long-form `generate-messages` subskill in this
562
568
  create-campaign path; if the safety gate cannot safely approve the draft,
563
569
  route to revise messaging with the concrete failure.
570
+ This compatibility path is not a generate-message fast mode.
564
571
  Do not synthesize `message-validation.md` from the brief, lead review, or
565
572
  general knowledge.
566
573
  5. Create the campaign shell early with the v1 brief so the user can open the
567
574
  watch link and see useful setup state immediately. Import only the first
568
575
  bounded review batch after the source is attached to the campaign; do not
569
- queue workflow cells, attach a sequence, or start until
570
- `message-validation.md` proves the message-review safety-gate workflow ran,
571
- `message-review.md` approves the template, rubrics are saved, and the
572
- approved message set is synced into the campaign brief.
576
+ queue workflow cells, attach a sequence, or start until the filter choice is
577
+ resolved, Messages has shown Use Template / AI Generated, template/token
578
+ rules are approved when Use Template is chosen, rubrics are saved when
579
+ filters are enabled, and the approved message set is synced into the campaign
580
+ brief. Product Generate Message cells must not run from the background
581
+ template path before that template/token approval.
573
582
  Do not ask the user to approve the brief before shell creation unless they
574
583
  explicitly requested a no-write draft; the shell itself is the review surface.
575
584
  6. The main thread owns watch navigation. Call
576
585
  `mcp__sellable__update_campaign({ campaignId, currentStep })` before major
577
586
  visible work so the user can watch progress in the app: `create-offer` for
578
587
  the brief, `pick-provider` or the selected provider step while sourcing,
579
- `filter-choice` after the 10-row review batch, `messages` or
580
- `auto-execute-messaging` for message work, `validate-sample` for validation,
581
- `awaiting-user-greenlight` for the final handoff, `settings` for sender
582
- selection, `sequence` after sender attach, and `send` once the recommended
583
- sequence is attached. Do not advance the step backward.
588
+ `filter-choice` after the 15-row review batch, `messages` for the Use
589
+ Template / AI Generated mode choice, `auto-execute-messaging` for approved
590
+ message work or the product's AI-generated path, `awaiting-user-greenlight`
591
+ for the final handoff, `settings` for sender selection, `sequence` after
592
+ sender attach, and `send` once the recommended sequence is attached.
593
+ `validate-sample` is recovery/legacy only if reached. Do not advance the
594
+ step backward.
584
595
  7. Keep `selectedLeadListId` as the source list and `workflowTableId` as the
585
596
  campaign table. Do not use disk files as the post-mint source of truth.
586
597
  8. Do not ask the user to run another command.