---
title: Domínio e runtime
description: Responsabilidades dos módulos Rust em `src/domain` e `src/runtime`.
context: Orientação para manutenção do CLI.
---

# Domínio e runtime

`src/domain/` concentra regras de negócio do SDD. `src/runtime/` concentra integração operacional e observabilidade.

## Domínio

| Módulo | Responsabilidade |
|---|---|
| `discovery.rs` | Inventário do projeto, manifests, comandos e recomendações |
| `evaluation.rs` | Avaliação determinística de artefatos e orquestrações |
| `providers.rs` | Catálogo, resolução e doctor de providers |
| `risk.rs` | Classificação de risco |
| `workflow/mod.rs` | DSL e runner de workflows |
| `orchestrator/` | Demanda durável, fila, estado, aprovação e motor |

## Runtime

| Módulo | Responsabilidade |
|---|---|
| `mcp.rs` | Servidor MCP read-only |
| `trace.rs` | Consulta e sumarização de traces |
| `redaction.rs` | Sanitização de dados sensíveis |
| `optimization.rs` | Wrappers opcionais de contexto |
| `platform.rs` | Abstrações de plataforma |
| `slack.rs` | Contratos auxiliares de Slack |
| `errors.rs` | Erros de runtime |

## Regra de evolução

Coloque regras determinísticas no domínio. Coloque I/O, plataforma, logs e integrações no runtime. Se um client precisa da mesma regra, ele deve chamar o CLI em vez de reimplementar comportamento divergente.
