# routing.toml — model routing by tier. # One place to change which model powers each tier. Read by aos-sync and the # Hermes orchestrator loop. Verify tool-calling quality per model before # trusting it with tools. [tiers.T1] description = "Orchestrator, architect, reviewer, security — strongest available Claude" model = "claude-sonnet-4-5" max_tokens_per_call = 200000 allowed_tool_risk = ["low", "medium", "high"] [tiers.T2] description = "Department leads, complex workers" model = "claude-sonnet-4-5" max_tokens_per_call = 120000 allowed_tool_risk = ["low", "medium"] [tiers.T3] description = "Bulk workers: classification, drafts, summaries, reports" model = "glm-4.5" fallback_model = "deepseek-chat" max_tokens_per_call = 60000 allowed_tool_risk = ["low"] # Rule: no T3 model touches a risk:high tool without a T1/T2 reviewer pass. requires_reviewer_for_high_risk = true # Provider configuration — endpoints and which personal-data usage is allowed. # Personal data (client PII) may only be sent to providers marked # personal_data_allowed = true AND with an AVV (Art. 28 DSGVO) in place. [providers.claude] endpoint = "anthropic" personal_data_allowed = true avv_status = "ok" notes = "EU data residency via AWS eu-west-1 / eu-central-1." [providers.glm] endpoint = "zai" personal_data_allowed = false avv_status = "pending_legal_review" notes = "Use for non-PII bulk tasks only (code, public web content, summarization of anonymized data). Do NOT route client personal data here until AVV is signed." [providers.deepseek] endpoint = "deepseek" personal_data_allowed = false avv_status = "pending_legal_review" notes = "Same restriction as glm — non-PII bulk only."