From 029417ce33d5536041b92ad565e2b47d7e8d61b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Fri, 17 Apr 2026 10:39:40 +0000 Subject: [PATCH] fix: meta-tester cwd path double-nesting bug tester was running 'cd packages/pulse && bun test packages/pulse/...' which doubled the path. Fixed to cwd=packages/pulse + relative paths. --- packages/pulse/src/workflows/meta.ts | 7 +++++-- packages/pulse/src/workflows/roles/meta-tester.ts | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/pulse/src/workflows/meta.ts b/packages/pulse/src/workflows/meta.ts index 6672cb8..a59363b 100644 --- a/packages/pulse/src/workflows/meta.ts +++ b/packages/pulse/src/workflows/meta.ts @@ -81,11 +81,14 @@ function metaModerator( case 'coder': return 'reviewer'; case 'reviewer': { - const verdict = (input.meta as MetaReviewerMeta | null)?.verdict; + const meta = input.meta as MetaReviewerMeta | null; + const verdict = meta?.verdict; + // TODO: track retry count via chain length instead of meta field return verdict === 'approved' ? 'tester' : 'coder'; } case 'tester': { - const pass = (input.meta as MetaTesterMeta | null)?.pass; + const meta = input.meta as MetaTesterMeta | null; + const pass = meta?.pass; return pass ? 'promoter' : 'coder'; } case 'promoter': diff --git a/packages/pulse/src/workflows/roles/meta-tester.ts b/packages/pulse/src/workflows/roles/meta-tester.ts index f1f7f20..f152ae2 100644 --- a/packages/pulse/src/workflows/roles/meta-tester.ts +++ b/packages/pulse/src/workflows/roles/meta-tester.ts @@ -5,6 +5,7 @@ */ import { execSync } from 'node:child_process'; +import { join } from 'node:path'; import type { LlmClient } from '../../llm-client.js'; import type { MetaTesterMeta } from '../meta.js'; import type { Role, RoleResult, WorkflowMessage } from '../workflow-type.js'; @@ -45,8 +46,8 @@ export function createMetaTesterRole( let testOutput: string; try { testOutput = execSync( - 'cd packages/pulse && bun run build 2>&1 && bun test packages/pulse/src/workflows/ 2>&1', - { cwd: opts.repoDir, timeout: 60_000, encoding: 'utf-8' }, + 'bun run build 2>&1 && cd ../.. && bun test packages/pulse/src/workflows/ 2>&1', + { cwd: join(opts.repoDir, 'packages/pulse'), timeout: 60_000, encoding: 'utf-8' }, ); } catch (err: any) { testOutput = err.stdout ?? err.message;