- · Outcome A — user wrote
matrix review:security@backend-api fix the auth flow
- · Outcome D — implicit: message contains a .tsx path + "fix" keyword
- · Role + optional lens + optional @domain compose the specialist persona
- · Persona text is injected into the current turn's LLM context
- · Unknown first token → role defaults to
review; rest is the goal
- · role ∈ {executor, simplify} AND mechanical task (typo, rename, comment, format, README)
- · Message is ≤ 10 words AND not security-sensitive
- · Injects a visible tip only — no specialist persona
- · User can override: "invoke Matrix Coder anyway, or let Hermes do it?"
- · Cron session or system-preamble → bail immediately (early guard)
- ·
has_coding_intent() returns None → ordinary chat passes through to Hermes
- · "handle it directly" / "let Hermes do it" phrases also short-circuit to None
- · Post-turn:
_clear_persona() always runs — no persona leaks between turns
- ·
role — e.g. debug
- ·
review:lens — e.g. review:security
- ·
role@domain — e.g. plan@frontend
- ·
review:lens@domain — e.g. review:api@backend-api
- · Domains: frontend, backend-api, data-db, infra-cli, plugin-skill-authoring