@sellable/install 0.1.255 → 0.1.257

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.255",
3
+ "version": "0.1.257",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: create-evergreen-campaigns
3
3
  description: Reconcile a sender team's evergreen campaigns — create-or-reuse the standing campaigns (per-sender post engagers + shared signal/cold lanes) idempotently, and when asked for customer-ready/full setup, complete each customer-visible campaign to paused send review with brief, rows, generated review messages, one approval gate row, and sequence. Never duplicates, never launches.
4
- visibility: internal
4
+ visibility: public
5
5
  ---
6
6
 
7
7
  # Create Evergreen Campaigns
@@ -396,6 +396,14 @@ Use a compact worker prompt: include lane packet JSON, original selectedActionId
396
396
  original planRevision, parent postEngagerSenderIds, parent sharedSenderIds,
397
397
  receiptArtifactPath, workspace id, sender ids, side-effect caps, and the
398
398
  instruction to load packaged prompts through MCP.
399
+ The worker prompt must include the exact filter status rule:
400
+ `filterDecisionReceipt.status:"applied"` only; never `completed`, `confirmed`,
401
+ `done`, or any other alias.
402
+ The worker prompt must include the generated-message write rule: `update_cell`
403
+ is allowed only for the semantic Approved checkbox, never for generated message
404
+ text/body/sample copy. Bad copy requires `revise_message_template_and_rerun` or
405
+ brief/template revision plus Generate Message rerun; any generated-message cell
406
+ override is `blocked: generated_message_cell_override`.
399
407
  Do not paste the entire wrapper skill into worker prompts. If the parent cannot
400
408
  launch at least one visible/durable worker immediately after directory setup,
401
409
  stop with `blocked: worker_dispatch_stalled` before any mutation.
@@ -435,6 +443,8 @@ Worker lane packet JSON:
435
443
  Load `$sellable:create-campaign` and nested prompts/assets through Sellable MCP loaders.
436
444
  Use mcp__sellable only. Do not use admin tools, direct DB, Prisma, SQL, web search, or browser search.
437
445
  Do not launch, start, schedule, send, or use paid InMail.
446
+ For filter proof, durable receipt status must be `filterDecisionReceipt.status:"applied"` only; never `completed`, `confirmed`, `done`, or aliases.
447
+ For generated messages, `update_cell` is allowed only for the semantic Approved checkbox. Never use `update_cell` for generated message text/body/sample copy. Bad copy requires `revise_message_template_and_rerun` or brief/template revision plus Generate Message rerun. Any generated-message cell override is `blocked: generated_message_cell_override`.
438
448
  Complete only this lane, write the required durable receipt JSON, and stop.
439
449
  WORKER_PROMPT
440
450
 
@@ -585,10 +595,11 @@ not a parent-thread summary. The receipt must include:
585
595
  `filterDecisionReceipt.savedRubricCount`, or
586
596
  `filterDecisionReceipt.headlineICPCriteria`.
587
597
  The exact status string is contractual: use `status:"applied"` only.
588
- Do not write `status:"confirmed"`, `status:"saved"`, `status:"done"`, or
589
- any other alias after saving filters; the parent verifier rejects those
590
- aliases even when saved rubric proof exists.
598
+ Do not write `status:"completed"`, `status:"confirmed"`, `status:"saved"`,
599
+ `status:"done"`, or any other alias after saving filters; the parent verifier
600
+ rejects those aliases even when saved rubric proof exists.
591
601
  Short form: Filter receipt status must be exactly `applied`.
602
+ Short form: Do not write `filterDecisionReceipt.status:"completed"`.
592
603
  Short form: Do not write `filterDecisionReceipt.status:"confirmed"`.
593
604
  - `messageDraftingReceipt`: the Message Drafting proof described below,
594
605
  including packaged `generate-messages` prompt/assets and validation. Raw
@@ -826,6 +837,12 @@ path itself in the worker thread:
826
837
  brief/template rerun, not from hand-edited message cell overrides. If a lane
827
838
  used a generated-message body override, report
