[object Object]

← back to York Reprice 2026 08

Fix York auto-onboard silent failure: use process.execPath not bare node

a192374649b8b7e2c62ac4fe8b826905efbfa254 · 2026-07-14 07:44:47 -0700 · Steve

launchd's stripped PATH has no Homebrew node, so execSync('node york-new-create.mjs')
threw 'node: command not found' every 6:35am run — caught+logged as 'skipped', so the
Steve-authorized ~100/morning DRAFT drip created zero drafts unnoticed. Verified fixed
under realistic launchd env (HOME set, minimal PATH): creator now resolves, validates
735 queued payloads, dry-runs clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Files touched

Diff

commit a192374649b8b7e2c62ac4fe8b826905efbfa254
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jul 14 07:44:47 2026 -0700

    Fix York auto-onboard silent failure: use process.execPath not bare node
    
    launchd's stripped PATH has no Homebrew node, so execSync('node york-new-create.mjs')
    threw 'node: command not found' every 6:35am run — caught+logged as 'skipped', so the
    Steve-authorized ~100/morning DRAFT drip created zero drafts unnoticed. Verified fixed
    under realistic launchd env (HOME set, minimal PATH): creator now resolves, validates
    735 queued payloads, dry-runs clean.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
 cadence/york-auto-onboard.mjs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cadence/york-auto-onboard.mjs b/cadence/york-auto-onboard.mjs
index 6f635db..0e74e56 100644
--- a/cadence/york-auto-onboard.mjs
+++ b/cadence/york-auto-onboard.mjs
@@ -33,8 +33,10 @@ export function autoOnboard() {
     if (!queue.length) { result.note = 'onboard queue empty'; return result; }
 
     // Spawn the vetted creator (DRAFT, idempotent, cap=CAP new creates). cwd=ROOT for its relative paths.
+    // Use process.execPath (absolute path of THIS node), not bare `node` — launchd's stripped PATH
+    // has no Homebrew node, so `node ...` silently ExecSync-failed every 6:35am run (fixed 2026-07-14).
     const out = execSync(
-      `node york-new-create.mjs --file=data/onboard-payloads-enriched.json --limit=${CAP} --apply --i-am-steve`,
+      `"${process.execPath}" york-new-create.mjs --file=data/onboard-payloads-enriched.json --limit=${CAP} --apply --i-am-steve`,
       { cwd: ROOT, encoding: 'utf8', timeout: 30 * 60 * 1000 }
     );
     result.ran = true;

← a116034 auto-save: 2026-07-14T06:59:38 (1 files) — cadence/data/late  ·  back to York Reprice 2026 08  ·  auto-save: 2026-07-14T08:29:59 (1 files) — cadence/york-cade 58207a7 →