@sellable/mcp 0.1.135 → 0.1.136

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.
@@ -565,7 +565,11 @@ until the filter choice is resolved and the template is ready for approval.`
565
565
  `get_rows_minimal` proves rows exist, the Message Draft Builder must start
566
566
  from the live campaign brief, source decision, lead sample, and imported
567
567
  campaign table sample. Do not show `Message Draft Builder: In Progress` unless
568
- the worker or parent-thread fallback has actually started. It can prepare
568
+ the worker or parent-thread fallback has actually started and runtime proof is
569
+ stored or returned as `watchNarration.workerDetails.messageDraftBuilder` with
570
+ `runId` or `fallbackId`, `statusSource`, `status`, `startedAt`, `updatedAt`,
571
+ `basisToken`, and the current `selectedLeadListId`/`workflowTableId`/
572
+ review-batch row basis. It can prepare
569
573
  proof inventory, token strategy, and candidate angles while filter-leads
570
574
  tightens keep/exclude rules. Template review cannot start
571
575
  until filter choice is answered and rubrics are saved. If filters are enabled,
@@ -616,6 +620,15 @@ until the filter choice is resolved and the template is ready for approval.`
616
620
  launch both branches together, this is still the two Task/Agent subagents
617
621
  path; otherwise message-generation starts first and filter-leads joins after
618
622
  the filter choice.
623
+ - Runtime proof is part of the branch contract, not optional UI decoration.
624
+ `watchNarration.workerDetails.messageDraftBuilder.status` may be
625
+ `branch-running`, `fallback-active`, `spawn-failed`,
626
+ `fallback-superseded`, `branch-superseded`, `ready`, `blocked`,
627
+ `retry-needed`, or `stale`. Running copy requires `branch-running` with
628
+ `runId` or `fallback-active` with `fallbackId`; ready copy requires compact
629
+ output from the current basis. Spawn failures, stale output, or retry-needed
630
+ states show blocked/retry copy. Late fallback/branch outputs that are
631
+ superseded by a newer basis must not override the current worker status.
619
632
  - Never run a downstream stage until the active `flow.v2.json` step's required
620
633
  campaign state and required normal inputs exist. In normal customer runs, do
621
634
  not create optional debug artifacts just to satisfy a file gate.
@@ -635,13 +648,21 @@ until the filter choice is resolved and the template is ready for approval.`
635
648
  batch`, and a no-launch safety note. Do not leave the guide saying
636
649
  `source approved` or `I'll show the review-batch outcome` once import is
637
650
  starting.
638
- - After the bounded review batch is present, update the watched browser to
639
- `currentStep: "filter-choice"` with `watchNarration.stage: "fit-message"` and
640
- ask the user to Choose filters or skip. If import succeeds but row readback
641
- returns zero rows, do not move to filter choice; keep the user in source/import
642
- recovery and ask whether to retry import, import more from the approved
643
- source, or revise source. Active filtering starts only after rubrics are
644
- saved; do not say filtering the batch before rubrics are saved.
651
+ - After `import_leads` starts a provider/source import and the watched browser
652
+ moves to `confirm-lead-list`, the guide must describe the visible import
653
+ progress, not source approval. Use copy like `Scraping source leads from
654
+ posts` for Signal Discovery or `Importing source leads` for Sales Nav/Prospeo.
655
+ Do not leave `Review the source in Codex` while the Signals/Sales Nav/Prospeo
656
+ import progress page is visible.
657
+ - After the bounded review batch is present, the watched browser must move to
658
+ `currentStep: "filter-choice"` with `watchNarration.stage: "fit-message"` in
659
+ the same visible beat. Use copy like `I recommend adding filters`: say the
660
+ visible sample is in the campaign table, recommend adding filters when the
661
+ imported rows look mixed/noisy, and ask the user to choose filters or skip. If import
662
+ succeeds but row readback returns zero rows, do not move to filter choice; keep
663
+ the user in source/import recovery and ask whether to retry import, import more
664
+ from the approved source, or revise source. Active filtering starts only after
665
+ rubrics are saved; do not say filtering the batch before rubrics are saved.
645
666
  - When the user chooses filters, immediately persist `enableICPFilters: true`
646
667
  and `currentStep: "create-icp-rubric"` so the watched app leaves the filter
647
668
  choice screen and shows that Codex is defining the rules in chat. After Lead
@@ -1313,6 +1334,14 @@ normal live campaign path; those files are optional debug context only. If the
1313
1334
  long prompt plus safety gate cannot safely approve the draft, stop at
1314
1335
  `revise-messaging` with the exact failure.
1315
1336
 
1337
+ Return compact output to the parent: template recommendation, token fill rules,
1338
+ one rendered sample, concerns, status, basis token, output timestamp/hash, and
1339
+ error or retry detail. The basis must include campaign revision/updatedAt, brief
1340
+ hash, `selectedLeadListId`, `workflowTableId`, bounded review-batch row
1341
+ ids/hash, filter choice, and filter/rubric basis when present. Do not write
1342
+ message cells, enrich rows, attach sequence, or imply send readiness from this
1343
+ background branch.
1344
+
1316
1345
  Do NOT proceed to Step 4 (message review gate) unless the user has answered
1317
1346
  filter choice, the watched app is still on Filter Leads while approval is
1318
1347
  pending, and `message-validation.md` contains the safety-gate required