diff mrjunejune/inference/mock_sidecar_test.py @ 265:056790c4fb0d

add role-aware Epi assistant prompts Add verified June knowledge, guest/member/admin Copilot profiles, profile-isolated session recovery, animated Epi greetings, and a single authoritative runtime config workflow for inference. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Fri, 07 Aug 2026 10:50:30 -0700
parents b401627fc49e
children
line wrap: on
line diff
--- a/mrjunejune/inference/mock_sidecar_test.py	Fri Aug 07 07:34:12 2026 -0700
+++ b/mrjunejune/inference/mock_sidecar_test.py	Fri Aug 07 10:50:30 2026 -0700
@@ -128,6 +128,9 @@
                 "request_id": "request-1",
                 "conversation_id": "conversation-1",
                 "prompt": "!hello",
+                "prompt_profile": "public_visitor",
+                "prompt_version": 1,
+                "knowledge_version": 1,
             }
         )
         await self.sidecar.wait_for_idle()
@@ -155,6 +158,24 @@
         self.assertEqual(deltas, completed)
         self.assertEqual(self.events[-1]["mock_command"], "!hello")
 
+    async def test_turn_rejects_missing_prompt_profile(self):
+        await self.sidecar.dispatch(
+            {
+                "command": "turn.start",
+                "request_id": "request-missing-profile",
+                "conversation_id": "conversation-missing-profile",
+                "prompt": "!hello",
+            }
+        )
+        self.assertEqual(
+            [item["type"] for item in self.events],
+            ["turn.error", "turn.done"],
+        )
+        self.assertEqual(
+            self.events[0]["error"]["code"],
+            "invalid_prompt_profile",
+        )
+
     async def test_tool_command_preserves_custom_event_payloads(self):
         await self.sidecar.dispatch(
             {
@@ -162,6 +183,9 @@
                 "request_id": "request-2",
                 "conversation_id": "conversation-2",
                 "prompt": "!tool",
+                "prompt_profile": "invited_friend",
+                "prompt_version": 1,
+                "knowledge_version": 1,
             }
         )
         await self.sidecar.wait_for_idle()
@@ -182,6 +206,9 @@
                 "request_id": "request-3",
                 "conversation_id": "conversation-3",
                 "prompt": "!error",
+                "prompt_profile": "june_admin",
+                "prompt_version": 1,
+                "knowledge_version": 1,
             }
         )
         await self.sidecar.wait_for_idle()
@@ -204,6 +231,9 @@
                 "request_id": "request-4",
                 "conversation_id": "conversation-4",
                 "prompt": "!response",
+                "prompt_profile": "public_visitor",
+                "prompt_version": 1,
+                "knowledge_version": 1,
             }
         )
         await asyncio.sleep(0.01)