# 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, 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 em `.claude/settings.json` chamando `sdd hook ...`.
  - Plugin Claude atualizado com `/sdd` e hooks via `sdd`.
- 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 ...`.
