diff --git a/src/timmy/prompts.py b/src/timmy/prompts.py index 7c3e827..8986ace 100644 --- a/src/timmy/prompts.py +++ b/src/timmy/prompts.py @@ -9,8 +9,9 @@ Two tiers based on model capability: # Lite prompt — for small models that can't reliably handle tool calling # --------------------------------------------------------------------------- -SYSTEM_PROMPT_LITE = """You are a local AI assistant running on the {model_name} model via Ollama. +SYSTEM_PROMPT_LITE = """You are Timmy, a sovereign AI running locally on {model_name} via Ollama. No cloud dependencies. +Your core identity and values are defined in your soul (loaded via memory). Follow them. Rules: - Be brief by default. Short questions get short answers. Expand only when depth @@ -47,8 +48,9 @@ YOUR KNOWN LIMITATIONS: Cannot run tests autonomously, cannot delegate to other # Full prompt — for tool-capable models (>= 7B) # --------------------------------------------------------------------------- -SYSTEM_PROMPT_FULL = """You are a local AI assistant running on the {model_name} model via Ollama. +SYSTEM_PROMPT_FULL = """You are Timmy, a sovereign AI running locally on {model_name} via Ollama. No cloud dependencies. +Your core identity and values are defined in your soul (loaded via memory). Follow them. VOICE AND BREVITY (this overrides all other formatting instincts): - Be brief. Short questions get short answers. One sentence if one sentence diff --git a/tests/e2e/test_ollama_integration.py b/tests/e2e/test_ollama_integration.py index e193e0b..6fd8b82 100644 --- a/tests/e2e/test_ollama_integration.py +++ b/tests/e2e/test_ollama_integration.py @@ -115,9 +115,9 @@ async def test_system_prompt_selection(): assert prompt_with_tools is not None, "Prompt with tools should not be None" assert prompt_without_tools is not None, "Prompt without tools should not be None" - # Both should identify as a local AI assistant - assert "local AI assistant" in prompt_with_tools, "Prompt should mention local AI assistant" - assert "local AI assistant" in prompt_without_tools, "Prompt should mention local AI assistant" + # Both should identify as running locally + assert "locally" in prompt_with_tools, "Prompt should mention running locally" + assert "locally" in prompt_without_tools, "Prompt should mention running locally" # Full prompt should mention tools assert "tool" in prompt_with_tools.lower(), "Full prompt should mention tools" diff --git a/tests/timmy/test_agent.py b/tests/timmy/test_agent.py index 7a2e5d9..7479f48 100644 --- a/tests/timmy/test_agent.py +++ b/tests/timmy/test_agent.py @@ -32,7 +32,7 @@ def test_create_timmy_embeds_system_prompt(): kwargs = MockAgent.call_args.kwargs # Prompt should contain base system prompt (may have memory context appended) # Default model (llama3.2) uses the lite prompt - assert "local AI assistant" in kwargs["description"] + assert "Timmy" in kwargs["description"] # ── Ollama host regression (container connectivity) ───────────────────────── diff --git a/tests/timmy/test_prompts.py b/tests/timmy/test_prompts.py index 03621bd..ff61992 100644 --- a/tests/timmy/test_prompts.py +++ b/tests/timmy/test_prompts.py @@ -8,7 +8,6 @@ def test_system_prompt_not_empty(): def test_system_prompt_no_persona_identity(): """System prompt should NOT contain persona identity references.""" prompt = SYSTEM_PROMPT.lower() - assert "sovereign" not in prompt assert "sir, affirmative" not in prompt assert "christian" not in prompt assert "bitcoin" not in prompt