@sellable/install 0.1.254 → 0.1.255

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.254",
3
+ "version": "0.1.255",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -943,17 +943,34 @@ current plan.
943
943
  Before calling verify, the parent should build compact receipt objects from the
944
944
  durable receipt files and pass those compact objects to MCP. The compact receipt
945
945
  must preserve every verifier-owned field named above, including top-level ids,
946
- `createCampaignStepReceipt`, canonical filter/message/review/sequence/final
947
- proof, and at least three concrete sample messages. It should omit large raw
946
+ `createCampaignStepReceipt`, `researchSenderReceipt`, canonical
947
+ filter/message/review/sequence/final proof, and at least three concrete sample
948
+ messages. It should omit large raw
948
949
  search outputs, long post lists, full row arrays, raw provider responses, and
949
950
  debug-only narration fields. Do not pass multi-hundred-kilobyte raw receipt
950
951
  objects when a compact canonical receipt has the same proof; large raw verify
951
952
  payloads can stall local MCP bridges and make UAT ambiguous.
953
+ Use a small Node JSON compactor for non-trivial compaction. Do not build complex
954
+ inline `jq` filters inside nested quoted shell strings; quote failures are a
955
+ UAT blocker and waste the verification run. The Node compactor must preserve
956
+ every canonical verifier object under `createCampaignStepReceipt`, including
957
+ `setupPlanCall`, `createCampaignWorkflowReceipt`, `researchSenderReceipt`,
958
+ `campaignBriefReceipt`, `sourceDecisionReceipt`, `filterDecisionReceipt`,
959
+ `messageDraftingReceipt`, `reviewBatchReceipt`, `sequenceReceipt`,
960
+ `finalPausedSendProof`, and `verifyCall`.
961
+ When compacting, normalize `finalPausedSendProof.currentStep` and
962
+ `finalPausedSendProof.campaignStatus` from nested pause/navigation readbacks if
963
+ the worker receipt stored those values under `pauseCampaignResult`,
964
+ `navigationReadback`, or `navigationProof`; do not pass an empty
965
+ `finalPausedSendProof` object to verify.
952
966
  Do not print or `jq .` full receipt JSON into the terminal. For local checks,
953
967
  print only compact summaries such as file, actionId, laneKey, campaignId,
954
968
  filter status, sample count, approved count, and final status.
955
969
  Short form: Parent verify uses compact canonical receipt objects, not raw giant receipts.
956
970
  Short form: Do not dump full receipt JSON with `jq .`.
971
+ Short form: Do not use complex inline `jq` for receipt compaction; use Node.
972
+ Short form: Compact receipts must preserve `researchSenderReceipt`.
973
+ Short form: Compact receipts must preserve direct `finalPausedSendProof.currentStep` and `campaignStatus`.
957
974
  Short form: Never change planRevision/actionId/laneKey while compacting receipts.
958
975
 
959
976
  Message proof for every customer-visible lane must come from the current
@@ -962,15 +979,23 @@ packaged `generate-messages` path before completion is reported.
962
979
  Parent-thread handwritten copy or setting `currentStep` is not proof.
963
980
 
964
981
  The parent must run its own sample-quality gate before final reporting, even
965
- when worker receipts say `verdict:"passed"`. For each shared lane, normalize the
966
- reviewed sample messages by removing leading greeting/name lines, first names,
967
- and whitespace-only differences; reject shared-lane samples when the message body is identical after removing first names or when all samples share the same
968
- paragraph skeleton. Also reject final shared-lane samples with `Hey <name>,`
969
- letter punctuation, weak relevance hedges, internal workflow vocabulary,
970
- self-intros, or any non-empty `issues`. If the parent finds repeated shared-lane
971
- sample copy, report `blocked: repeated_shared_lane_sample_copy`, revise the
972
- campaign brief/template through the packaged workflow, rerun Generate Message,
973
- and verify current-revision sample messages before final completion.
982
+ when worker receipts say `verdict:"passed"`. For Post Engagers lanes, reject
983
+ any sample that adds a relevance question, CTA, product line, or extra paragraph
984
+ after `Thank you for the support on my post about ...`; blocked phrases include
985
+ `curious`, `open to`, `trying to`, `worth seeing`, `want to see`, and any
986
+ Sellable/product explanation. For each shared lane, normalize the reviewed
987
+ sample messages by removing leading greeting/name lines, first names, and
988
+ whitespace-only differences; reject shared-lane samples when the message body is
989
+ identical after removing first names or when all samples share the same paragraph
990
+ skeleton. Also reject final shared-lane samples with `Hey <name>,` letter
991
+ punctuation, weak relevance hedges, internal workflow vocabulary, self-intros,
992
+ or any non-empty `issues`. Shared lanes must also reject mechanical
993
+ product-process wording such as `sequence-prospects`, `dashboard overhead`,
994
+ `campaign map`, `campaign idea into prospects`, `prospects, filters, messages`,
995
+ `send-ready copy`, or `reviewed prospect lists`. If the parent finds repeated
996
+ shared-lane sample copy, report `blocked: repeated_shared_lane_sample_copy`,
997
+ revise the campaign brief/template through the packaged workflow, rerun Generate
998
+ Message, and verify current-revision sample messages before final completion.
974
999
  </command_backed_workflow>
