diff --git a/core/claude_code_talker/triggers/tags.py b/core/claude_code_talker/triggers/tags.py index 19189e7..9026677 100644 --- a/core/claude_code_talker/triggers/tags.py +++ b/core/claude_code_talker/triggers/tags.py @@ -19,7 +19,9 @@ class Tag: markup_overrides: dict = field(default_factory=dict) -# 5 starter tags installed on first run if cfg has no triggers.tags +# Starter tags installed on first run if cfg has no triggers.tags. +# (Originally 5; now 10 with the plan-mode / subagent / skill / permission +# tags. Tests should assert >= 5 with the original IDs present.) STARTER_TAGS: list[Tag] = [ Tag( id="audible_summary", @@ -152,7 +154,7 @@ def enabled_ids(self) -> set[str]: return {t.id for t in self._tags.values() if t.enabled} def bootstrap_starters(self) -> None: - """If empty, populate with the 5 starter tags. Idempotent.""" + """If empty, populate with the starter tags (`STARTER_TAGS`). Idempotent.""" if self._tags: return for t in STARTER_TAGS: diff --git a/core/pyproject.toml b/core/pyproject.toml index 4f18a7c..6de21f6 100644 --- a/core/pyproject.toml +++ b/core/pyproject.toml @@ -23,6 +23,8 @@ dev = [ "pytest>=7.4", "pytest-asyncio>=0.23", "pytest-mock>=3.12", + "respx>=0.20", + "build>=1.0", ] edge = ["edge-tts>=6.1"] anthropic = ["anthropic>=0.40"] diff --git a/core/tests/test_api_triggers.py b/core/tests/test_api_triggers.py index d1ebfe2..49dde3b 100644 --- a/core/tests/test_api_triggers.py +++ b/core/tests/test_api_triggers.py @@ -123,9 +123,12 @@ async def test_get_tags_returns_starter_set(client): body = r.json() assert "tags" in body ids = {t["id"] for t in body["tags"]} - assert "audible_summary" in ids - assert "audible_synopsis" in ids - assert len(body["tags"]) == 5 + # Original 5 starter tags must always be present; the set has grown to + # include plan-mode / subagent / skill / permission tags. Future + # additions should not break this test. + assert {"audible_summary", "audible_synopsis", "audible_briefs", + "audible_listings", "audible_details"} <= ids + assert len(body["tags"]) >= 5 # ---------------------------------------------------------------------------