@sellable/mcp 0.1.48 → 0.1.49

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.48",
3
+ "version": "0.1.49",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -99,7 +99,7 @@ Every approval gate must include artifact access after the readable inline
99
99
  content. Show an `Open artifact:` line with the one key clickable markdown link
100
100
  for that stage. Do not show raw filesystem paths unless links cannot be created
101
101
  or the user asks. Do this for brief approval, lead-source approval/review,
102
- lead-filter review, message review, sequence/settings, and final approval
102
+ lead-filter review, message review, and final approval
103
103
  packet. The link is for deeper inspection; never use it as a substitute for
104
104
  showing the decision in chat.
105
105
 
@@ -56,7 +56,6 @@ Validated draft directory:
56
56
  lead-review.md
57
57
  lead-sample.json
58
58
  lead-filter.md
59
- sequence-settings.md
60
59
  message-prep.md # optional speed artifact
61
60
  message-candidate-drafts.md # optional provisional message artifact
62
61
  message-validation.md
@@ -139,9 +138,9 @@ Validated draft directory:
139
138
  content. Show a short `Open artifact:` line with the one key clickable
140
139
  markdown link for that stage. Do not show raw filesystem paths unless links
141
140
  cannot be created or the user asks. Do this for brief approval, lead-source
142
- approval/review, lead-filter review, message review, sequence/settings, and
143
- final approval packet. Do not use the link as a substitute for rendering the
144
- decision in chat; links are for deeper inspection.
141
+ approval/review, lead-filter review, message review, and final approval
142
+ packet. Do not use the link as a substitute for rendering the decision in
143
+ chat; links are for deeper inspection.
145
144
  - Do not treat the active Sellable workspace as the campaign subject. The
146
145
  workspace only tells you where the campaign will be saved. Before buyer, CTA,
147
146
  proof, or source questions, identify two things:
