From b6587ec9126a593b832ff1ae911506cf7724ff73 Mon Sep 17 00:00:00 2001 From: Zbigniew Sobiecki Date: Mon, 16 Mar 2026 13:44:52 +0000 Subject: [PATCH] fix(worker): register engine schemas at startup to fix job processing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same bug as router (#899) and dashboard (#896): worker-entry.ts calls loadConfig() at line 253 which runs EngineSettingsSchema validation. The dynamic ENGINE_SETTINGS_SCHEMAS registry was empty because registerBuiltInEngines() had not yet been called — it only runs later when createAgentRegistry() initializes. This caused every worker container to crash immediately with: ZodError: Unsupported engine settings for "claude-code" ...for any project with claude-code/codex/opencode engineSettings, making all Trello/JIRA/GitHub agent runs fail at job start. Fix: call registerBuiltInEngines() once before loadConfig(). Co-Authored-By: Claude Sonnet 4.6 --- src/worker-entry.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/worker-entry.ts b/src/worker-entry.ts index 93da7b64..68c465f1 100644 --- a/src/worker-entry.ts +++ b/src/worker-entry.ts @@ -13,6 +13,7 @@ * - DATABASE_URL: PostgreSQL connection string for config */ +import { registerBuiltInEngines } from './backends/bootstrap.js'; import { loadEnvConfigSafe } from './config/env.js'; import { loadConfig } from './config/provider.js'; import { getDb } from './db/client.js'; @@ -249,6 +250,10 @@ async function main(): Promise { // Initialize database pool (caches connection string before we scrub DATABASE_URL) getDb(); + // Register engine settings schemas before loadConfig() runs EngineSettingsSchema. + // Same fix as dashboard (#896) and router (#899). + registerBuiltInEngines(); + // Load projects config from database const config = await loadConfig(); logger.info('[Worker] Loaded projects config', { projects: config.projects.map((p) => p.id) });