const PROMPT_VARIABLES = new Set([ 'workflow.input', 'workflow.id', 'workflow.iteration', 'run.id', 'step.id', 'step.title', 'last.summary', 'reviewed.artifact', 'reviewed.feedback', 'gate.artifact', 'gate.feedback', 'resume.input', 'restart.workspace', ]); /** Validate template variables embedded in resolved prompt text. */ export function validatePromptText(text: string, path: string): Array { return [...text.matchAll(/\{\{([^{}]+)\}\}/g)].flatMap((match) => { const variable = match[1]?.trim() ?? ''; return PROMPT_VARIABLES.has(variable) ? [] : [`${path}: unknown prompt variable "{{${variable}}}"`]; }); }