From 300eede226979575140771462b04d2292dbf7892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9B=A2=E5=AD=90?= Date: Sat, 18 Apr 2026 14:26:02 +0000 Subject: [PATCH] refactor: restrict meta workflow to src/workflows/ scope MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit What: Tighten file scope for meta workflow coder and checker roles. Why: Meta workflow should only modify workflow code under $HOME/.upulse/engine/src/workflows/, not arbitrary project files. Changes: - meta-coder-cursor.ts: add prompt constraint to only modify src/workflows/ - meta-checker.ts: restrict allowedPrefixes from src/docs/test/ to src/workflows/ only - meta-checker.ts: remove blacklist exemption for src/workflows/ 团子 🐰 --- packages/pulse/src/workflows/roles/meta-checker.ts | 9 +++------ packages/pulse/src/workflows/roles/meta-coder-cursor.ts | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/pulse/src/workflows/roles/meta-checker.ts b/packages/pulse/src/workflows/roles/meta-checker.ts index 2b770bf..a459508 100644 --- a/packages/pulse/src/workflows/roles/meta-checker.ts +++ b/packages/pulse/src/workflows/roles/meta-checker.ts @@ -57,12 +57,9 @@ export function createMetaCheckerRole(opts: { } if (changedFiles.length > 0) { - // Allowed: src/workflows/*, docs/*, tests under src/ + // Allowed: only src/workflows/ (meta workflow scope) const allowedPrefixes = [ - 'src/', - 'docs/', - 'test/', - 'tests/', + 'src/workflows/', ...(opts.allowedPrefixes ?? []), ]; @@ -84,7 +81,7 @@ export function createMetaCheckerRole(opts: { ]; for (const file of changedFiles) { const basename = file.split('/').pop() ?? file; - if (blacklist.includes(basename) && !file.startsWith('src/workflows/')) { + if (blacklist.includes(basename)) { violations.push(`禁止修改: ${file}`); } } diff --git a/packages/pulse/src/workflows/roles/meta-coder-cursor.ts b/packages/pulse/src/workflows/roles/meta-coder-cursor.ts index f34a607..2101c31 100644 --- a/packages/pulse/src/workflows/roles/meta-coder-cursor.ts +++ b/packages/pulse/src/workflows/roles/meta-coder-cursor.ts @@ -64,6 +64,7 @@ ${testerFeedback} ## 约束 - commit author: 小橘 +- 只修改 $HOME/.upulse/engine/src/workflows/ 下的代码 - 不修改 workflow-rule-adapter.ts 和 workflow-type.ts`; return { prompt, cwd: repoDir };