From 24dc6e88f0ca32d65a7590889b6b3428dbb29337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Sat, 18 Apr 2026 14:55:24 +0000 Subject: [PATCH] fix: daemon loads gate role from engine (meta-gate-role crash fix) --- packages/pulse/src/bin/workflow-daemon.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/pulse/src/bin/workflow-daemon.ts b/packages/pulse/src/bin/workflow-daemon.ts index 93eb6c3..1eaf5dc 100644 --- a/packages/pulse/src/bin/workflow-daemon.ts +++ b/packages/pulse/src/bin/workflow-daemon.ts @@ -94,11 +94,21 @@ const metaTesterMod = await tryLoadFromEngine( () => import('../workflows/roles/meta-tester.js') ); -const metaWf = metaMod.createMetaWorkflow({ +// Load gate role if available from engine +const metaGateMod = await tryLoadFromEngine( + 'src/workflows/roles/meta-gate.ts', + async () => null as any, +); + +const metaRoles: Record = { coder: metaCoderMod.createMetaCoderRole(cursorRunner, llm, ENGINE_DIR), checker: metaCheckerMod.createMetaCheckerRole({ engineDir: ENGINE_DIR }), tester: metaTesterMod.createMetaTesterRole({ repoDir: ENGINE_DIR }), -}); +}; +if (metaGateMod?.createMetaGateRole) { + metaRoles.gate = metaGateMod.createMetaGateRole({ engineDir: ENGINE_DIR }); +} +const metaWf = metaMod.createMetaWorkflow(metaRoles as any); const metaRule = createWorkflowRule(metaWf, store, logStore); // 3. Report workflow (analyst → renderer)