# Handoff — SDD CLI + agentes de código
## Contexto
A camada SDD agora usa um CLI Rust (`sdd`) como núcleo determinístico. Codex, Claude Code, opencode, Cursor, Devin, Kiro, Antigravity, Trae e o CLI puro ficam como harnesses de experiência: interpretam intenção, delegam agentes quando houver suporte, operam checkpoints humanos e chamam `sdd` para estado, validação, risco e guardrails.
## Implementado
- CLI Rust em `src/main.rs`, com binário `sdd`.
- Toolchain e pacote Rust em `Cargo.toml`, `Cargo.lock` e `rust-toolchain.toml`.
- Comandos principais:
- `sdd init`
- `sdd doctor`
- `sdd ci`
- `sdd install`
- `sdd update` (`sdd upgrade` como alias)
- `sdd risk`
- `sdd discover`
- `sdd idea`
- `sdd prd`
- `sdd techspec`
- `sdd tasks`
- `sdd refinement`
- `sdd execution`
- `sdd review`
- `sdd memory`
- `sdd orchestration` (`sdd orchestrator` continua como alias legado)
- `sdd clients list|doctor|sync`
- `sdd context recommend`
- `sdd artifact init|save|status`
- `sdd validate-artifact`
- `sdd hook artifact-gate|bash-guard|write-guard|task-gate|trace-log|notify|subagent-audit`
- Claude Code:
- Novo comando `/sdd`.
- Hooks disponíveis via `sdd hook ...`; `.claude/settings.json` mantém arrays vazios por padrão para não bloquear loops automáticos.
- Plugin Claude atualizado com `/sdd` e hooks sob demanda via `sdd hook ...`.
- Codex:
- Novos commands em `plugins/orchestration/commands/`.
- Manifest atualizado para `0.4.1`.
- Sem hooks declarados no manifesto Codex, porque o validador local ainda rejeita esse campo.
- Clientes adicionais:
- `sdd clients sync --targets all` gera as superfícies para opencode, Cursor, Antigravity e as coberturas portáteis para Devin/Trae.
- `sdd context recommend --write` materializa recomendações de skills/rules por tecnologia depois do discovery.
- Docs e CI atualizados para Cargo/Rust.
- Compatibilidade legada removida: o repositório não mantém wrappers ou hooks em outra linguagem.
- Presets de projeto alvo mantidos/adicionados para `python-api` (FastAPI), `rust-api` e `hono-api`.
## Decisões Mantidas
- O CLI não substitui os agentes. Ele prepara contexto, artifact store, validações, prompts, risco e guardrails.
- Os clientes continuam responsáveis por raciocínio, agentes/subagents quando houver suporte, checkpoints, PRD, Tech Spec, Tasks, Execution, ADR e Review.
- O binário `sdd` é a única fonte das regras determinísticas locais.
## Validação Executada
```bash
cargo fmt --check
cargo clippy -- -D warnings
cargo test
cargo build --release
target/release/sdd ci
```
Também foram feitos testes de integração Rust cobrindo:
- autodeteccao e instalação de `python-api`, `rust-api` e `hono-api`;
- layouts compact/flat, `--with-ci` e cleanup legado;
- pipeline de stages `discover` a `memory`;
- artifact store init/save/status;
- validate-artifact, risk classifier e hooks.
- validação estrutural do plugin Codex.
## Próximos Passos Recomendados
- Definir estratégia de distribuição para projetos externos: binário release, Homebrew, cargo install via git/tag ou outro canal.
- Se o manifesto Codex passar a aceitar hooks, declarar hooks do plugin apontando para `sdd hook ...`.