975
1000
 
976
1001
  <objective>
@@ -1009,8 +1034,9 @@ and verify current-revision sample messages before final completion.
1009
1034
  Short form: Shared lanes must reject internal workflow vocabulary.
1010
1035
  Short form: revise or rerun the packaged create-campaign/generate-messages path.
1011
1036
  - **Post Engagers** first-message style: short, casual, references the
1012
- sender-authored post they engaged with, closed question, **no internal
1013
- vocabulary, no pitch, no meeting ask** in message one:
1037
+ sender-authored post they engaged with, and stops after the thank-you
1038
+ line. Use **no internal vocabulary, no pitch, no meeting ask, no product
1039
+ line, and no relevance question** in message one:
1014
1040
 
1015
1041
  ```
1016
1042
  {{first_name}}
@@ -1020,6 +1046,10 @@ and verify current-revision sample messages before final completion.
1020
1046
  Thank you for the support on my post about {{post_topic_line}}
1021
1047
  ```
1022
1048
 
1049
+ Do not add any paragraph after the thank-you line. In particular, do not
1050
+ append `curious, are you trying...`, `open to...`, `worth seeing...`, or
1051
+ Sellable/product copy to a Post Engagers first message.
1052
+
1023
1053
  - **Shared Signal Discovery** first-message style: short, casual, references
1024
1054
  the real observed signal/theme or public conversation. It may mention the
1025
1055
  engagement source only when the source evidence supports it. Do not say
@@ -1043,7 +1073,10 @@ and verify current-revision sample messages before final completion.
1043
1073
  relevant" in Shared Signal Discovery samples. Translate source/tool terms
1044
1074
  into prospect-facing business language; do not put internal workflow
1045
1075
  vocabulary such as "Codex-style workflow", "MCP", "agent workflows", or
1046
- "Claude-style agent workflows" in customer-facing message one.
1076
+ "Claude-style agent workflows" in customer-facing message one. Also avoid
1077
+ generic product-process nouns such as "dashboard", "workflow", "source",
1078
+ "send-ready copy", "reviewed prospect lists", and "sequence" unless the
1079
+ recipient's own product/category makes that exact word buyer-native.
1047
1080
  Short form: Shared Signal Discovery uses no self-intro such as "I'm building Sellable".
1048
1081
  Short form: Shared Signal Discovery uses no self-intro such as "We're building Sellable".
1049
1082
  Short form: Shared Signal Discovery uses no "I've put together".
@@ -1068,6 +1101,11 @@ and verify current-revision sample messages before final completion.
1068
1101
  as "Sellable is a GTM system" across samples; every reviewed cold sample
1069
1102
  should be specific enough to the role, company, or problem that the three
1070
1103
  sample messages do not share the same body skeleton.
1104
+ Do not use mechanical Sellable process language such as "campaign idea into
1105
+ prospects, filters, messages, and sequence setup", "sequence-prospects",
1106
+ "dashboard overhead", "campaign map", "send-ready copy", or "reviewed
1107
+ prospect lists" in final cold samples. Say the buyer problem and one plain
1108
+ outcome instead.
1071
1109
  Before Message Drafting runs, the campaign brief must already forbid
1072
1110
  self-intros, generic product summaries, opt-out shrugs, product-stack
1073
1111
  dumps, and repeated template structure. Do not let the first generation