@sellable/mcp 0.1.79 → 0.1.80
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
|
@@ -548,6 +548,12 @@ Message` rendered as the recipient would see it, in addition to the approved
|
|
|
548
548
|
settings review in the pre-mint approval packet. Those come after mint. The
|
|
549
549
|
pre-mint packet approves only the brief, lead source, lead filter/rubric, and
|
|
550
550
|
first message direction.
|
|
551
|
+
- Do not include post-accept DMs, connection-accepted follow-ups, day-2 / day-7
|
|
552
|
+
follow-ups, second touches, reply branches, or any other sequence-shaped copy
|
|
553
|
+
in `message-review.md` or the pre-mint approval packet. If
|
|
554
|
+
`message-validation.md` contains those, mark the message review as
|
|
555
|
+
`revise-messaging` and route back to message generation even if the artifact
|
|
556
|
+
says `Status: confirmed`.
|
|
551
557
|
- Persist `customer-roleplay.md` when a customer/operator roleplay critique is
|
|
552
558
|
run. This critique can recommend a decision, but it can never authorize mint.
|
|
553
559
|
- Persist `commit-gate-decision.md` with exactly one of the six gate choices.
|
|
@@ -1018,7 +1024,7 @@ mcp__sellable__get_subskill_prompt({ subskillName: "generate-messages", offset,
|
|
|
1018
1024
|
|
|
1019
1025
|
Continue chunked-read until `hasMore=false`. Treat all chunks as one prompt load. Follow it verbatim once loaded. The same directive is locked in `flow.v2.json::messageGeneration.toolRules`.
|
|
1020
1026
|
|
|
1021
|
-
Do NOT proceed to Step 4 (message review gate) without loading and following the full generate-messages workflow. `message-validation.md` must prove the full workflow ran (all required sections present + raw sendable Selected Winner) before `message-review.md` can recommend `approve-message`. If the message review or approval packet is ready but the generate-messages prompt was not retrieved in this run, route back to message-generation instead of asking the commit gate.
|
|
1027
|
+
Do NOT proceed to Step 4 (message review gate) without loading and following the full generate-messages workflow. `message-validation.md` must prove the full workflow ran (all required sections present + raw sendable Selected Winner + explicit single-send-unit PASS) before `message-review.md` can recommend `approve-message`. If the message review or approval packet is ready but the generate-messages prompt was not retrieved in this run, route back to message-generation instead of asking the commit gate. If `message-validation.md` contains post-accept DM, follow-up, second-touch, cadence, branch, or other sequence-shaped copy, do not summarize it as ready; route back to message-generation and require a single first outbound send.
|
|
1022
1028
|
|
|
1023
1029
|
## Tail (MANDATORY TOOL ORDER + Steps 13-16 + Threshold Trips + Hard Rules)
|
|
1024
1030
|
|
|
@@ -81,9 +81,13 @@ populated:
|
|
|
81
81
|
`Required Keep Rules`, `Required Exclude Rules`, `Pass Rate`,
|
|
82
82
|
`Recommendation`, and `Implementation Details` sections
|
|
83
83
|
- `message-validation.md` has `Status: confirmed`, `Mode: DRY MODE (no DB mutation)`,
|
|
84
|
-
a `Selected Winner`,
|
|
84
|
+
a `Selected Winner`, a non-empty `Token Adherence Table`, and an explicit
|
|
85
|
+
single-send-unit PASS with no post-accept DM, follow-up, cadence, branch, or
|
|
86
|
+
sequence-shaped copy in the first-message artifact
|
|
85
87
|
|
|
86
|
-
An empty anchor blocks `approve`.
|
|
88
|
+
An empty anchor blocks `approve`. Sequence-shaped message output also blocks
|
|
89
|
+
`approve` even when the copy quality is otherwise strong. The user can still
|
|
90
|
+
pick a revision choice.
|
|
87
91
|
|
|
88
92
|
## Approval Packet
|
|
89
93
|
|
|
@@ -154,6 +158,14 @@ review in the pre-mint approval packet. Those are configured and reviewed after
|
|
|
154
158
|
the campaign is created in the autonomous tail. The pre-mint packet approves
|
|
155
159
|
only the brief, lead source, lead filter/rubric, and first message direction.
|
|
156
160
|
|
|
161
|
+
Do not include or summarize post-accept DMs, connection-accepted follow-ups,
|
|
162
|
+
day-2 / day-7 follow-ups, second touches, reply branches, or any other
|
|
163
|
+
sequence-shaped copy in `message-review.md` or `approval-packet.md`. If
|
|
164
|
+
`message-validation.md` contains those, mark the message review as
|
|
165
|
+
`Recommendation: revise-messaging` and route back to message generation. Do not
|
|
166
|
+
approve by selecting only the first part of the sequence; the validation
|
|
167
|
+
artifact itself must be corrected so the approved template is unambiguous.
|
|
168
|
+
|
|
157
169
|
The packet must include a dedicated `## Message Review` section immediately
|
|
158
170
|
before `## Approved Message Template`. This is the customer-facing messaging
|
|
159
171
|
gate. It should not be a raw validation dump; it should answer:
|
|
@@ -169,6 +181,9 @@ draft if useful, mark `Recommendation: revise-messaging`, and route the user to
|
|
|
169
181
|
the `revise-messaging` commit-gate option instead of implying the campaign is
|
|
170
182
|
ready.
|
|
171
183
|
|
|
184
|
+
If the validation contains post-accept DM or follow-up copy, treat it exactly
|
|
185
|
+
like `revise-message` even if the artifact says `Status: confirmed`.
|
|
186
|
+
|
|
172
187
|
If `message-validation.md` has an extractable `Selected Winner`, the packet's
|
|
173
188
|
`## Approved Message Template` must use that winner exactly, except for
|
|
174
189
|
supported prospect-row `{{tokens}}`. Do not write a fresh approval-template
|
|
@@ -561,6 +561,11 @@ The winner entry must:
|
|
|
561
561
|
`[insert ...]`, or `[generated ...]`. If the only scalable option needs a
|
|
562
562
|
deferred per-row instruction, route to `revise-message` and fix the
|
|
563
563
|
token plan instead.
|
|
564
|
+
- contain exactly one outbound send unit. Do not include post-accept DMs,
|
|
565
|
+
follow-ups, second touches, cadence branches, sequence notes, or later-message
|
|
566
|
+
copy in the Selected Winner or nearby rendered examples. If a later message
|
|
567
|
+
idea is useful, keep it out of the generated first-message artifact and put it
|
|
568
|
+
in an internal finding for post-mint sequence work.
|
|
564
569
|
- never use generic signal tokens like `{{recentSignal}}`,
|
|
565
570
|
`{{recent_signal}}`, or `{{recent_signal_quote}}`. If row personalization
|
|
566
571
|
is needed in the raw selected winner, render the concrete sentence from
|
|
@@ -1046,6 +1051,41 @@ This applies to:
|
|
|
1046
1051
|
|
|
1047
1052
|
Truth is not enough. The line must do a job for the prospect.
|
|
1048
1053
|
|
|
1054
|
+
### Single-send-unit gate (HARD INVARIANT)
|
|
1055
|
+
|
|
1056
|
+
Dry-mode create-campaign-v2 message generation approves the **first outbound
|
|
1057
|
+
send only**. The Selected Winner must be exactly one send unit for one channel:
|
|
1058
|
+
one INVITE, one INMAIL_OPEN / INMAIL_CLOSED body plus optional subject, or one
|
|
1059
|
+
DM body when the campaign explicitly starts with DM.
|
|
1060
|
+
|
|
1061
|
+
Do not generate, approve, or include sequence-shaped copy in
|
|
1062
|
+
`message-validation.md`, `message-review.md`, selected copy, rendered examples,
|
|
1063
|
+
token notes, findings, or recommendation text.
|
|
1064
|
+
|
|
1065
|
+
Blocked sequence-shaped outputs include:
|
|
1066
|
+
|
|
1067
|
+
- post-accept DMs
|
|
1068
|
+
- connection-accepted follow-ups
|
|
1069
|
+
- day-2 / day-7 follow-ups
|
|
1070
|
+
- second touches
|
|
1071
|
+
- "reply/acceptance" branches
|
|
1072
|
+
- cadence notes
|
|
1073
|
+
- fallback send paths as copy
|
|
1074
|
+
- any "INVITE + DM", "InMail + follow-up", or multi-step message plan
|
|
1075
|
+
|
|
1076
|
+
If a proof, PS, Loom, setup link, or meta-demo line cannot fit in the first send
|
|
1077
|
+
unit, either compress it into that first send unit or omit it. Do not move it to
|
|
1078
|
+
a later message. Preserve the idea as an internal `Findings` note only if it is
|
|
1079
|
+
useful after campaign mint.
|
|
1080
|
+
|
|
1081
|
+
Before returning `Status: confirmed`, run this explicit check:
|
|
1082
|
+
|
|
1083
|
+
`Single send unit: PASS | BLOCKED — reason`
|
|
1084
|
+
|
|
1085
|
+
If BLOCKED, set `Recommendation: revise-message` and rewrite the Selected
|
|
1086
|
+
Winner until it contains only the first outbound send. A message can be strong
|
|
1087
|
+
and still be invalid if it requires a post-accept DM or other sequence copy.
|
|
1088
|
+
|
|
1049
1089
|
Use the 4-block shape below as the default packaging only when it helps
|
|
1050
1090
|
the reply reason land. If a different shape is more natural, shorter, or
|
|
1051
1091
|
more compelling for this offer, use it and explain why in `Packaging
|
|
@@ -2216,6 +2256,8 @@ hiring for`
|
|
|
2216
2256
|
- No semicolons or `X here` sender fragments: PASS | BLOCKED — reason
|
|
2217
2257
|
- CTA is useful and low-friction: PASS | BLOCKED — reason
|
|
2218
2258
|
- Every line has a prospect-side "so what?": PASS | BLOCKED — reason
|
|
2259
|
+
- Single send unit only, with no post-accept DM/follow-up/sequence copy:
|
|
2260
|
+
PASS | BLOCKED — reason
|
|
2219
2261
|
- Winner clearly beats rejected drafts: PASS | BLOCKED — reason
|
|
2220
2262
|
- Decision: confirmed | revise-message | revise-filter
|
|
2221
2263
|
|
|
@@ -2247,6 +2289,8 @@ Automatic failures in dry mode:
|
|
|
2247
2289
|
- no compelling proof element despite the brief supporting one
|
|
2248
2290
|
- a CTA that depends on missing proof
|
|
2249
2291
|
- copy that fails the Thomas revision filters
|
|
2292
|
+
- any post-accept DM, follow-up, second touch, cadence branch, or sequence copy
|
|
2293
|
+
in the first-message validation artifact
|
|
2250
2294
|
- any mutation tool usage
|
|
2251
2295
|
|
|
2252
2296
|
## Workflow
|