@sellable/install 0.1.253 → 0.1.254

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.253",
3
+ "version": "0.1.254",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -353,9 +353,20 @@ the expected receipt paths, and record a per-worker exit code plus final-file
353
353
  paths and stderr/log paths before returning. If workers exit with empty logs and
354
354
  no final files because the subprocess detached or was reaped, stop with
355
355
  `blocked: worker_subprocess_detached_without_output` before parent verify.
356
+ When launching multiple local Codex CLI workers from one shell, start each
357
+ background job in the same shell that will call `wait`. Do not capture worker
358
+ PIDs through command substitution, a subshell, a pipeline, or a helper function
359
+ invoked as `worker_pid=$(launch_worker ...)`; those patterns make the captured
360
+ PID non-waitable by the parent shell. Use the same-shell PID array pattern:
361
+ `pids=(); codex ... > "$log_file" 2>&1 & pids+=("$!")`, then
362
+ `for pid in "${pids[@]}"; do wait "$pid" || rc=1; done`. If `wait` reports
363
+ `pid is not a child of this shell`, stop with
364
+ `blocked: worker_subprocess_detached_without_output`.
356
365
  Short form: run the wrapper with `/bin/bash -lc`.
357
366
  Short form: Do not rely on zsh-specific behavior.
358
367
  Short form: Do not use `status` as a shell variable; use `exit_code` or `rc`.
368
+ Short form: Do not capture worker PIDs through command substitution or a subshell.
369
+ Short form: Use same-shell `pids+=("$!")` before waiting on every PID.
359
370
  Short form: Receipt polling uses `find <receipt-dir> -maxdepth 1 -name 'evg_*.json' -print`.
360
371
  Short form: Do not use naked `*.json` globs under zsh; no `no matches found` diagnostics.
361
372
  Short form: Do not embed `<<'WORKER_PROMPT'` heredocs inside a quoted `/bin/bash -lc` command string.