@@ -329,7 +328,7 @@ me`, `I’ll paste a different sender profile`, and `Other / custom`.
329
328
  Campaign brief
330
329
 
331
330
  Target:
332
- ...
331
+ ... (include concrete role/title names, not just a broad persona)
333
332
 
334
333
  Core pain:
335
334
  ...
@@ -423,10 +422,6 @@ should test for this campaign. Those can run in parallel and usually take
423
422
  - `lead-review.md` and `lead-sample.json` are the required outputs of `find leads`.
424
423
  - `lead-filter.md` is the primary output of `filter leads`.
425
424
  - `rubric.json` is optional and secondary to `lead-filter.md`.
426
- - `sequence-settings.md` is a cheap pre-mint preview artifact. It summarizes
427
- recommended sequence/settings for the user's approval packet. It must not call
428
- sequence tools or rerun research; actual sequence attachment still happens
429
- after campaign creation via `attach_recommended_sequence`.
430
425
  - `message-prep.md` is an optional speed artifact produced by the explicit
431
426
  message path after find-leads. It can prepare proof inventory, buyer
432
427
  objections, CTA options, gold-standard strategy maps, and candidate angles
@@ -890,52 +885,25 @@ Keep tokenized templates, token fill basis, rendered examples, good/bad token
890
885
  fill examples, validation notes, and `message-validation.md` details in
891
886
  artifacts.
892
887
 
893
- ## Step 4: Sequence + Settings Preview
894
-
895
- Before the final approval packet, write a cheap `sequence-settings.md` preview.
896
- This is a planning artifact only. Do not call `attach_sequence` or
897
- `attach_recommended_sequence` here, and do not rerun research or message
898
- generation. Actual sequence attachment happens after campaign creation at
899
- `awaiting-user-greenlight`.
900
-
901
- Show this slim chat summary:
902
-
903
- ```text
904
- Sequence + settings
905
-
906
- Recommended sequence:
907
- Recommended LinkedIn sequence based on the connected sender’s tier and limits.
908
-
909
- Review batch:
910
- First review batch only.
911
-
912
- Launch state:
913
- Paused / review-gated. Nothing sends live until final greenlight.
914
-
915
- Safety checks:
916
- Sender and workspace will be checked again before start.
917
-
918
- Open artifact: sequence-settings.md
919
- ```
920
-
921
- ## Step 5: Final Approval Packet
888
+ ## Step 4: Final Approval Packet
922
889
 
923
890
  When showing the final approval packet, render a slim "ready to create" summary
924
891
  in chat. The visible response must include:
925
892
 
926
893
  - `Ready to create campaign`
927
894
  - `Campaign`
928
- - `Target`
895
+ - `Target` with concrete role/title names
929
896
  - `Lead source` with one key metric
930
897
  - `Filter`
931
898
  - `Sample message` with one fully filled sample and no `{{tokens}}`
932
- - `Sequence/settings`
933
899
  - `What approval creates`
934
900
  - `Safety`
935
901
  - `Open artifact: approval-packet.md`
936
902
 
937
903
  Keep tokenized templates, evidence tables, rubrics, validation notes, and long
938
- implementation details in `approval-packet.md`.
904
+ implementation details in `approval-packet.md`. Do not include
905
+ sequence/settings in the final approval packet; sequence attachment and launch
906
+ settings happen after campaign creation and before the later greenlight.
939
907
 
940
908
  ## Tail (MANDATORY TOOL ORDER + Steps 13-16 + Threshold Trips + Hard Rules)
941
909
 
@@ -130,9 +130,11 @@ belong in `lead-review.md`.
130
130
  Lead filter chat should always show what changed: keep, exclude, why, expected
131
131
  impact, and `Open artifact: lead-filter.md`.
132
132
 
133
- Final approval chat should be a ready-to-create summary: campaign, target, lead
134
- source, filter, sequence/settings, one filled sample message, what approval
135
- creates, and the safety note that nothing sends live until greenlight.
133
+ Final approval chat should be a ready-to-create summary: campaign, target with
134
+ concrete role/title names, lead source, filter, one filled sample message, what
135
+ approval creates, and the safety note that nothing sends live until greenlight.
136
+ Do not include sequence/settings in final approval; that belongs after campaign
137
+ creation.
136
138
 
137
139
  Avoid:
138
140
 
@@ -727,60 +727,11 @@
727
727
  "watchRequired": false,
728
728
  "waitFor": ["message_approved", "revise_messaging"],
729
729
  "transitions": {
730
- "message_approved": "sequence-settings-preview",
730
+ "message_approved": "approval-packet",
731
731
  "revise_messaging": "message-generation"
732
732
  },
733
733
  "interruptOnly": true
734
734
  },
735
- {
736
- "id": "sequence-settings-preview",
737
- "label": "Sequence and settings preview",
738
- "normalFlow": true,
739
- "resumeOnly": false,
740
- "onEnter": [
741
- {
742
- "action": "write_sequence_settings_preview",
743
- "artifact": "sequence-settings.md",
744
- "requiredInlineMarker": "Status: sequence-settings-preview",
745
- "inputs": ["brief.md", "lead-review.md", "lead-filter.md", "message-review.md"],
746
- "mustBeFast": true,
747
- "doNotCallTailTools": true,
748
- "requiredSections": [
749
- "Recommended sequence",
750
- "Review batch",
751
- "Launch state",
752
- "Safety checks"
753
- ],
754
- "chatRenderRule": "Show a slim sequence/settings summary: recommended LinkedIn sequence based on connected sender tier and limits, first review batch only, paused/review-gated launch state, nothing sends live until final greenlight, and sender/workspace checked again before start. Keep any details in sequence-settings.md. Do not show plain filesystem paths unless links cannot be created."
755
- }
756
- ],
757
- "requiredArtifacts": [
758
- "brief.md",
759
- "lead-review.md",
760
- "lead-filter.md",
761
- "message-review.md",
762
- "message-review-decision.md"
763
- ],
764
- "producesArtifacts": ["sequence-settings.md"],
765
- "allowedTools": ["AskUserQuestion", "request_user_input"],
766
- "doNotAllow": [
767
- "attach_sequence",
768
- "attach_recommended_sequence",
769
- "create_campaign",
770
- "save_rubrics",
771
- "import_leads",
772
- "confirm_lead_list",
773
- "update_campaign",
774
- "queue_cells",
775
- "start_campaign"
776
- ],
777
- "watchRequired": false,
778
- "waitFor": "sequence_settings_ready",
779
- "transitions": {
780
- "sequence_settings_ready": "approval-packet"
781
- },
782
- "interruptOnly": true
783
- },
784
735
  {
785
736
  "id": "approval-packet",
786
737
  "label": "Approval packet",
@@ -796,8 +747,7 @@
796
747
  "lead-filter.md",
797
748
  "message-validation.md",
798
749
  "message-review.md",
799
- "message-review-decision.md",
800
- "sequence-settings.md"
750
+ "message-review-decision.md"
801
751
  ],
802
752
  "optionalFiles": ["rubric.json"]
803
753
  },
@@ -816,14 +766,13 @@
816
766
  "campaign direction",
817
767
  "lead source",
818
768
  "filter",
819
- "sequence and settings",
820
769
  "sample message",
821
770
  "what approval creates"
822
771
  ],
823
772
  "minimumVisibleDetail": "slim_final_approval_summary",
824
773
  "requiredArtifactLinks": ["approval-packet.md"],
825
774
  "artifactLinkTiming": "before_commit_gate_question",
826
- "chatRenderRule": "Show a slim final approval packet only. Include target, lead source with one key metric, filter summary, sequence/settings summary, one fully filled sample message with no {{tokens}}, what approval creates, and safety note that nothing sends live until the review/greenlight step. Keep tokenized templates, evidence tables, rubrics, and validation details in approval-packet.md. Do not show plain filesystem paths unless links cannot be created.",
775
+ "chatRenderRule": "Show a slim final approval packet only. Include target with concrete role/title names, lead source with one key metric, filter summary, one fully filled sample message with no {{tokens}}, what approval creates, and safety note that nothing sends live until the review/greenlight step. Keep tokenized templates, evidence tables, rubrics, and validation details in approval-packet.md. Do not show sequence/settings in final approval; that comes after campaign creation. Do not show plain filesystem paths unless links cannot be created.",
827
776
  "userFacing": true,
828
777
  "doNotUseWords": ["anchor", "validation anchor", "lane"]
829
778
  },
@@ -841,8 +790,7 @@
841
790
  "lead-filter.md",
842
791
  "message-validation.md",
843
792
  "message-review.md",
844
- "message-review-decision.md",
845
- "sequence-settings.md"
793
+ "message-review-decision.md"
846
794
  ],
847
795
  "producesArtifacts": ["approval-packet.md"],
848
796
  "optionalProducesArtifacts": ["customer-roleplay.md"],
@@ -919,12 +867,11 @@
919
867
  "campaign direction",
920
868
  "lead source",
921
869
  "filter",
922
- "sequence and settings",
923
870
  "sample message",
924
871
  "what approval creates"
925
872
  ],
926
873
  "requiredArtifactLinks": ["approval-packet.md"],
927
- "chatRenderRule": "Same slim approval packet as approval-packet. Include one fully filled sample message without tokens. Do not repeat tokenized template or long evidence tables in chat.",
874
+ "chatRenderRule": "Same slim approval packet as approval-packet. Include target with concrete role/title names and one fully filled sample message without tokens. Do not include sequence/settings. Do not repeat tokenized template or long evidence tables in chat.",
928
875
  "artifactLinkTiming": "same_turn_before_commit_question"
929
876
  },
930
877
  {
@@ -61,7 +61,6 @@ message-candidate-drafts.md (optional, generated from find-leads basis rows)
61
61
  message-validation.md
62
62
  message-review.md
63
63
  message-review-decision.md
64
- sequence-settings.md
65
64
  approval-packet.md
66
65
  commit-gate-decision.md
67
66
  ```
