@sellable/install 0.1.341 → 0.1.343-phase102.202607122257
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
|
@@ -6,6 +6,7 @@ allowed-tools:
|
|
|
6
6
|
- mcp__sellable__get_auth_status
|
|
7
7
|
- mcp__sellable__start_cli_login
|
|
8
8
|
- mcp__sellable__wait_for_cli_login
|
|
9
|
+
- mcp__sellable__validate_campaign1_kickoff_handoff
|
|
9
10
|
- mcp__sellable__bootstrap_create_campaign
|
|
10
11
|
- mcp__sellable__get_subskill_prompt
|
|
11
12
|
- mcp__sellable__get_subskill_asset
|
|
@@ -808,6 +809,30 @@ sender context, not a customer-facing campaign identity concept.
|
|
|
808
809
|
|
|
809
810
|
### Sufficient Intake Bypass
|
|
810
811
|
|
|
812
|
+
If the invocation includes the exact `handoffMarkdown` and `binding` returned
|
|
813
|
+
by a finalized `admin_onboarding_call`, call
|
|
814
|
+
`mcp__sellable__validate_campaign1_kickoff_handoff` before any strategy
|
|
815
|
+
question. Pass the expected visible revision plus the exact client, sender,
|
|
816
|
+
workspace, and engagement identity resolved for this invocation. The transport
|
|
817
|
+
is inline Markdown only: reject a public Notion URL, do not fetch or scrape it,
|
|
818
|
+
and do not read a hidden file or receipt.
|
|
819
|
+
|
|
820
|
+
On a valid `sellable.kickoff.campaign1.v1` result, use only the returned typed
|
|
821
|
+
`intake` and `campaignBriefMarkdown` as sufficient intake. Verify the public
|
|
822
|
+
sender identity with the normal lightweight profile/research completion path,
|
|
823
|
+
then create the watchable shell from that returned brief. Do not ask product,
|
|
824
|
+
ICP/audience, offer/CTA, proof, exclusions, or Signal Discovery questions
|
|
825
|
+
again. The LinkedIn topics, creators, posts, conversations, and participant
|
|
826
|
+
behavior are the sole source thesis. Dream account and lookalikes are
|
|
827
|
+
qualitative fit examples only and must never become provider/account seeds.
|
|
828
|
+
|
|
829
|
+
If validation fails, stop before `create_campaign`, source search, import, or
|
|
830
|
+
any other campaign mutation and show the typed validation error. Never fall
|
|
831
|
+
back to surrounding agenda prose. A valid handoff skips factual discovery only:
|
|
832
|
+
the visible brief/watch approval, Find Buyers Plan approval, separate Start
|
|
833
|
+
Import approval, filter and message approvals, sender/sequence setup, and final
|
|
834
|
+
Start approval all remain mandatory and ordered exactly as in the normal flow.
|
|
835
|
+
|
|
811
836
|
When the user's invocation or first answer already supplies the campaign
|
|
812
837
|
identity plus enough strategy context to draft the campaign, do not turn that
|
|
813
838
|
into an interview. Treat setup as complete when the request contains:
|
|
@@ -223,13 +223,17 @@ Structured planner packet:
|
|
|
223
223
|
campaign/sender/lane summary, skipped rungs, existing-row frontier proof, and
|
|
224
224
|
any absolute `wait.deadlineAt`.
|
|
225
225
|
- Preserve these coverage labels exactly: `Need to prepare`, `Goal`,
|
|
226
|
-
`Already sent`, `Scheduled`, `Ready and waiting to be scheduled`,
|
|
227
|
-
`Still need`.
|
|
226
|
+
`Already sent`, `Scheduled`, `Ready and waiting to be scheduled`,
|
|
227
|
+
`Still need to schedule`, and `Still need to prepare`. Never render an
|
|
228
|
+
unlabeled `Still need` value.
|
|
228
229
|
- `target.globalActionQueue` is the only cross-sender yolo execution queue.
|
|
229
230
|
Execute exactly one globally ranked primitive from
|
|
230
231
|
`target.globalActionQueue[0]`, then rerun `get_refill_target_plan` with the
|
|
231
232
|
same `workspaceId` before
|
|
232
233
|
choosing another action.
|
|
234
|
+
- When that primitive is `run_scheduler_sweep`, show `workspaceWide:true` and
|
|
235
|
+
its reason in the approval/yolo packet so the operator sees that the sweep
|
|
236
|
+
may schedule other eligible workspace cells on the approved date.
|
|
233
237
|
- `manualAlternates` are not yolo actions. Threshold lowering and campaign
|
|
234
238
|
creation are manual continuations only.
|
|
235
239
|
|
|
@@ -324,12 +328,16 @@ If the target plan is complete by projected coverage, report that the selected
|
|
|
324
328
|
target is already filled and no-op without asking for approval. If the ready
|
|
325
329
|
buffer covers the projected gap, paid InMail credit facts are fresh for every
|
|
326
330
|
selected paid-InMail lane, but scheduled coverage is still short, keep the run
|
|
327
|
-
open in a persistent read-only scheduler wait loop.
|
|
328
|
-
`get_refill_target_plan`
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
open in a persistent read-only scheduler wait loop. Honor the emitted wait
|
|
332
|
+
metadata: reread `get_refill_target_plan` after about 30 seconds by default (or
|
|
333
|
+
the action's explicit `rereadAfterMs`), never use a blind hard-coded sleep, and
|
|
334
|
+
stop at the named bound using `receipt_deadline > unchanged_poll_bound >
|
|
335
|
+
run_budget` precedence. A matching active/uncertain request key is never
|
|
336
|
+
redispatched. Continue until projected coverage fills the target, a concrete
|
|
337
|
+
non-scheduler blocker appears, a named bound stops the run, or Christian
|
|
338
|
+
explicitly asks to stop or only receive a status report. Treat
|
|
339
|
+
`awaiting_scheduler_after_ready_buffer` as an in-progress wait state, not a
|
|
340
|
+
close-out condition.
|
|
333
341
|
Wait actions are gates, not competing goals. When `wait_for_active_work` or
|
|
334
342
|
`wait_for_scheduler` includes receipt `wait.deadlineAt`, honor that absolute
|
|
335
343
|
deadline; if it is expired on this call, escalate to diagnostics with the
|