@sellable/mcp 0.1.20 → 0.1.21
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/README.md
CHANGED
|
@@ -83,14 +83,14 @@ The token is provided when you generate it. Use `list_workspaces` +
|
|
|
83
83
|
For customer/package installs, use the public installer:
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
npx -y @sellable/install@0.1.
|
|
86
|
+
npx -y @sellable/install@0.1.21 --host codex --token skt_live_your_token_here --workspace-id your_workspace_id
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
If you already have `~/.sellable/config.json`, rerun/verify without rewriting
|
|
90
90
|
auth:
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
npx -y @sellable/install@0.1.
|
|
93
|
+
npx -y @sellable/install@0.1.21 --host codex
|
|
94
94
|
sellable --verify-only --host codex
|
|
95
95
|
```
|
|
96
96
|
|
package/package.json
CHANGED
|
@@ -324,7 +324,7 @@ me`, `I’ll paste a different sender profile`, and `Other / custom`.
|
|
|
324
324
|
strategic choice or the user has not already made the direction obvious. The
|
|
325
325
|
user-facing choice should be approve/revise language, not "looks good".
|
|
326
326
|
Approval options should refer to what the user just read, e.g. `Approve this
|
|
327
|
-
|
|
327
|
+
brief`, `Revise target`, `Revise offer/proof`, and `Other / custom`.
|
|
328
328
|
Include `Open artifacts:` links to `brief-v1.md` and `brief.md` before the
|
|
329
329
|
approval question.
|
|
330
330
|
|
|
@@ -861,23 +861,26 @@ Orchestration requirements:
|
|
|
861
861
|
with `Status: message-review` as the first visible line. Do not put a
|
|
862
862
|
markdown heading, preface, or summary before that status line. This is a
|
|
863
863
|
customer checkpoint, not an audit report: show the approved campaign message
|
|
864
|
-
template first, then show
|
|
865
|
-
|
|
864
|
+
template first, then show one filled sample prospect version immediately after
|
|
865
|
+
it so the user can judge whether the tokens are being used correctly. Then
|
|
866
|
+
show rendered examples that prove the tokens fill well and can be omitted
|
|
867
|
+
cleanly when row data is weak. Keep the detailed
|
|
866
868
|
gold-standard/rule audit inside `message-validation.md`, not in the
|
|
867
869
|
user-facing review. The review must use this exact label shape so the gate can
|
|
868
|
-
be parsed: `Subject: ...`, `
|
|
869
|
-
`
|
|
870
|
-
`My take: ...`, `Suggested adjustment: ...`,
|
|
870
|
+
be parsed: `Subject: ...`, `Tokenized template: ...`, `Sample prospect fill:
|
|
871
|
+
...`, `Rendered examples: ...`, `Good token fill: ...`, `Good omit: ...`,
|
|
872
|
+
`Token notes: ...`, `My take: ...`, `Suggested adjustment: ...`,
|
|
871
873
|
`Question: approve-message or revise-messaging?`, `Recommendation:
|
|
872
874
|
approve-message|revise-messaging`.
|
|
873
875
|
- Never ask the message approval question until the full message review is
|
|
874
876
|
visible in the chat. A summary like `Message review is ready` or `the draft
|
|
875
|
-
|
|
876
|
-
the actual tokenized message template,
|
|
877
|
-
good omit example, token notes, your take,
|
|
878
|
-
any `approve-message` /
|
|
879
|
-
|
|
880
|
-
message
|
|
877
|
+
avoids a generic pitch` is not enough. The user must see the actual subject,
|
|
878
|
+
the actual tokenized message template, one filled sample prospect version, at
|
|
879
|
+
least one good filled example, one good omit example, token notes, your take,
|
|
880
|
+
and the suggested adjustment before any `approve-message` /
|
|
881
|
+
`revise-messaging` question appears. If you catch yourself wanting to offer
|
|
882
|
+
`show me message` as a choice, stop: render the message review first, then ask
|
|
883
|
+
only `approve-message` or `revise-messaging`.
|
|
881
884
|
Include `Open artifacts:` links to `message-review.md` and
|
|
882
885
|
`message-validation.md` before the approval question.
|
|
883
886
|
- `My take:` and `Suggested adjustment:` are mandatory customer-facing decision
|
|
@@ -886,7 +889,7 @@ approve-message|revise-messaging`.
|
|
|
886
889
|
non-empty, specific to the current message, and useful for one last manual
|
|
887
890
|
feedback pass. Never render a message review that jumps straight from token
|
|
888
891
|
notes to `Question:` or `Recommendation:`.
|
|
889
|
-
- `
|
|
892
|
+
- `Tokenized template:` in `message-review.md` must be a tokenized template with supported
|
|
890
893
|
enriched-row tokens such as `{{first_name}}`, `{{company}}`,
|
|
891
894
|
`{{workflow_context}}`, `{{headline}}`, `{{source_post_topic}}`, or
|
|
892
895
|
`{{row_proof_note}}`. It must not be a one-row-only raw sample. It must
|
|
@@ -894,12 +897,20 @@ approve-message|revise-messaging`.
|
|
|
894
897
|
enriched rows can actually fill or safely omit. If you cannot produce a
|
|
895
898
|
tokenized template from supported enriched-row fields, stop with
|
|
896
899
|
`Recommendation: revise-messaging`.
|
|
900
|
+
- `Sample prospect fill:` must render the same template for one named sample
|
|
901
|
+
prospect from `lead-sample.json` or the selected row used in
|
|
902
|
+
`message-validation.md`. It must show the complete subject and body the
|
|
903
|
+
prospect would receive, plus a one-line `Token fill basis:` naming which row
|
|
904
|
+
fields filled each token. This is the user-facing proof that the template
|
|
905
|
+
works. Do not ask for approval if the user cannot compare the template to a
|
|
906
|
+
concrete filled message.
|
|
897
907
|
- `{{profile_signal}}` is never a supported customer-facing token. It is an
|
|
898
|
-
internal enrichment label and must not appear in `Subject:`, `
|
|
899
|
-
rendered examples, `Token notes:`,
|
|
900
|
-
`approval-packet.md`. If a
|
|
901
|
-
|
|
902
|
-
`{{workflow_context}}` or
|
|
908
|
+
internal enrichment label and must not appear in `Subject:`, `Tokenized
|
|
909
|
+
template:`, `Sample prospect fill:`, rendered examples, `Token notes:`,
|
|
910
|
+
`message-validation.md` selected copy, or `approval-packet.md`. If a
|
|
911
|
+
profile-derived signal matters, translate it into a buyer-readable derived
|
|
912
|
+
token with a clear fill rule, such as `{{workflow_context}}` or
|
|
913
|
+
`{{row_proof_note}}`; otherwise omit the line.
|
|
903
914
|
- `Rendered examples:` must include at least one `Good token fill:` rendered
|
|
904
915
|
message where the row has a clean signal and one `Good omit:` rendered message
|
|
905
916
|
where an optional token line is omitted instead of forced. Each example must
|
|
@@ -936,12 +947,12 @@ approve-message|revise-messaging`.
|
|
|
936
947
|
`thought this was relevant enough`, `seemed close
|
|
937
948
|
enough`, `{{profile_signal}}`, `profile signal`, `is why I thought this might
|
|
938
949
|
be relevant`, `Austin's`, a sender/founder name in the subject, a one-row raw
|
|
939
|
-
sample under `
|
|
950
|
+
sample under `Tokenized template:`, rendered examples without full copy, a
|
|
940
951
|
mail-merge-sounding tokenized opener, missing or empty `My take:`, missing or
|
|
941
952
|
empty `Suggested adjustment:`, `My take:` that only says `looks good`,
|
|
942
953
|
`strong`, or `approved`, `Suggested adjustment:` that only says `none`, or no
|
|
943
|
-
literal `{{...}}` token in `
|
|
944
|
-
Do not output
|
|
954
|
+
literal `{{...}}` token in `Tokenized template:`, revise the message before
|
|
955
|
+
showing it. Do not output
|
|
945
956
|
`Recommendation: approve-message` when any hard-fail preflight item is
|
|
946
957
|
present.
|
|
947
958
|
- `My take` must be 1-3 short bullets or sentences, focused on what a founder
|
|
@@ -1086,7 +1097,9 @@ Do not:
|
|
|
1086
1097
|
|
|
1087
1098
|
- `Status: message-review`
|
|
1088
1099
|
- `Subject:` using the approved tokenized A + B + C subject shape
|
|
1089
|
-
- `
|
|
1100
|
+
- `Tokenized template:` followed by the tokenized approved message template
|
|
1101
|
+
- `Sample prospect fill:` with one concrete sample prospect's complete rendered
|
|
1102
|
+
subject + body and a `Token fill basis:` line
|
|
1090
1103
|
- `Rendered examples:`
|
|
1091
1104
|
- `Good token fill:` with a complete concrete rendered subject + body
|
|
1092
1105
|
- `Good omit:` with a complete concrete rendered subject + body where optional
|
|
@@ -1220,11 +1233,13 @@ Anchor validation (block `approve` when empty):
|
|
|
1220
1233
|
`Pass Rate`, `Recommendation`, and `Implementation Details`
|
|
1221
1234
|
- `message-validation.md` has `Status: confirmed`, `Mode: DRY MODE (no DB
|
|
1222
1235
|
mutation)`, a `Selected Winner`, and a non-empty `Token Adherence Table`
|
|
1223
|
-
- `message-review.md` has `Status: message-review`, `Subject:`,
|
|
1224
|
-
with at least one literal `{{...}}` token,
|
|
1225
|
-
`
|
|
1226
|
-
|
|
1227
|
-
|
|
1236
|
+
- `message-review.md` has `Status: message-review`, `Subject:`,
|
|
1237
|
+
`Tokenized template:` with at least one literal `{{...}}` token,
|
|
1238
|
+
`Sample prospect fill:` with a complete rendered subject + body and
|
|
1239
|
+
`Token fill basis:`, `Rendered examples:`, `Good token fill:` with a complete
|
|
1240
|
+
rendered subject + body, `Good omit:` with a complete rendered subject + body,
|
|
1241
|
+
`Token notes:`, `My take:`, `Suggested adjustment:`, `Question:
|
|
1242
|
+
approve-message or revise-messaging?`, and
|
|
1228
1243
|
`Recommendation: approve-message`
|
|
1229
1244
|
- `message-review-decision.md` is exactly `approve-message`
|
|
1230
1245
|
|
|
@@ -65,8 +65,10 @@ or plain paths to the files behind the decision. The artifact links are a backup
|
|
|
65
65
|
for inspection, not a replacement for showing the content in chat.
|
|
66
66
|
|
|
67
67
|
This applies especially to message approvals. Never ask someone to approve a
|
|
68
|
-
message they cannot see. Show the subject,
|
|
69
|
-
omit example, token notes, your take, and suggested adjustment
|
|
68
|
+
message they cannot see. Show the subject, tokenized template, a filled sample
|
|
69
|
+
prospect version, omit example, token notes, your take, and suggested adjustment
|
|
70
|
+
first. The user should be able to compare "here is the template" against "here
|
|
71
|
+
is what one real prospect would receive" before approving.
|
|
70
72
|
|
|
71
73
|
## Progress Updates
|
|
72
74
|
|
|
@@ -603,7 +603,8 @@
|
|
|
603
603
|
"requiredInlineMarker": "Status: message-review",
|
|
604
604
|
"panels": [
|
|
605
605
|
"subject",
|
|
606
|
-
"
|
|
606
|
+
"tokenized template",
|
|
607
|
+
"sample prospect fill",
|
|
607
608
|
"rendered examples",
|
|
608
609
|
"token notes",
|
|
609
610
|
"my take",
|
|
@@ -620,7 +621,8 @@
|
|
|
620
621
|
"artifactLinkTiming": "before_approval_question",
|
|
621
622
|
"requiredLabels": [
|
|
622
623
|
"Subject:",
|
|
623
|
-
"
|
|
624
|
+
"Tokenized template:",
|
|
625
|
+
"Sample prospect fill:",
|
|
624
626
|
"Rendered examples:",
|
|
625
627
|
"Good token fill:",
|
|
626
628
|
"Good omit:",
|
|
@@ -640,6 +642,7 @@
|
|
|
640
642
|
"no generic signal tokens",
|
|
641
643
|
"no bracketed or deferred row instructions",
|
|
642
644
|
"tokenized template with rendered examples",
|
|
645
|
+
"tokenized template plus filled sample prospect",
|
|
643
646
|
"complete rendered subject plus body examples",
|
|
644
647
|
"message-review hard-fail preflight",
|
|
645
648
|
"A + B + C subject quality",
|
|
@@ -658,7 +661,8 @@
|
|
|
658
661
|
"questionPrerequisiteVisibleLabels": [
|
|
659
662
|
"Status: message-review",
|
|
660
663
|
"Subject:",
|
|
661
|
-
"
|
|
664
|
+
"Tokenized template:",
|
|
665
|
+
"Sample prospect fill:",
|
|
662
666
|
"Rendered examples:",
|
|
663
667
|
"Good token fill:",
|
|
664
668
|
"Good omit:",
|