@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.341",
3
+ "version": "0.1.343-phase102.202607122257",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code, Codex, and Hermes",
6
6
  "bin": {
@@ -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`, and
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. Poll
328
- `get_refill_target_plan` every 60-120 seconds, or on the host's next continuation
329
- interval, until projected coverage fills the target, a concrete non-scheduler
330
- blocker appears, or Christian explicitly asks to stop or only receive a status
331
- report. Treat `awaiting_scheduler_after_ready_buffer` as an in-progress wait
332
- state, not a close-out condition.
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