@sellable/install 0.1.239 → 0.1.241

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.239",
3
+ "version": "0.1.241",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -775,7 +775,7 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
775
775
 
776
776
  Hey there
777
777
 
778
- Saw you pop up on my post about {{post_topic_line}}
778
+ Thanks for the support on my post about {{post_topic_line}}
779
779
  ```
780
780
 
781
781
  - **Shared Signal Discovery** first-message style: short, casual, references
@@ -797,9 +797,18 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
797
797
  generic greeting. It should open with a light role/company/problem
798
798
  observation, avoid awkward phrases like "looks like a team where", avoid
799
799
  founder-only first person unless every attached sender can credibly say it,
800
- and ask one clear problem question. This is a single-message
801
- cold path unless the approved create-campaign message workflow proves a
802
- better delivery format.
800
+ and ask one clear problem question. It must not pass just because the
801
+ receipt says `generate-messages` loaded; the reviewed samples must sound
802
+ like final cold output from the create-campaign/generate-messages workflow.
803
+ Use no self-intro such as "We're building", no opt-out shrug such as "If
804
+ this isn't relevant, ignore me", and no product-stack dump that repeats
805
+ Sellable/Codex/Claude-Code feature summary
806
+ across prospects. This is a single-message cold path unless the approved
807
+ create-campaign message workflow proves a better delivery format.
808
+ Short form: Shared Cold Fallback must not pass just because the receipt says `generate-messages` loaded.
809
+ Short form: Shared Cold Fallback uses no self-intro such as "We're building".
810
+ Short form: Shared Cold Fallback uses no opt-out shrug such as "If this isn't relevant, ignore me".
811
+ Short form: Shared Cold Fallback uses no product-stack dump.
803
812
  - Every customer-visible lane must run Message Drafting from the current
804
813
  campaign/table basis after source rows exist. The worker must load the full
805
814
  packaged `generate-messages` prompt, every required asset, and
@@ -854,10 +863,14 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
854
863
  `validationResult:"passed"`, a passed quality review, and at least 3
855
864
  reviewed sample messages. For Shared Cold Fallback, reject samples that
856
865
  open with a standalone name followed by "Hey there" or a similarly generic
857
- greeting. For all shared lanes, reject generic product-summary samples,
858
- repeated near-identical samples, and any preserved Post Engagers opener;
859
- revise or rerun the packaged create-campaign/generate-messages path before
860
- reporting completion.
866
+ greeting. For Shared Cold Fallback, also reject samples with a self-intro
867
+ such as "We're building", an opt-out shrug such as "If this isn't
868
+ relevant, ignore me", or a product-stack dump that repeats the same
869
+ Sellable/Codex/Claude-Code feature summary across prospects. For all
870
+ shared lanes, reject generic product-summary samples, repeated
871
+ near-identical samples, and any preserved Post Engagers opener; revise or
872
+ rerun the packaged create-campaign/generate-messages path before reporting
873
+ completion.
861
874
  - The first review batch exists and at least 3 review rows have generated
862
875
  messages from the approved brief. If fewer than 3 usable rows exist, report
863
876
  the actual count and why.
@@ -931,7 +944,8 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
931
944
  **Also confirm the delivery format and keep config in sync.** Ask the user whether DM lanes should send multiline (paragraph-per-message) or as a single message. Record the answer as the brief's `Delivery format:` line, and when multiline is chosen, set `actionConfig.sendEachParagraphAsMessage: true` on that campaign's `send_dm` column via `update_column` (config edits run no cells and nothing sends from unlaunched campaigns). Never set the paragraph-split flag on InMail columns — the option does not apply to InMail.
932
945
  6. **Interactive polish mode only: prove the template on one real row.** For ONE campaign that has at least one lead row (add one via `add_on_demand_leads` if every lane is empty and the user provides/approves a test lead), generate a message for exactly one row (`queue_campaign_cells` with `columnRole: "generateMessage"`, `rowSelector: { type: "reviewBatch", limit: 1 }` or the single row's ID), wait for it, then show the user the generated message next to the template — AND show how it would split if paragraph-per-message sending is enabled (list each paragraph as `msg 1:`, `msg 2:`, …) so the user confirms each one reads like a real typed message. Check alignment: tone, structure, no internal vocabulary, correct token substitution, no letter punctuation. Do NOT approve the row or generate for more rows — one sample only.
933
946
  7. **Automation mode template/config audit**: inspect existing send-lane briefs for a `Delivery format:` line and chat-native warm template. If a send lane is missing the line and the prompt allows cleanup, update only the campaign brief metadata with the safest default for that lane (`Delivery format: single message (LinkedIn DM; line breaks remain inside one generated message; no follow-up until reply)`). If cleanup is not allowed, flag it. Do not generate a sample row in automation mode unless the invocation explicitly asks for sample proof. In structure-only automation, do not generate a sample row unless the invocation explicitly asks for sample proof. In customer-visible completion, follow the Customer-Visible Completion Contract instead.
934
- 8. **Report the reconcile plan and result** every slot tagged `reused`, `created`, `repaired`, `flagged`, or `blocked`, plus template/sample details only when that mode ran:
947
+ 8. **Final customer-facing completion must include sample messaging**: after customer-visible verify and the idempotency rerun pass, add a `Sample Messaging Review` section to the final answer. For every completed lane, show at least one full generated first message for every completed lane with campaign name, campaign id, row id, and verdict. Prefer the approved route-proof row when it is quality-valid; otherwise use the best reviewed generated row from the verified receipt. Do not summarize the sample into a copy theme. Show the actual message text so the user can inspect tone and specificity. If any sample is not quite right, tell the user they can ask the AI to update the campaign brief/message template and rerun Generate Message before launch. Never suggest launching, scheduling, or sending as the next step from this command.
948
+ 9. **Report the reconcile plan and result** — every slot tagged `reused`, `created`, `repaired`, `flagged`, or `blocked`, plus template/sample details only when that mode ran:
935
949
 
936
950
  ```
937
951
  Evergreen Reconcile — {date}
@@ -940,6 +954,17 @@ Evergreen Reconcile — {date}
940
954
  • Sellable.dev - Shared Signal Discovery: repaired (send review ready; 50 rows, 3 generated, 1 approved gate row, sequence attached, paused)
941
955
  • Sellable.dev - Shared Cold Fallback: created (send review ready; 50 rows, 3 generated, 1 approved gate row, sequence attached, paused)
942
956
  All campaigns remain unlaunched. Next: enrich/approve more rows when you want more items ready to schedule.
957
+
958
+ Sample Messaging Review
959
+ • Christian Reyes - Post Engagers (`cmp_...`, row `row_...`, verdict: passed)
960
+ ```
961
+ {{full generated first message}}
962
+ ```
963
+ • Sellable.dev - Shared Cold Fallback (`cmp_...`, row `row_...`, verdict: passed)
964
+ ```
965
+ {{full generated first message}}
966
+ ```
967
+ If any sample is not quite right, ask the AI to update the campaign brief/message template and rerun Generate Message before launch.
943
968
  ```
944
969
  </objective>
945
970