@@ -126,19 +126,20 @@ decision, not an internal validation report. Chat should show a slim approval
126
126
  surface only:
127
127
 
128
128
  1. **campaign** — company + sender
129
- 2. **target** — concise ICP summary from `brief.md`
129
+ 2. **target** — concise ICP summary from `brief.md`, including concrete
130
+ role/title names so the user can verify we are aiming at the right buyers
130
131
  3. **lead source** — selected source plus one key metric from `lead-review.md`
131
132
  (for example `17/25 sampled fits`, `520 active profiles`, or estimated usable
132
133
  leads). Put the full evidence table in `lead-review.md`, not chat.
133
134
  4. **filter** — one-line keep/exclude summary from `lead-filter.md`
134
- 5. **sequence/settings** — conservative defaults from `sequence-settings.md`:
135
- recommended sequence, first review batch, paused/review-gated launch state,
136
- nothing sends live until greenlight, sender/workspace checked again before
137
- start
138
- 6. **sample message** — one fully filled sample message with no `{{tokens}}`
139
- 7. **what approval creates** — campaign draft + review batch preparation, not
135
+ 5. **sample message** — one fully filled sample message with no `{{tokens}}`
136
+ 6. **what approval creates** campaign draft + review batch preparation, not
140
137
  live sending
141
138
 
139
+ Do not include sequence/settings in the pre-mint final approval packet. Sequence
140
+ attachment and launch settings happen after campaign creation and before the
141
+ later greenlight.
142
+
142
143
  Keep implementation details, tokenized templates, lead tables, rubric JSON, and
143
144
  validation notes available in `approval-packet.md` and the supporting artifacts.
144
145
  Do not show raw filesystem paths unless links cannot be created or the user asks.