@sellable/install 0.1.234 → 0.1.235

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.234",
3
+ "version": "0.1.235",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -344,17 +344,29 @@ not a parent-thread summary. The receipt must include:
344
344
  `senderIds`, or non-empty `senderIdentityBasis`, plus `identityBasis`.
345
345
  - `campaignBriefReceipt`: the CampaignOffer/campaign id, current
346
346
  workflowTableId, brief hash or updated-at marker, delivery format, token
347
- rules, hard avoids, source-use rules, and first-message template state. If
348
- the tool output uses `approvedFirstMessageTemplate`, copy it to canonical
349
- `firstMessageTemplate`; if it uses `deliveryFormatIncluded`,
350
- `tokenRulesIncluded`, `hardAvoidsIncluded`, or `sourceUseRulesIncluded`, copy
351
- those to canonical `deliveryFormat`, `tokenRules`, `hardAvoids`, and
352
- `sourceUseRules`. Before the worker exits, the durable JSON must contain the
353
- exact canonical leaf keys `briefHash`, `deliveryFormat`, `tokenRules`,
354
- `hardAvoids`, `sourceUseRules`, and `firstMessageTemplate` inside
355
- `createCampaignStepReceipt.campaignBriefReceipt`; do not leave those only in
347
+ rules, hard avoids, source-use rules, and lane-appropriate first-message
348
+ state. Post Engagers lanes require `campaignBriefReceipt.firstMessageTemplate`
349
+ because they are sender-owned warm lanes. Shared Signal Discovery and Shared
350
+ Cold Fallback lanes must not set `campaignBriefReceipt.firstMessageTemplate`;
351
+ instead set `campaignBriefReceipt.firstMessageTemplateState` to the exact
352
+ no-preset marker
353
+ `not preset; generate-messages branch selected the final message approach`.
354
+ If the tool output uses `approvedFirstMessageTemplate`, copy it to canonical
355
+ `firstMessageTemplate` only for Post Engagers lanes. For shared lanes, treat a
356
+ raw approved template as a quality issue unless it is only a no-preset or
357
+ generate-messages state marker. If the tool output uses
358
+ `deliveryFormatIncluded`, `tokenRulesIncluded`, `hardAvoidsIncluded`, or
359
+ `sourceUseRulesIncluded`, copy those to canonical `deliveryFormat`,
360
+ `tokenRules`, `hardAvoids`, and `sourceUseRules`. Before the worker exits, the
361
+ durable JSON must contain the exact canonical leaf keys `briefHash`,
362
+ `deliveryFormat`, `tokenRules`, `hardAvoids`, and `sourceUseRules` inside
363
+ `createCampaignStepReceipt.campaignBriefReceipt`, plus
364
+ `firstMessageTemplate` only for Post Engagers lanes or
365
+ `firstMessageTemplateState` for shared lanes; do not leave those only in
356
366
  narrative text, `briefIncludes`, `currentApprovedBriefHash`, or other aliases
357
367
  for the parent/verifier to infer.
368
+ Short form: Post Engagers lanes require `campaignBriefReceipt.firstMessageTemplate`.
369
+ Short form: Shared Signal Discovery and Shared Cold Fallback lanes must not set `campaignBriefReceipt.firstMessageTemplate`.
358
370
  - `sourceDecisionReceipt`: selected source/list id, provider, cursor/inventory
359
371
  state, import/copy caps, explicit `dedupeDncProviderExclusions:true` or an
360
372
  equivalent exclusions object, row ids or row-count evidence (`rowCount`,
@@ -419,9 +431,10 @@ before writing JSON; do not leave only raw objects like
419
431
  Self-check shorthand: top-level `planRevision`, `actionId`, `laneKey`, `laneType`, `workspaceId`, and `senderIds` must exist before worker completion.
420
432
  Self-check shorthand: `campaignBriefReceipt.briefHash`,
421
433
  `campaignBriefReceipt.deliveryFormat`, `campaignBriefReceipt.tokenRules`,
422
- `campaignBriefReceipt.hardAvoids`, `campaignBriefReceipt.sourceUseRules`, and
423
- `campaignBriefReceipt.firstMessageTemplate` must exist as exact canonical keys
424
- before worker completion.
434
+ `campaignBriefReceipt.hardAvoids`, and `campaignBriefReceipt.sourceUseRules`
435
+ must exist as exact canonical keys before worker completion, plus
436
+ `campaignBriefReceipt.firstMessageTemplate` only for Post Engagers lanes and
437
+ `campaignBriefReceipt.firstMessageTemplateState` for shared lanes.
425
438
  Self-check shorthand: `sourceDecisionReceipt.dedupeDncProviderExclusions`,
426
439
  `sourceDecisionReceipt.sourceLadderReason`, and one of
427
440
  `sourceDecisionReceipt.rowCount`, `sourceDecisionReceipt.rowIdsHash`, or
@@ -493,7 +506,8 @@ verification unless the same object also appears inside
493
506
  "tokenRules": true,
494
507
  "hardAvoids": true,
495
508
  "sourceUseRules": true,
496
- "firstMessageTemplate": "<template or template state>"
509
+ "firstMessageTemplate": "<Post Engagers only warm template; omit for shared lanes>",
510
+ "firstMessageTemplateState": "<Shared lanes only: not preset; generate-messages branch selected the final message approach>"
497
511
  },
