@sellable/install 0.1.202 → 0.1.203

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.
@@ -169,6 +169,13 @@ When reporting branch runtime proof, use this shape under
169
169
 
170
170
  Do not tell the UI to show Message Draft Builder as running unless this proof
171
171
  exists and points at the current non-empty campaign-table execution slice.
172
+ If the host cannot launch a background branch and the parent thread runs this
173
+ same contract inline, report `statusSource: "parent-thread-fallback"` and
174
+ `status: "fallback-active"` while working, then `status: "ready"` when the
175
+ inline recommendation passes. A validated parent-thread fallback is not a
176
+ background worker failure; it must satisfy the same live-context, prompt,
177
+ reference-asset, and validation requirements before the parent shows message
178
+ review.
172
179
 
173
180
  ## Basis Changes And Rewrites
174
181
 
@@ -1184,8 +1184,8 @@ updates.
1184
1184
  call \`mcp__sellable__update_campaign({ campaignId, enableICPFilters: true, currentStep: "create-icp-rubric", watchNarration })\`
1185
1185
  so the watched app moves to Filter Rules while rubrics are drafted/saved.
1186
1186
  After rubrics save, keep Filter Rules visible for approval; after approval,
1187
- move to Filter Leads and show \`Filters saved + waiting for message approval\`
1188
- until the template is approved.
1187
+ move to Filter Leads with \`currentStep: "apply-icp-rubric"\` and wait there
1188
+ while Message Drafting finishes or the template is approved.
1189
1189
  If filters are skipped, launch Message Drafting before moving to
1190
1190
  Messages/message review; updating \`currentStep\` to \`messages\` is not proof
1191
1191
  that the background worker started. Queue the bounded campaign-table
@@ -1200,8 +1200,7 @@ updates.
1200
1200
  the brief, \`pick-provider\` or the selected provider step while sourcing,
1201
1201
  \`filter-choice\` after source rows are copied into the campaign table, \`create-icp-rubric\` as soon
1202
1202
  as filters are chosen and while saved filters await approval,
1203
- \`apply-icp-rubric\` after filter approval while message approval is pending,
1204
- and after message approval while bounded enrichment/filter scoring runs, \`validate-sample\` only as a recovery/legacy
1203
+ \`apply-icp-rubric\` after filter approval while message approval is pending and while bounded enrichment/filter scoring runs after approval, \`validate-sample\` only as a recovery/legacy
1205
1204
  observation state,
1206
1205
  \`auto-execute-messaging\` after at least one row passes and initial campaign-row
1207
1206
  messages are being generated or reviewed, \`awaiting-user-greenlight\` only
@@ -2492,10 +2491,7 @@ function verify(opts) {
2492
2491
  const pluginMcpContent = existsSync(pluginMcpPath)
2493
2492
  ? readFileSync(pluginMcpPath, "utf8")
2494
2493
  : "";
2495
- const hasCodexMcpDriver = hasWatchModeDriverMarker(
2496
- configContent,
2497
- "codex"
2498
- );
2494
+ const hasCodexMcpDriver = hasWatchModeDriverMarker(configContent, "codex");
2499
2495
  const hasCodexPluginDriver = hasWatchModeDriverMarker(
2500
2496
  pluginMcpContent,
2501
2497
  "codex"
@@ -2951,7 +2947,9 @@ async function main() {
2951
2947
  const token = rawArgs[2];
2952
2948
  const authSetFlags = rawArgs.slice(3);
2953
2949
  const dryRun = authSetFlags.includes("--dry-run");
2954
- const unknownAuthSetFlag = authSetFlags.find((arg) => arg !== "--dry-run");
2950
+ const unknownAuthSetFlag = authSetFlags.find(
2951
+ (arg) => arg !== "--dry-run"
2952
+ );
2955
2953
  if (unknownAuthSetFlag) {
2956
2954
  console.error(`Unknown auth set option: ${unknownAuthSetFlag}`);
2957
2955
  process.exit(2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.202",
3
+ "version": "0.1.203",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -93,8 +93,9 @@ message-template approval before enrichment/filtering or Generate Message cells.
93
93
  Filter work stays in the parent thread and must inspect visible campaign rows
94
94
  with `get_rows_minimal` / `get_rows` before drafting and saving rubrics; use at
95
95
  most one direct `enrich_with_prospeo` sample when row evidence is too thin.
96
- After filter approval, Filter Leads should show `Filters saved + waiting for
97
- message approval` until the template is approved.
96
+ After filter approval, the browser should move to Filter Leads with
97
+ `currentStep: "apply-icp-rubric"` and show template waiting/approval copy until
98
+ the template is approved.
98
99
  The default path stays the existing first campaign-table execution slice:
99
100
  review the normal `reviewBatchLimit:15`, approve reviewed draft rows, then move
100
101
  to Settings/sequence/final greenlight. Only call
@@ -431,13 +432,12 @@ from the same campaign/table basis. This kickoff is required for both answers:
431
432
  `Use filters` and `Skip filters`. If the user chooses filters, the parent
432
433
  thread moves to Filter Rules, loads the filter reference, saves rubrics, then
433
434
  asks for filter approval while Message Drafting runs. After approval, move to
434
- Filter Leads and show `Filters saved + waiting for message approval` while the
435
- message recommendation is reviewed. If the user skips filters, start Message
436
- Drafting first, then move to Messages/message review after it has started or
437
- returned a ready recommendation. `update_campaign({ currentStep: "messages" })`
438
- is not proof of kickoff. Enrichment/filtering and Generate Message cells wait
439
- for message approval. AI Generated is an explicit opt-out from the template
440
- path.
435
+ Filter Leads with `currentStep: "apply-icp-rubric"` and wait there while Message
436
+ Drafting finishes or the recommendation is reviewed. If the user skips filters, start Message Drafting
437
+ first, then move to Messages/message review after it has started or returned a
438
+ ready recommendation. `update_campaign({ currentStep: "messages" })` is not
439
+ proof of kickoff. Enrichment/filtering and Generate Message cells wait for
440
+ message approval. AI Generated is an explicit opt-out from the template path.
441
441
 
442
442
  The Message Drafting handoff must stay lean. Include only `campaignId`,
443
443
  `workflowTableId`, a concise brief summary, concise source summary/source-use
@@ -970,8 +970,8 @@ updates.
970
970
  so the watched app moves to Filter Rules while the parent drafts/saves
971
971
  rubrics and Message Drafting runs.
972
972
  After rubrics save, keep Filter Rules visible for approval; after approval,
973
- move to Filter Leads and show `Filters saved + waiting for message approval`
974
- until the template is approved.
973
+ move to Filter Leads with `currentStep: "apply-icp-rubric"` and wait there
974
+ while Message Drafting finishes or the template is approved.
975
975
  If filters are skipped, launch Message Drafting before moving to
976
976
  Messages/message review; updating `currentStep` to `messages` is not proof
977
977
  that the background worker started. Queue the bounded campaign-table
@@ -986,8 +986,7 @@ updates.
986
986
  the brief, `pick-provider` or the selected provider step while sourcing,
987
987
  `filter-choice` after source rows are copied into the campaign table, `create-icp-rubric` as soon
988
988
  as filters are chosen and while saved filters await approval,
989
- `apply-icp-rubric` after filter approval while message approval is pending,
990
- and after message approval while bounded enrichment/filter scoring runs, `validate-sample` only as a recovery/legacy
989
+ `apply-icp-rubric` after filter approval while message approval is pending and while bounded enrichment/filter scoring runs after approval, `validate-sample` only as a recovery/legacy
991
990
  observation state,
992
991
  `auto-execute-messaging` after at least one row passes and initial campaign-row
993
992
  messages are being generated or reviewed, `awaiting-user-greenlight` only