# Risk Classification - DDD Effect Rust Providers CLI

## Rastreabilidade
- Orquestração: DDD Effect Rust Providers CLI
- Estado atual: recorded
- Entrada: organizar o projeto com DDD, runtime Effect-like em Rust, bridge Node+TypeScript com Effect.ts, CLI com aprendizado incremental e provider selection para Codex/OpenAI, Claude, Gemini, opencode e providers customizados.
- Evidências: baseline `sdd risk` gerado pelo CLI; discovery em `00-project-discovery.md`; contrato atual em `src/main.rs`, `sdd.config.yaml`, `schemas/artifact-sections.json`.

## Classificação de risco
- Nível: high
- Baseline determinístico atual: medium, fator `cross_layer`.
- Ajuste operacional: elevado para `high` porque a feature cria contrato público de CLI/config, integra APIs externas, manipula credenciais/tokens, adiciona possível runtime Node, reorganiza arquitetura brownfield e altera caminhos de instalação/update usados por projetos consumidores.

## Fatores
- cross_layer: Rust CLI, docs, schemas, clientes, hooks e possível workspace Node.
- security_sensitive: provider API keys/tokens, auth local de ferramentas e redação de logs.
- external_dependency: OpenAI/Codex, Claude, Gemini, opencode e providers compatíveis por API.
- data_contract: schema de provider config, capability model, eventos de memória e artifact store.
- brownfield_unknowns: `src/main.rs` monolítico e pacote instalado em múltiplas superfícies.

## Checkpoints
- PRD: obrigatório.
- Tech Spec: obrigatório.
- Refinement: obrigatório.
- Merge: obrigatório.
- Deploy/release: obrigatório antes de publicar binário/pacote ou orientar `sdd update` em projetos consumidores.

## Evidências mínimas
- `cargo fmt --check`
- `cargo clippy -- -D warnings`
- `cargo test`
- `cargo build --release`
- `sdd doctor`
- `sdd clients doctor`
- Testes novos para provider registry, config precedence, secret redaction, fallback offline e compatibilidade dos comandos existentes.
- Tech Spec com plano de rollback e ADR obrigatória após execução.
