fix(ai+editeur): BUG-046 erreur lisible et vault réel pour l'ajout IA au document; BUG-045 fin de la double scrollbar
BUG-046: 'Ajouter du texte au document courant' échouait avec 'Échec de l'action: [object Object]'. Trois causes corrigées: - continuation de confirmation sans payload -> second Appliquer POSTait sans 'message' (422); le payload d'origine est désormais transmis - detail 422 FastAPI (tableau d'objets) stringifié tel quel -> nouvelle _responseError() qui aplatit en message lisible - prompt documents/dossier muet sur le vault -> le modèle inventait 'vault: test' et append_to_file échouait en silence; build_system_prompt nomme le vault et enjoint les outils d'écriture de l'utiliser exactement BUG-045: double barre de défilement dans l'éditeur Editer (fichiers longs): #editor-body overflow:auto + cm-editor height:100% sous la barre IA -> corps et scroller CodeMirror défilant tous les deux. Flex column, seul le scroller défile; override global .cm-scroller retiré. SW v20. Vérifié: pytest 1038, ruff backend 0, tests frontend AI 84/84, editor-inline 25/25, validate-imports 38 modules; Playwright sur l'instance de test (un seul conteneur scrollable) et flux agent complet append_to_file ok=true sur fichier réel
This commit is contained in:
@@ -271,6 +271,23 @@ class TestBuildSystemPrompt:
|
||||
|
||||
assert "⚠️" in prompt or "volumineux" in prompt
|
||||
|
||||
def test_vault_name_guidance(self):
|
||||
"""BUG-046: naming the vault steers write tools away from invented names."""
|
||||
from backend.bookslm import build_system_prompt
|
||||
|
||||
context = {
|
||||
"files": [{"path": "note.md", "title": "N", "content": "x", "type": "markdown"}],
|
||||
"total_chars": 1,
|
||||
"file_count": 1,
|
||||
"directory_tree": "",
|
||||
}
|
||||
prompt = build_system_prompt(context, scope="documents", vault_name="TestVault")
|
||||
assert "TestVault" in prompt
|
||||
assert "append_to_file" in prompt
|
||||
assert "jamais un nom inventé" in prompt
|
||||
# Without a vault name the block stays out (general fallback prompts).
|
||||
assert "jamais un nom inventé" not in build_system_prompt(context)
|
||||
|
||||
|
||||
# ── Unit tests: caching ────────────────────────────────────────────────
|
||||
|
||||
|
||||
Reference in New Issue
Block a user