@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
|
@@ -775,7 +775,7 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
775
775
|
|
|
776
776
|
Hey there
|
|
777
777
|
|
|
778
|
-
|
|
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.
|
|
801
|
-
|
|
802
|
-
|
|
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
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
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. **
|
|
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
|
|