@sellable/install 0.1.293 → 0.1.294
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/bin/sellable-install.mjs
CHANGED
|
@@ -1974,14 +1974,15 @@ ${allowedToolsYaml(REFILL_SENDS_ALLOWED_TOOLS)}
|
|
|
1974
1974
|
Use this as the customer-facing entrypoint for the Sellable \`refill-sends\`
|
|
1975
1975
|
workflow. It supports \`--yolo\` and optional repeated \`--sender <name-or-id>\`
|
|
1976
1976
|
selectors. It also supports \`--until YYYY-MM-DD\` to fill through a specific
|
|
1977
|
-
sender-local date instead of the default
|
|
1977
|
+
sender-local date instead of the default scheduler-forward 48-hour target window.
|
|
1978
1978
|
|
|
1979
1979
|
Goal-mode continuation: a skill cannot create or invoke \`/goal\` by itself. If
|
|
1980
1980
|
this command is already running inside an active Codex goal, keep that goal open
|
|
1981
|
-
until every selected sender lane is
|
|
1982
|
-
(\`sent + scheduled\`)
|
|
1983
|
-
concrete non-scheduler blocker appears.
|
|
1984
|
-
only because the current state is
|
|
1981
|
+
until every selected sender lane is filled by projected coverage
|
|
1982
|
+
(\`sent + scheduled\`) for the scheduler-forward target window, Christian
|
|
1983
|
+
explicitly stops/statuses the run, or a concrete non-scheduler blocker appears.
|
|
1984
|
+
Do not call the goal complete or blocked only because the current state is
|
|
1985
|
+
\`awaiting_scheduler_after_ready_buffer\`; treat it as loaded, awaiting scheduler.
|
|
1985
1986
|
|
|
1986
1987
|
## Bootstrap
|
|
1987
1988
|
|
package/package.json
CHANGED
|
@@ -138,10 +138,10 @@ explicit user selection; it is never the default response to plain fill. When
|
|
|
138
138
|
choosing among active targets, use refill-state scheduled-count evidence to
|
|
139
139
|
continue the campaign that most recently had scheduler-owned sends for the
|
|
140
140
|
relevant sender set; do not treat every active campaign as a refill candidate.
|
|
141
|
-
In `--yolo` fill/refill mode, default to one best recent-send campaign and
|
|
142
|
-
|
|
143
|
-
ready-to-schedule rows from healthy sender daily capacity,
|
|
144
|
-
that bounded gap.
|
|
141
|
+
In `--yolo` fill/refill mode, default to one best recent-send campaign and the
|
|
142
|
+
scheduler-forward 48-hour target window: subtract future scheduler-owned
|
|
143
|
+
scheduled sends and ready-to-schedule rows from healthy sender daily capacity,
|
|
144
|
+
then prepare only that bounded gap.
|
|
145
145
|
When more leads are needed, the refill workflow must recommend same-campaign
|
|
146
146
|
source-ladder replenishment first; do not create warm-post-engager side
|
|
147
147
|
campaigns, on-demand campaigns, or unrelated campaigns. If same-source copy hits
|
|
@@ -70,7 +70,7 @@ Accepted invocation flags in the same user request:
|
|
|
70
70
|
- `--sender <name-or-id>`: scope to a specific sender; repeat for multiple
|
|
71
71
|
senders.
|
|
72
72
|
- `--until <YYYY-MM-DD>`: fill through that sender-local date, inclusive,
|
|
73
|
-
instead of the default
|
|
73
|
+
instead of the default scheduler-forward 48-hour target window.
|
|
74
74
|
- `senderIds: <id>, <id>` or `senderNames: <name>, <name>`: explicit selector
|
|
75
75
|
alternatives when the host preserves natural-language arguments better than
|
|
76
76
|
shell-style flags.
|
|
@@ -99,10 +99,11 @@ resolver.
|
|
|
99
99
|
|
|
100
100
|
Goal-mode continuation: a skill cannot create or invoke `/goal` by itself. When
|
|
101
101
|
this command is already running inside an active Codex goal, keep that goal open
|
|
102
|
-
until every selected sender lane is
|
|
103
|
-
(`sent + scheduled`)
|
|
104
|
-
|
|
105
|
-
because the current state is
|
|
102
|
+
until every selected sender lane is filled by projected coverage
|
|
103
|
+
(`sent + scheduled`) for the scheduler-forward target window, Christian
|
|
104
|
+
explicitly stops/statuses the run, or a concrete non-scheduler blocker appears.
|
|
105
|
+
Do not call the goal complete or blocked only because the current state is
|
|
106
|
+
`awaiting_scheduler_after_ready_buffer`; treat it as loaded, awaiting scheduler.
|
|
106
107
|
|
|
107
108
|
Load the internal workflow prompt before taking any operational step:
|
|
108
109
|
|
|
@@ -210,32 +211,33 @@ return concrete continuation options with campaign names, exact ids, which optio
|
|
|
210
211
|
is already covered by the current packet, and which option needs a new approval
|
|
211
212
|
packet.
|
|
212
213
|
|
|
213
|
-
For `--yolo` fill/schedule requests, completion means projected
|
|
214
|
-
|
|
215
|
-
Maintain a
|
|
216
|
-
gross capacity, actual sent cells, future
|
|
217
|
-
non-null `scheduledFor`, projected count,
|
|
218
|
-
projected gap, paid-InMail feasibility,
|
|
219
|
-
`stateRevision`, and the next MCP primitive that can
|
|
220
|
-
apply/prep/start result, wait for processing, reread
|
|
221
|
-
state, recompute the ledger, then keep applying safe
|
|
222
|
-
projected coverage fills the
|
|
223
|
-
proven.
|
|
214
|
+
For `--yolo` fill/schedule requests, completion means projected saturation
|
|
215
|
+
(`sent + scheduled`) for the scheduler-forward target window, not merely
|
|
216
|
+
prepared/approved/ready rows. Maintain a target-window saturation ledger per
|
|
217
|
+
selected sender: selected send days, gross capacity, actual sent cells, future
|
|
218
|
+
scheduler-owned scheduled cells with non-null `scheduledFor`, projected count,
|
|
219
|
+
ready-to-schedule buffer, remaining projected gap, paid-InMail feasibility,
|
|
220
|
+
`targetShapeRevision`, `stateRevision`, and the next MCP primitive that can
|
|
221
|
+
reduce the gap. After every apply/prep/start result, wait for processing, reread
|
|
222
|
+
the target plan/refill state, recompute the ledger, then keep applying safe
|
|
223
|
+
bounded actions until projected coverage fills the target window or a concrete
|
|
224
|
+
non-scheduler blocker is proven.
|
|
224
225
|
If ready rows cover the projected gap but the scheduler has not picked them up
|
|
225
|
-
yet, run the persistent read-only
|
|
226
|
-
goal, mark it complete, or mark it
|
|
227
|
-
|
|
228
|
-
run or the host cannot continue.
|
|
229
|
-
|
|
230
|
-
In `--yolo`, the default
|
|
231
|
-
`--until`/`untilDate`
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
226
|
+
yet, report loaded, awaiting scheduler and run the persistent read-only
|
|
227
|
+
scheduler wait loop. Do not finish the refill goal, mark it complete, or mark it
|
|
228
|
+
blocked only because it is still `awaiting_scheduler_after_ready_buffer`; keep
|
|
229
|
+
waiting unless Christian stops the run or the host cannot continue.
|
|
230
|
+
|
|
231
|
+
In `--yolo`, the default fill target is the scheduler-forward 48-hour window
|
|
232
|
+
unless `--until`/`untilDate` or an explicit compatibility `horizonSendDays` is
|
|
233
|
+
provided. If an until date is provided, compute bounded gaps through that
|
|
234
|
+
sender-local date inclusive, skipping no-send days and never extending beyond
|
|
235
|
+
that date without a new packet. For each target sender, compute the bounded gap
|
|
236
|
+
from that sender's healthy daily capacity, existing future scheduler-owned
|
|
237
|
+
scheduled sends, and rows already ready to schedule across active campaigns
|
|
238
|
+
enrolled with that sender. Then pick the best same-sender campaign to fill the
|
|
239
|
+
gap: prefer recent/future scheduler-owned sends for that sender, then strongest
|
|
240
|
+
recent result evidence, then source health. Do not stop
|
|
239
241
|
after filling only one sender when the request was sender-scoped. If a
|
|
240
242
|
same-source copy hits the campaign-table row cap, split the current source into
|
|
241
243
|
a bounded LinkedIn profile source list, confirm only that smaller list into the
|