@sellable/install 0.1.271 → 0.1.272
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
|
@@ -926,32 +926,48 @@ verify and do not repair by summarizing product readback in the parent.
|
|
|
926
926
|
Message Drafting runtime rule: the preferred proof source is the normal
|
|
927
927
|
create-campaign branch handoff (`watchNarration.workerDetails.messageDraftBuilder`
|
|
928
928
|
or equivalent) with `statusSource:"branch"`. If that internal branch handoff is
|
|
929
|
-
not callable or not exposed in the packaged MCP runtime, do **not**
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
929
|
+
not callable or not exposed in the packaged MCP runtime, do **not** substitute
|
|
930
|
+
plain row generation. The lane worker must inline the same
|
|
931
|
+
`post-find-leads-message-scout` contract in the worker thread before any
|
|
932
|
+
`start_campaign_message_preparation` call:
|
|
933
|
+
|
|
934
|
+
1. Run the `post-find-leads-message-scout` branch, or inline its packaged
|
|
935
|
+
contract when branch launch is unavailable, from the current campaign/table,
|
|
936
|
+
selected lead list, saved filters, review batch row ids/hash, brief hash,
|
|
937
|
+
`mode:"create-campaign-v2"`, and lane type.
|
|
938
|
+
2. Load `get_subskill_prompt({ subskillName:"generate-messages" })` until
|
|
939
|
+
`hasMore:false`, all required message assets, and
|
|
940
|
+
`create-campaign-v2-validation`.
|
|
941
|
+
3. Produce a concrete `messageDraftRecommendation` before row generation. It
|
|
942
|
+
must include the selected message approach/template recommendation,
|
|
943
|
+
token/fill rules, source-use rules, hard avoids, at least one rendered good
|
|
944
|
+
sample, current campaign/table/source basis, and validation status. Shared
|
|
945
|
+
lanes still use `firstMessageTemplateState:"not preset; generate-messages
|
|
946
|
+
branch selected the final message approach"`; do not set
|
|
947
|
+
`firstMessageTemplate` for shared lanes.
|
|
948
|
+
4. Persist the recommendation into the campaign brief/message generation basis
|
|
949
|
+
with the packaged create-campaign tools before generating rows. If the
|
|
950
|
+
generated copy fails review, update the campaign brief/message template with
|
|
951
|
+
`update_campaign_brief` or `revise_message_template_and_rerun`, then rerun
|
|
952
|
+
Generate Message and review current-revision generated output.
|
|
953
|
+
5. Only after the scout recommendation and persisted basis exist, call
|
|
954
|
+
`start_campaign_message_preparation({ campaignId, tableId,
|
|
937
955
|
targetPreparedMessages, maxRowsToCheck, approvalMode:"mark_ready",
|
|
938
956
|
autoContinue:true })` inside the same lane worker, with bounded caps from the
|
|
939
|
-
lane packet.
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
957
|
+
lane packet. `start_campaign_message_preparation` is row execution proof
|
|
958
|
+
only; it is not Message Drafting proof and cannot satisfy this step by
|
|
959
|
+
itself. Never call `start_campaign_message_preparation` with
|
|
960
|
+
`approvalMode:"approve"` for evergreen setup.
|
|
961
|
+
Generate/readiness and approval are separate safety steps: first mark rows
|
|
962
|
+
ready, then inspect generated copy, then approve exactly one semantic
|
|
963
|
+
Approved cell through `select_campaign_cells` and `update_cell`.
|
|
945
964
|
Approval shorthand: approve exactly one semantic Approved cell.
|
|
946
965
|
In this message-drafting path, `update_cell` is allowed only for the semantic
|
|
947
966
|
Approved checkbox. Do not use `update_cell` or any row/cell write to edit
|
|
948
967
|
generated message text, sample copy, or final message bodies in automation.
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
`sampleMessages` must come from generated current-revision cells after the
|
|
953
|
-
brief/template rerun, not from hand-edited message cell overrides. If a lane
|
|
954
|
-
used a generated-message body override, report
|
|
968
|
+
Receipt `sampleMessages` must come from generated current-revision cells
|
|
969
|
+
after the brief/template rerun, not from hand-edited message cell overrides.
|
|
970
|
+
If a lane used a generated-message body override, report
|
|
955
971
|
`blocked: generated_message_cell_override` instead of success.
|
|
956
972
|
Do not repair by overwriting bad generated message cells and then calling the
|
|
957
973
|
overwritten cells `sampleMessages`.
|
|
@@ -962,9 +978,9 @@ path itself in the worker thread:
|
|
|
962
978
|
Short form: `update_cell` is allowed only for the semantic Approved checkbox.
|
|
963
979
|
Short form: Do not use `update_cell` to edit generated message text.
|
|
964
980
|
Short form: Bad copy requires brief/template revision plus Generate Message rerun.
|
|
965
|
-
|
|
981
|
+
6. Poll `get_campaign_message_preparation_status` until no queued/active cells
|
|
966
982
|
remain or a bounded stop reason is returned.
|
|
967
|
-
|
|
983
|
+
7. Use `get_campaign_messages_preview` or `select_campaign_cells` to inspect
|
|
968
984
|
generated rows, quality-review at least 3 samples, approve exactly one
|
|
969
985
|
quality-valid route-proof row when none is already approved, and prove no
|
|
970
986
|
broad approve-all happened.
|
|
@@ -974,16 +990,21 @@ path itself in the worker thread:
|
|
|
974
990
|
approvedGeneratedMessageCount exactly 1. Do not report completion with 2+
|
|
975
991
|
approved rows.
|
|
976
992
|
Approval shorthand: Do not report completion with 2+ approved rows.
|
|
977
|
-
|
|
993
|
+
8. Continue to `attach_recommended_sequence({ campaignId, currentStep:"send" })`
|
|
978
994
|
and, if the campaign is still `DRAFT`, `pause_campaign({ campaignId })`.
|
|
979
995
|
Reread the campaign/table before claiming completion.
|
|
980
996
|
|
|
981
997
|
That packaged worker path must return `messageDraftingReceipt.statusSource:
|
|
982
998
|
"packaged-generate-messages-worker"`. It is accepted only when the receipt
|
|
983
|
-
includes
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
999
|
+
includes branch-equivalent `post-find-leads-message-scout` proof, the
|
|
1000
|
+
`messageDraftRecommendation`, proof the recommendation was persisted into the
|
|
1001
|
+
brief/message basis before row generation, the prompt/assets/validation proof,
|
|
1002
|
+
current campaign/table/source basis, generated review rows, sample messages,
|
|
1003
|
+
quality review, route-proof approval evidence, sequence proof, and final
|
|
1004
|
+
paused-send proof required of the branch handoff. `statusSource:
|
|
1005
|
+
"parent-thread-fallback"` is still invalid. If neither branch handoff nor
|
|
1006
|
+
inline scout proof can run, stop with `blocked:
|
|
1007
|
+
missing_message_drafting_branch`; do not shortcut through row prep.
|
|
987
1008
|
The only accepted statusSource values are exactly `branch` and
|
|
988
1009
|
`packaged-generate-messages-worker`; descriptive aliases such as
|
|
989
1010
|
`package-readback-local-thread` are rejected.
|
|
@@ -1337,16 +1358,25 @@ Message, and verify current-revision sample messages before final completion.
|
|
|
1337
1358
|
Short form: missing or skipped filter proof is `blocked: missing_filter_setup`.
|
|
1338
1359
|
Short form: run Message Drafting only after saved filters are applied.
|
|
1339
1360
|
- Every customer-visible lane must run Message Drafting from the current
|
|
1340
|
-
campaign/table basis after source rows exist
|
|
1341
|
-
|
|
1342
|
-
`
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1361
|
+
campaign/table basis after source rows exist and saved filters are
|
|
1362
|
+
applied. The worker must use the normal
|
|
1363
|
+
`post-find-leads-message-scout` branch handoff or inline that same scout
|
|
1364
|
+
contract when branch launch is unavailable. Plain
|
|
1365
|
+
`start_campaign_message_preparation` is row execution proof only; it is
|
|
1366
|
+
not a fallback substitute for Message Drafting. The worker must load the
|
|
1367
|
+
full packaged `generate-messages` prompt, every required asset, and
|
|
1368
|
+
`create-campaign-v2-validation`; before row generation, the receipt must
|
|
1369
|
+
show branch-equivalent scout proof, a concrete
|
|
1370
|
+
`messageDraftRecommendation`, and proof that recommendation was persisted
|
|
1371
|
+
into the campaign brief/message generation basis. Only then may the
|
|
1372
|
+
worker call `start_campaign_message_preparation` and poll
|
|
1373
|
+
`get_campaign_message_preparation_status` from the lane worker. The
|
|
1374
|
+
returned receipt must include `statusSource:"branch"` or
|
|
1375
|
+
`statusSource:"packaged-generate-messages-worker"`, at least 3 concrete
|
|
1376
|
+
reviewed sample messages, a passed validation result, and a passed quality
|
|
1377
|
+
review. Row/message counts alone are not enough. If the branch handoff and
|
|
1378
|
+
inline scout contract are both unavailable, report
|
|
1379
|
+
`blocked: missing_message_drafting_branch`.
|
|
1350
1380
|
|
|
1351
1381
|
- **The brief must declare the delivery format** so Generate Message writes copy suited to how it actually sends:
|
|
1352
1382
|
- DM lanes: add a `Delivery format:` line — either `multiline (each paragraph sends as its own DM message)` or `single message`. When multiline, the template's blank-line paragraphs ARE the message boundaries — write each one as a standalone typed message.
|
|
@@ -1384,12 +1414,15 @@ Message, and verify current-revision sample messages before final completion.
|
|
|
1384
1414
|
`hasMore:false`, required message assets were loaded, and
|
|
1385
1415
|
`create-campaign-v2-validation` ran through
|
|
1386
1416
|
`workerDetails.messageDraftBuilder` with `statusSource:"branch"` or
|
|
1387
|
-
through the lane worker's
|
|
1388
|
-
`statusSource:"packaged-generate-messages-worker"
|
|
1389
|
-
|
|
1417
|
+
through the lane worker's inline `post-find-leads-message-scout` contract
|
|
1418
|
+
with `statusSource:"packaged-generate-messages-worker"`. For the packaged
|
|
1419
|
+
worker path, proof must include branch-equivalent scout proof, a concrete
|
|
1420
|
+
`messageDraftRecommendation`, template/basis persistence proof before row
|
|
1421
|
+
generation, `start_campaign_message_preparation`, and
|
|
1390
1422
|
`get_campaign_message_preparation_status`. The generated-message cells are
|
|
1391
1423
|
not prompt proof; `currentRevisionGeneratedMessages` and row previews are
|
|
1392
|
-
only downstream cell evidence.
|
|
1424
|
+
only downstream cell evidence. Row prep alone is not prompt proof. The
|
|
1425
|
+
proof must include
|
|
1393
1426
|
`validationResult:"passed"`, a passed quality review, and at least 3
|
|
1394
1427
|
reviewed sample messages. For Shared Cold Fallback, reject samples that
|
|
1395
1428
|
open with a standalone name followed by "Hey there" or a similarly generic
|