@sellable/install 0.1.244 → 0.1.245

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.244",
3
+ "version": "0.1.245",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -490,8 +490,19 @@ not a parent-thread summary. The receipt must include:
490
490
  evidence field such as `rowCount`, `rowIdsHash`, or `rowEvidence`; do not
491
491
  leave those only in `searchSignalsProof`, `importProof`, `coldFallbackProof`,
492
492
  or narrative text for the parent/verifier to infer.
493
- - `filterDecisionReceipt`: saved/applied filter ids or explicit skip-filter
494
- decision with current campaign/table basis.
493
+ - `filterDecisionReceipt`: saved/applied ICP filter proof for the current
494
+ campaign/table basis. Customer-visible evergreen lanes must enable ICP
495
+ filtering with `enableICPFilters:true`, call `save_rubrics`, and save at
496
+ least three rubric/filter criteria before Message Drafting. Do not skip
497
+ filtering for evergreen setup. Missing or skipped filter proof is
498
+ `blocked: missing_filter_setup`.
499
+ Before the worker exits, the durable JSON must contain
500
+ `filterDecisionReceipt.status:"applied"`,
501
+ `filterDecisionReceipt.enableICPFilters:true`, the current
502
+ `workflowTableId`, and concrete saved-filter proof such as
503
+ `filterDecisionReceipt.filterIds`, `filterDecisionReceipt.rubricIds`,
504
+ `filterDecisionReceipt.savedRubricCount`, or
505
+ `filterDecisionReceipt.headlineICPCriteria`.
495
506
  - `messageDraftingReceipt`: the Message Drafting proof described below,
496
507
  including packaged `generate-messages` prompt/assets and validation. Raw
497
508
  fields like `generateMessagesPromptLoadedToHasMoreFalse`,
@@ -627,7 +638,12 @@ verification unless the same object also appears inside
627
638
  "sourceLadderReason": "<why the current source is valid before colder sources>"
628
639
  },
629
640
  "filterDecisionReceipt": {
630
- "status": "skipped",
641
+ "status": "applied",
642
+ "enableICPFilters": true,
643
+ "filterIds": ["<saved filter/rubric id>"],
644
+ "rubricIds": ["<saved rubric id>"],
645
+ "headlineICPCriteria": ["<saved ICP criterion>", "<saved ICP criterion>", "<saved ICP criterion>"],
646
+ "savedRubricCount": 3,
631
647
  "workflowTableId": "<workflow table id>"
632
648
  },
633
649
  "messageDraftingReceipt": {
@@ -919,10 +935,34 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
919
935
  Short form: Shared Cold Fallback uses no "I've put together".
920
936
  Short form: Shared Cold Fallback uses no opt-out shrug such as "If this isn't relevant, ignore me".
921
937
  Short form: Shared Cold Fallback uses no product-stack dump.
922
- - Every customer-visible lane must run Message Drafting from the current
923
- campaign/table basis after source rows exist. The worker must load the full
924
- packaged `generate-messages` prompt, every required asset, and
925
- `create-campaign-v2-validation`; if the internal branch handoff is not
938
+ - Customer-visible evergreen lanes must enable ICP filtering before Message
939
+ Drafting. This applies to Post Engagers, Shared Signal Discovery, and
940
+ Shared Cold Fallback. Do not skip filtering for evergreen setup, even when
941
+ the source is warm. Use the normal `$sellable:create-campaign` filter
942
+ workflow: set or save 3-5 headline ICP criteria, call `save_rubrics`, and
943
+ persist `enableICPFilters:true` on the campaign before generating
944
+ messages. Good evergreen filters should be light but real: role/budget
945
+ relevance, company/market fit, and obvious non-buyer exclusion. For
946
+ Post Engagers, keep filters permissive enough that warm source rows are not
947
+ over-pruned, but still save the filter rules. For shared lanes, filter for
948
+ buyers/operators relevant to the workspace offer and exclude students,
949
+ job seekers, vendors, and off-topic commenters. The receipt must show
950
+ `filterDecisionReceipt.status:"applied"`,
951
+ `filterDecisionReceipt.enableICPFilters:true`, current `workflowTableId`,
952
+ and saved filter/rubric proof with at least three saved rubric/filter
953
+ criteria (`filterIds`, `rubricIds`, `headlineICPCriteria`, or
954
+ `savedRubricCount`). Missing or skipped filter proof is
955
+ `blocked: missing_filter_setup`.
956
+ Short form: Customer-visible evergreen lanes must enable ICP filtering.
957
+ Short form: `enableICPFilters:true`.
958
+ Short form: Do not skip filtering for evergreen setup.
959
+ Short form: at least three saved rubric/filter criteria.
960
+ Short form: missing or skipped filter proof is `blocked: missing_filter_setup`.
961
+ Short form: run Message Drafting only after saved filters are applied.
962
+ - Every customer-visible lane must run Message Drafting from the current
963
+ campaign/table basis after source rows exist. The worker must load the full
964
+ packaged `generate-messages` prompt, every required asset, and
965
+ `create-campaign-v2-validation`; if the internal branch handoff is not
926
966
  callable in the packaged runtime, the worker must call
927
967
  `start_campaign_message_preparation` and poll
928
968
  `get_campaign_message_preparation_status` from the lane worker. The
@@ -952,10 +992,13 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
952
992
  - A source/list decision has been resolved and campaign rows are loaded. If
953
993
  there is no approved source or no rows can be copied, report `blocked` with
954
994
  the missing source detail; do not call the campaign complete.
955
- - The filter step is resolved: either saved/applied filters are present, or
956
- the campaign explicitly skipped filters. Do not leave customer-visible
957
- campaigns at `filter-choice`, `filter-rules`, or `apply-icp-rubric` and
958
- report success.
995
+ - The filter step is resolved with saved/applied filters. Customer-visible
996
+ evergreen lanes must have `enableICPFilters:true`, at least three saved
997
+ ICP filter/rubric criteria, and a receipt with
998
+ `filterDecisionReceipt.status:"applied"`. Do not skip filters for
999
+ evergreen setup. Do not leave customer-visible campaigns at
1000
+ `filter-choice`, `filter-rules`, or `apply-icp-rubric` and report success.
1001
+ Do not proceed to Message Drafting until saved filters are applied.
959
1002
  - Message Drafting has run from the current campaign/table basis, using the
960
1003
  create-campaign message prompt/assets and validation gate. Updating
961
1004
  `currentStep:"messages"` is not proof. Parent-thread handwritten copy is