498
512
  "sourceDecisionReceipt": {
499
513
  "sourceId": "<source id>",
@@ -646,6 +660,11 @@ such as "my post", "thanks for showing support", "saw you pop up", or any copy
646
660
  that implies the sending sender authored the source post or personally received
647
661
  the prospect's engagement unless the selected source evidence proves that exact
648
662
  sender authored the post.
663
+ Shared lanes must reject generic product-summary samples that explain the
664
+ product in the same broad words for every row. Shared lanes must reject three
665
+ nearly identical samples after stripping the leading name. If either failure
666
+ appears, revise or rerun the packaged create-campaign/generate-messages path
667
+ from the lane worker before writing a success receipt.
649
668
  The generated-message cells are not prompt proof: `currentRevisionGeneratedMessages`,
650
669
  Generate Message column counts, `messagesCount`, or rendered row previews prove
651
670
  only that table cells exist from the current brief/template, not that the
@@ -678,6 +697,15 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
678
697
  - Post Engagers lanes: that sender's ID only. Shared lanes: all the senders' IDs.
679
698
  - The brief and message direction are lane-specific. Never reuse the Post
680
699
  Engagers opening for Shared Cold Fallback.
700
+ - The warm post-engager first-message template is allowed only for
701
+ sender-owned Post Engagers lanes. Do not pass the warm template into Shared
702
+ Signal Discovery or Shared Cold Fallback; those shared lanes must arrive at
703
+ their copy through Message Drafting and generated-message validation.
704
+ Short form: warm post-engager first-message template is allowed only for sender-owned Post Engagers lanes.
705
+ Short form: Do not pass the warm template into Shared Signal Discovery or Shared Cold Fallback.
706
+ Short form: Shared lanes must reject generic product-summary samples.
707
+ Short form: Shared lanes must reject three nearly identical samples.
708
+ Short form: revise or rerun the packaged create-campaign/generate-messages path.
681
709
  - **Post Engagers** first-message style: short, casual, references the
682
710
  sender-authored post they engaged with, closed question, **no internal
683
711
  vocabulary, no pitch, no meeting ask** in message one:
@@ -738,7 +766,10 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
738
766
  already launched and must be reported separately, and `ARCHIVED` must be
739
767
  repaired only when the prompt explicitly allows dashboard visibility repair.
740
768
  - A full campaign brief exists, including delivery format, token rules,
741
- hard avoids, source-use rules, and the approved first-message template.
769
+ hard avoids, and source-use rules. Post Engagers require an approved warm
770
+ first-message template. Shared Signal Discovery and Shared Cold Fallback
771
+ require `firstMessageTemplateState` with the no-preset generate-messages
772
+ marker instead of a copied first-message template.
742
773
  - A source/list decision has been resolved and campaign rows are loaded. If
743
774
  there is no approved source or no rows can be copied, report `blocked` with
744
775
  the missing source detail; do not call the campaign complete.
@@ -760,10 +791,13 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
760
791
  `get_campaign_message_preparation_status`. The generated-message cells are
761
792
  not prompt proof; `currentRevisionGeneratedMessages` and row previews are
762
793
  only downstream cell evidence. The proof must include
763
- `validationResult:"passed"`, a passed quality review, and at least 3
764
- reviewed sample messages. For Shared Cold Fallback, reject samples that
765
- open with a standalone name followed by "Hey there" or a similarly generic
766
- greeting.
794
+ `validationResult:"passed"`, a passed quality review, and at least 3
795
+ reviewed sample messages. For Shared Cold Fallback, reject samples that
796
+ open with a standalone name followed by "Hey there" or a similarly generic
797
+ greeting. For all shared lanes, reject generic product-summary samples,
798
+ repeated near-identical samples, and any preserved Post Engagers opener;
799
+ revise or rerun the packaged create-campaign/generate-messages path before
800
+ reporting completion.
767
801
  - The first review batch exists and at least 3 review rows have generated
768
802
  messages from the approved brief. If fewer than 3 usable rows exist, report
769
803
  the actual count and why.