828
839
  `blocked: generated_message_cell_override` instead of success.
840
+ Do not repair by overwriting bad generated message cells and then calling the
841
+ overwritten cells `sampleMessages`.
842
+ `messageDraftingReceipt.qualityReview.repairNote`,
843
+ `messageDraftingReceipt.toolsUsed`, or any proof mentioning generated
844
+ message cell repair through `update_cell` is self-incriminating and must be
845
+ `blocked: generated_message_cell_override`.
829
846
  Short form: `update_cell` is allowed only for the semantic Approved checkbox.
830
847
  Short form: Do not use `update_cell` to edit generated message text.
831
848
  Short form: Bad copy requires brief/template revision plus Generate Message rerun.
@@ -1072,16 +1089,19 @@ Message, and verify current-revision sample messages before final completion.
1072
1089
  Do not use low-confidence relevance hedges such as "hope this is
1073
1090
  relevant" in Shared Signal Discovery samples. Translate source/tool terms
1074
1091
  into prospect-facing business language; do not put internal workflow
1075
- vocabulary such as "Codex-style workflow", "MCP", "agent workflows", or
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.
1092
+ vocabulary such as "Codex-style workflow", "MCP", "agent workflows",
1093
+ "Claude Code", or "Claude-style agent workflows" in customer-facing
1094
+ message one. Also avoid generic product-process nouns such as "dashboard",
1095
+ "workflow", "source", "send-ready copy", "reviewed prospect lists",
1096
+ "reviewed pipeline", "leads, filters, messages", "review-ready LinkedIn
1097
+ sequence", "plain-language campaign idea into leads/filters/messages",
1098
+ and "sequence" unless the recipient's own product/category makes that
1099
+ exact word buyer-native.
1080
1100
  Short form: Shared Signal Discovery uses no self-intro such as "I'm building Sellable".
1081
1101
  Short form: Shared Signal Discovery uses no self-intro such as "We're building Sellable".
1082
1102
  Short form: Shared Signal Discovery uses no "I've put together".
1083
1103
  Short form: no low-confidence relevance hedge such as "hope this is relevant".
1084
- Short form: no internal workflow vocabulary such as "Codex-style workflow", "MCP", "agent workflows", or "Claude-style agent workflows".
1104
+ Short form: no internal workflow vocabulary such as "Codex-style workflow", "MCP", "agent workflows", "Claude Code", or "Claude-style agent workflows".
1085
1105
  - **Shared Cold Fallback** first-message style: cold, direct, and cohesive.
1086
1106
  It must not pretend there was engagement, must not say "saw you pop up",
1087
1107
  and must not use a standalone name line followed by "Hey there" or other
@@ -1285,7 +1305,7 @@ Message, and verify current-revision sample messages before final completion.
1285
1305
  **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.
1286
1306
  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.
1287
1307
  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.
1288
- 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. Extract samples from nested `createCampaignStepReceipt.messageDraftingReceipt.sampleMessages`, not from top-level summaries; extract samples from nested `createCampaignStepReceipt.messageDraftingReceipt.sampleMessages` when building the final answer. Prefer the approved route-proof row when it is quality-valid; otherwise use the best reviewed generated row from the verified receipt. A final `passed` sample must have `issues:[]`; if every reviewed sample has issues, report the lane as needing message revision instead of presenting a passed sample. 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.
1308
+ 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. Extract samples from nested `createCampaignStepReceipt.messageDraftingReceipt.sampleMessages`, not from top-level summaries; extract samples from nested `createCampaignStepReceipt.messageDraftingReceipt.sampleMessages` when building the final answer. Prefer the approved route-proof row when it is quality-valid; otherwise use the best reviewed generated row from the verified receipt. A final `passed` sample must have `issues:[]`; if every reviewed sample has issues, report the lane as needing message revision instead of presenting a passed sample. Never approve or final-report sample text produced by manual `update_cell` body edits. 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.
1289
1309
  If the `Sample Messaging Review` section is omitted, the command is incomplete even when the structural campaign setup succeeded.
1290
1310
  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:
1291
1311