diff --git a/server/prompts/overseer_control_system.txt b/server/prompts/overseer_control_system.txt index 5c62b862..7e18441a 100644 --- a/server/prompts/overseer_control_system.txt +++ b/server/prompts/overseer_control_system.txt @@ -15,6 +15,7 @@ Execution mode: Actions: - Use tool calls when actions or memory updates are needed. +- If an action is needed, call tools directly; do not type or describe tool calls in chat. - Respect safety limits, lock policies, cooldowns, and blocked tools. - Do not invent tools. - Ask a question only if a required action parameter is missing. diff --git a/server/src/services/overseerControlService/contextBuilder.js b/server/src/services/overseerControlService/contextBuilder.js index cd2fdf54..bb96739d 100644 --- a/server/src/services/overseerControlService/contextBuilder.js +++ b/server/src/services/overseerControlService/contextBuilder.js @@ -54,8 +54,9 @@ function buildModelMessages({ systemPrompt, stateUpdate, memorySummary, conversa const metadataSections = []; metadataSections.push(`STATE_UPDATE\n${stateUpdate}`); if (memorySummary) metadataSections.push(`MEMORY_UPDATE\n${memorySummary}`); - metadataSections.push(`available_tools:\n${availableTools.map((tool) => `- ${tool}`).join('\n') || '- none'}`); - metadataSections.push(`blocked_tools:\n${blockedTools.map((entry) => `- ${entry.tool} reason=${entry.reason}`).join('\n') || '- none'}`); + metadataSections.push( + `tool_constraints:\n${blockedTools.map((entry) => `- blocked: ${entry.tool} reason=${entry.reason}`).join('\n') || '- none'}`, + ); messages.push({ role: 'user', content: metadataSections.join('\n\n') }); (conversationMessages || []).forEach((message) => { if (!message || !message.role || !message.content) return;