@sellable/install 0.1.252 → 0.1.253
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
|
@@ -310,9 +310,10 @@ acceptable only when it writes a fresh durable per-lane receipt artifact as it
|
|
|
310
310
|
works.
|
|
311
311
|
When visible Codex app thread tools are unavailable but local Codex CLI is
|
|
312
312
|
available, the accepted durable streaming-worker command shape is:
|
|
313
|
-
`codex -a never -s danger-full-access exec -m <worker-model> -C <repo> -o <worker-final-file> -`.
|
|
313
|
+
`codex -a never -s danger-full-access exec --skip-git-repo-check -m <worker-model> -C <repo> -o <worker-final-file> -`.
|
|
314
314
|
The approval and sandbox flags must come before the `exec` subcommand for Codex
|
|
315
|
-
CLI builds that expose `-a`/`-s` only at top level.
|
|
315
|
+
CLI builds that expose `-a`/`-s` only at top level. `--skip-git-repo-check` belongs after `exec` because current customer and VPS Codex CLI builds expose it
|
|
316
|
+
as an `exec` subcommand flag, not a top-level flag. Do not use
|
|
316
317
|
`codex exec --ask-for-approval never ...` or `codex exec -a never ...`; those
|
|
317
318
|
forms fail on current customer CLI installs. Pipe the lane packet prompt on
|
|
318
319
|
stdin, require the worker to write `workerDispatch.receiptArtifactHint`, and
|
|
@@ -320,7 +321,7 @@ pass exactly one lane packet per worker.
|
|
|
320
321
|
When launching durable Codex CLI workers from an automation parent, pass an
|
|
321
322
|
explicit supported worker model instead of relying on the Codex CLI default
|
|
322
323
|
model. Use the parent runtime model when known, for example:
|
|
323
|
-
`codex -a never -s danger-full-access exec -m <worker-model> -C <repo> -o <worker-final-file> -`.
|
|
324
|
+
`codex -a never -s danger-full-access exec --skip-git-repo-check -m <worker-model> -C <repo> -o <worker-final-file> -`.
|
|
324
325
|
Do not rely on the Codex CLI default model; some customer and VPS installs
|
|
325
326
|
default to unavailable model aliases. If the parent cannot identify a supported
|
|
326
327
|
worker model and a test `codex exec -m <worker-model>` launch is rejected, stop
|
|
@@ -336,13 +337,22 @@ Do not embed `<<'WORKER_PROMPT'` heredocs inside a single quoted or double
|
|
|
336
337
|
quoted `/bin/bash -lc '...'` command string; nested quoting is brittle and can
|
|
337
338
|
truncate the first worker before mutation. For multi-worker launchers, write one
|
|
338
339
|
plain prompt file per lane under the current run directory, then start each
|
|
339
|
-
worker with `codex -a never -s danger-full-access exec -m "$WORKER_MODEL" -C "$REPO" -o
|
|
340
|
+
worker with `codex -a never -s danger-full-access exec --skip-git-repo-check -m "$WORKER_MODEL" -C "$REPO" -o
|
|
340
341
|
"$worker_final_file" - < "$worker_prompt_file"`. Keep launcher shell variables
|
|
341
342
|
double-quoted and keep the prompt heredoc only in a standalone script/prompt-file
|
|
342
343
|
write step, not inside an already quoted shell argument. If the first launcher
|
|
343
344
|
attempt exits with a shell parse error or before starting the first worker,
|
|
344
345
|
stop with `blocked: worker_launcher_quoting_failed` and do not retry by
|
|
345
346
|
loosening sender scope or mutating in the parent.
|
|
347
|
+
Do not use `nohup`, detached background workers, or any launcher that returns
|
|
348
|
+
before the workers finish and before receipts/final files exist. A durable
|
|
349
|
+
worker must run in a foreground command session, visible Codex thread, or a shell
|
|
350
|
+
that stays alive until every worker has finished. If using background jobs inside
|
|
351
|
+
one shell, the same shell must stay alive, wait for every worker PID, poll only
|
|
352
|
+
the expected receipt paths, and record a per-worker exit code plus final-file
|
|
353
|
+
paths and stderr/log paths before returning. If workers exit with empty logs and
|
|
354
|
+
no final files because the subprocess detached or was reaped, stop with
|
|
355
|
+
`blocked: worker_subprocess_detached_without_output` before parent verify.
|
|
346
356
|
Short form: run the wrapper with `/bin/bash -lc`.
|
|
347
357
|
Short form: Do not rely on zsh-specific behavior.
|
|
348
358
|
Short form: Do not use `status` as a shell variable; use `exit_code` or `rc`.
|
|
@@ -350,6 +360,7 @@ Short form: Receipt polling uses `find <receipt-dir> -maxdepth 1 -name 'evg_*.js
|
|
|
350
360
|
Short form: Do not use naked `*.json` globs under zsh; no `no matches found` diagnostics.
|
|
351
361
|
Short form: Do not embed `<<'WORKER_PROMPT'` heredocs inside a quoted `/bin/bash -lc` command string.
|
|
352
362
|
Short form: Multi-worker launchers write prompt files and run `codex ... - < "$worker_prompt_file"`.
|
|
363
|
+
Short form: Do not use `nohup`; keep the worker process attached until receipt or blocker.
|
|
353
364
|
After the auto-executable plan returns, take at most one short planning pass to
|
|
354
365
|
choose the visible/durable worker runtime and build the worker launch packet.
|
|
355
366
|
Do not keep reasoning, re-reading prompts, or restating the workflow instead of
|
|
@@ -394,7 +405,7 @@ launchers, write the same prompt body to `<worker-prompt-file>` and launch the
|
|
|
394
405
|
worker with stdin redirected from that file:
|
|
395
406
|
|
|
396
407
|
```
|
|
397
|
-
codex -a never -s danger-full-access exec -m <worker-model> -C <repo> -o <worker-final-file> - <<'WORKER_PROMPT'
|
|
408
|
+
codex -a never -s danger-full-access exec --skip-git-repo-check -m <worker-model> -C <repo> -o <worker-final-file> - <<'WORKER_PROMPT'
|
|
398
409
|
Use $sellable:create-evergreen-campaigns as the governing skill for this one lane worker.
|
|
399
410
|
|
|
400
411
|
Workspace id: <workspaceId>
|
|
@@ -417,7 +428,7 @@ Complete only this lane, write the required durable receipt JSON, and stop.
|
|
|
417
428
|
WORKER_PROMPT
|
|
418
429
|
|
|
419
430
|
# Multi-worker launcher equivalent:
|
|
420
|
-
codex -a never -s danger-full-access exec -m <worker-model> -C <repo> -o <worker-final-file> - < <worker-prompt-file>
|
|
431
|
+
codex -a never -s danger-full-access exec --skip-git-repo-check -m <worker-model> -C <repo> -o <worker-final-file> - < <worker-prompt-file>
|
|
421
432
|
```
|
|
422
433
|
|
|
423
434
|
If any placeholder cannot be filled from the current lane packet, do not inspect
|
|
@@ -603,7 +614,10 @@ not a parent-thread summary. The receipt must include:
|
|
|
603
614
|
Before writing the durable receipt, run a receipt self-check. The top-level
|
|
604
615
|
receipt must include top-level `planRevision`, `actionId`, `laneKey`,
|
|
605
616
|
`laneType`, `workspaceId`, and `senderIds`, plus campaign/table/source ids and
|
|
606
|
-
row/message/approval counts.
|
|
617
|
+
row/message/approval counts. It must also include top-level `receiptArtifactPath`,
|
|
618
|
+
top-level `durableReceiptWritten:true`, top-level `receiptRunId`, and top-level
|
|
619
|
+
`receiptWrittenAt`; do not leave `receiptArtifactPath` only under
|
|
620
|
+
`createCampaignWorkflowReceipt` for the parent to patch during verify. Inside
|
|
607
621
|
`createCampaignStepReceipt.messageDraftingReceipt`, `sampleMessages[]` must
|
|
608
622
|
include `rowId`, `generatedMessageText`, `verdict`, and `issues`. Do not
|
|
609
623
|
substitute `message` for `generatedMessageText`. Do not substitute
|
|
@@ -615,6 +629,8 @@ before writing JSON; do not leave only raw objects like
|
|
|
615
629
|
`get_campaign_message_preparation_status`, `attachRecommendedSequenceResult`,
|
|
616
630
|
`finalCampaignRead`, or `finalTableRead`.
|
|
617
631
|
Self-check shorthand: top-level `planRevision`, `actionId`, `laneKey`, `laneType`, `workspaceId`, and `senderIds` must exist before worker completion.
|
|
632
|
+
Self-check shorthand: top-level `receiptArtifactPath`, `durableReceiptWritten:true`, `receiptRunId`, and `receiptWrittenAt` must exist before worker completion.
|
|
633
|
+
Self-check shorthand: top-level `receiptWrittenAt` must exist before worker completion.
|
|
618
634
|
Self-check shorthand: `campaignBriefReceipt.briefHash`,
|
|
619
635
|
`campaignBriefReceipt.deliveryFormat`, `campaignBriefReceipt.tokenRules`,
|
|
620
636
|
`campaignBriefReceipt.hardAvoids`, and `campaignBriefReceipt.sourceUseRules`
|
|
@@ -933,6 +949,17 @@ Message proof for every customer-visible lane must come from the current
|
|
|
933
949
|
campaign/table basis and include at least 3 generated review rows from the
|
|
934
950
|
packaged `generate-messages` path before completion is reported.
|
|
935
951
|
Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
952
|
+
|
|
953
|
+
The parent must run its own sample-quality gate before final reporting, even
|
|
954
|
+
when worker receipts say `verdict:"passed"`. For each shared lane, normalize the
|
|
955
|
+
reviewed sample messages by removing leading greeting/name lines, first names,
|
|
956
|
+
and whitespace-only differences; reject shared-lane samples when the message body is identical after removing first names or when all samples share the same
|
|
957
|
+
paragraph skeleton. Also reject final shared-lane samples with `Hey <name>,`
|
|
958
|
+
letter punctuation, weak relevance hedges, internal workflow vocabulary,
|
|
959
|
+
self-intros, or any non-empty `issues`. If the parent finds repeated shared-lane
|
|
960
|
+
sample copy, report `blocked: repeated_shared_lane_sample_copy`, revise the
|
|
961
|
+
campaign brief/template through the packaged workflow, rerun Generate Message,
|
|
962
|
+
and verify current-revision sample messages before final completion.
|
|
936
963
|
</command_backed_workflow>
|
|
937
964
|
|
|
938
965
|
<objective>
|