vibe/tests/test_agent_loop_refresh_system_prompt.py
Mathias Gesbert 228f3c65a9
v2.10.0 (#697)
Co-authored-by: Clément Drouin <clement.drouin@mistral.ai>
Co-authored-by: Corentin André <corentin.andre@mistral.ai>
Co-authored-by: Guillaume LE GOFF <guillaume.lgf@gmail.com>
Co-authored-by: Kim-Adeline Miguel <51720070+kimadeline@users.noreply.github.com>
Co-authored-by: Maxime Dolores <maxime.dolores@ext.mistral.ai>
Co-authored-by: Nelson PROIA <144663685+Nelson-PROIA@users.noreply.github.com>
Co-authored-by: Peter Evers <pevers90@gmail.com>
Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai>
Co-authored-by: Quentin <quentin.torroba@mistral.ai>
Co-authored-by: Vincent G <10739306+VinceOPS@users.noreply.github.com>
Co-authored-by: MichisGitIsKing <MichisGitIsKing@users.noreply.github.com>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
2026-05-19 11:56:25 +02:00

33 lines
1.3 KiB
Python

from __future__ import annotations
import pytest
from tests.conftest import build_test_agent_loop, build_test_vibe_config
@pytest.mark.asyncio
async def test_refresh_system_prompt_preserves_scratchpad_section() -> None:
# Regression: refresh_system_prompt must pass scratchpad_dir, otherwise
# it silently drops the scratchpad instructions from the system prompt.
# This fires on every session start/resume via initialize_experiments
# and hydrate_experiments_from_session, so the LLM would lose awareness
# of the scratchpad on the very first turn for any user with telemetry
# enabled and a Mistral API key.
config = build_test_vibe_config(
include_project_context=False,
include_prompt_detail=True,
include_model_info=False,
include_commit_signature=False,
)
agent = build_test_agent_loop(config=config)
initial_prompt = agent.messages[0].content or ""
assert "Scratchpad Directory" in initial_prompt
assert agent.scratchpad_dir is not None
assert str(agent.scratchpad_dir) in initial_prompt
await agent.refresh_system_prompt()
refreshed_prompt = agent.messages[0].content or ""
assert "Scratchpad Directory" in refreshed_prompt
assert str(agent.scratchpad_dir) in refreshed_prompt