Cache : corrections de relecture — la ligne MCP et les descriptions d'outils partagent un seul format

mcpPromptLine relisait le préfixe « [MCP: <serveur>] » des descriptions en le
réécrivant à la main : changer le format dans mcpTools aurait fait disparaître
la ligne en silence. Un nom de serveur contenant « ] » y était aussi coupé.

- mcpTagDescription pose le préfixe, mcpToolServer le relit : un seul endroit.
- mcpToolServer retient la coupure dont la forme assainie est celle du nom
  d'outil — « a] b » reste « a] b ».
- Les tests qui appellent EnabledTools isolent $LOKI_HOME : la configuration
  MCP de la machine de test (et ses connexions) ne fausse plus le cas « sans
  outil MCP » ni le budget du préambule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-04 01:34:36 +02:00
1 parent 7dd319a058
commit eaf5e313d9
3 files changed
+48 -15

No files matched your search

+3
View File
@@ -49,6 +49,9 @@ import (
const promptCharBudget = 11000 // ~2750 tokens, tout allumé
func TestSystemPromptStaysLean(t *testing.T) {
// $LOKI_HOME isolé : les outils MCP configurés sur la machine de test (et
// leur ligne au préambule) ne comptent pas dans le budget de Loki.
testHome(t)
caps := Caps{Agent: true, Internet: true, Mem: MemAlways}
tools := EnabledTools(caps)
sp := baseSystemPrompt(caps, tools)