diff --git a/telegram/output_gate.py b/telegram/output_gate.py index 00403ae..169b9e1 100644 --- a/telegram/output_gate.py +++ b/telegram/output_gate.py @@ -31,11 +31,28 @@ _SYSTEM_PATTERNS = [ re.compile(r"\b(approval.?rate|throughput|PRs?.?per.?hour)\b", re.IGNORECASE), re.compile(r"\b(reviewer_count|reviewer.?backfill)\b", re.IGNORECASE), + # Agent names — standalone mentions of any internal agent + # Leo and Rio excluded (common words) — caught by context patterns below + re.compile(r"\b(Epimetheus|Ganymede|Rhea|Oberon|Hermes|Theseus|Argus|Vida|Astra|Clay)\b"), + re.compile(r"\b(Leo|Rio)\s+(review|approv|reject|said|flagged|owns?|confirm)", re.IGNORECASE), + re.compile(r"\bPentagon\b"), + re.compile(r"\bm3ta\b", re.IGNORECASE), + # Agent coordination internals re.compile(r"\b(Ganymede|Rhea|Oberon)\s+(review(?:ed)?|approv(?:ed|es?)|reject(?:ed|s)?)\b", re.IGNORECASE), re.compile(r"\b(PIPELINE_OWNED_PREFIXES|AGENT_NAMES)\b"), re.compile(r"\b(worktree|bare.?repo|forgejo|git\.livingip)\b", re.IGNORECASE), + # Coordination language + re.compile(r"\b(craft.?review|substance.?review|m3ta.?approv|skill.?graph|eval.?rubric)\b", re.IGNORECASE), + + # Infrastructure domains + re.compile(r"\bteleo.?codex\b", re.IGNORECASE), + re.compile(r"\blivingip\.xyz\b", re.IGNORECASE), + + # UUIDs (conversation IDs, agent IDs) + re.compile(r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}", re.IGNORECASE), + # Code / technical re.compile(r"\b(def\s+\w+|import\s+\w+|class\s+\w+)\b"), re.compile(r"\b(\.py|\.yaml|\.json|\.md)\s", re.IGNORECASE),