fix: _witness_role_for defensive None handling (T79)

This commit is contained in:
Joseph Doherty
2026-04-26 21:41:15 -04:00
parent fb7e97260b
commit 9c9d71eb31
2 changed files with 16 additions and 2 deletions
+8 -1
View File
@@ -21,7 +21,7 @@ import chat.state.world # noqa: F401
import chat.state.events # noqa: F401
import chat.state.threads # noqa: F401
from chat.llm.client import Message
from chat.services.prompt import assemble_narrative_prompt
from chat.services.prompt import _witness_role_for, assemble_narrative_prompt
def _seed_basic(conn) -> None:
@@ -852,3 +852,10 @@ def test_assemble_with_open_thread_renders_block(tmp_path):
body = msgs[0].content
assert "Open threads:" in body
assert "Maya's job hunt" in body
def test_witness_role_for_none_host_returns_host():
assert _witness_role_for("bot_a", None) == "host"
# Sanity check: existing semantics preserved.
assert _witness_role_for("bot_a", "bot_a") == "host"
assert _witness_role_for("bot_a", "bot_b") == "guest"