feat: zeroclaw agentic agency architecture — agents, skills, Rust crates
- 18 agent specs across Software, Support, Marketing, Cross-cutting (orchestrator + 7 software + 5 support + 3 cross-cutting + leads-finder) - 8 reusable skills (handoff, pr-review, dokploy-deploy, campaign-structure, content-calendar, ticket-triage, license-lifecycle, invoice-draft) - 3 JSON schemas: handoff, deliverable, approval - Policies: autonomy levels, tool risk classification, compliance (DSGVO/GoBD/UWG) - routing.toml: model tiers T1/T2/T3 + provider config (PII gating) - Rust workspace (5 crates, all compile + 16 tests pass): - aos-mcp: tool registry + risk tagging - aos-policy: autonomy levels, budget enforcement, approval requests - aos-license: ed25519 license issue/verify (real crypto + CLI binary) - aos-ledger: integer-cents money math, gapless numbering, VAT, audit chain - aos-sync: frontmatter validator (18/18 specs pass), CLI binary - CLAUDE.md entry point with architecture overview + roadmap
This commit is contained in:
1 parent
d18c463ffd
commit
136379c666
60 files changed
+4776
No files matched your search
@@ -0,0 +1,47 @@
|
||||
# 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."
|
||||
Reference in new issue
Block a user