From cd9805ef1a6b3ebc3f16687d36f84811b0b9aa69 Mon Sep 17 00:00:00 2001 From: WOPR Date: Fri, 17 Apr 2026 18:09:46 -0700 Subject: [PATCH] fix(holyship): spawn holyshipper with PORT=3100 to match fleet URL template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Core's Fleet.create constructs Instance.url as http://:3100 (fleet.ts:101), but holyshipper was being spawned with PORT=8080. waitForReady then pinged the wrong port, timed out after 30s every time, and the worker tore down the freshly-started holyshipper. Verified via battleaxe SSH on prod: holyship-its-over-stack-overflowing-spit-on-that-thang: [holyshipper] worker-runtime listening on :8080 But fleet's URL says 3100 — nothing answers, timeout, teardown. Change PORT to 3100 to match the URL template. Holyshipper respects the env var, so no holyshipper-side change needed. Co-Authored-By: Claude Opus 4.7 (1M context) --- platforms/holyship/src/fleet/holyshipper-fleet-manager.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platforms/holyship/src/fleet/holyshipper-fleet-manager.ts b/platforms/holyship/src/fleet/holyshipper-fleet-manager.ts index 45be19de..83f33e9e 100644 --- a/platforms/holyship/src/fleet/holyshipper-fleet-manager.ts +++ b/platforms/holyship/src/fleet/holyshipper-fleet-manager.ts @@ -68,7 +68,10 @@ export class HolyshipperFleetManager implements IFleetManager { const env: Record = { HOLYSHIP_GATEWAY_URL: this.gatewayUrl, HOLYSHIP_ENTITY_ID: entityId, - PORT: "8080", + // Core's Fleet.create builds `instance.url = http://:3100`. If the + // holyshipper listens on a different port, waitForReady pings a closed + // port and times out after 30s — which is exactly what was happening. + PORT: "3100", }; if (config.githubToken) {