# Review - T-01 Contrato runtime-agnostic

## Rastreabilidade
- Orquestração: `a-jogada-mais-limpa-sdd-continua-runtime-agnostic-o-core-segue-dono-do-contrato-sdl-8ee3bafff01a`
- Stage: `review`
- Estado atual: `recorded`
- Escopo de origem: `06-execution.md`
- ADR relacionada: `06-adr.md`
- PRD aprovado: `02-prd.md`
- Tech Spec aprovada: `03-techspec.md`
- Tasks: `04-tasks.md`

## Escopo revisado
- Propagação do contrato runtime-agnostic em skills, commands/workflows, docs de clients, pacote do plugin e mirrors instalados.
- Geradores em `src/main.rs` para preservar as mudanças em superfícies geradas por `sdd clients sync`.
- Correção de slug longo via `artifact_slug` e uso em artifact store, resolve-input, context/intelligence e demanda do orquestrador.
- Registros SDD `06-execution.md` e `06-adr.md`.
- Verificações de drift por `clients doctor --strict`, `capabilities doctor --targets all` e testes focados de plugin/capabilities.

Fora do escopo revisado como T-01: mudanças preexistentes no worktree em providers, MCP/runtime adapters, hooks, automations, dependências e docs não relacionados diretamente à consolidação do contrato.

## Evidências
- `templates/client-skills/orchestration.md` declara o contrato runtime-agnostic, fallback local/CLI e MCP/trace como observabilidade read-only.
- `src/main.rs` inclui o mesmo contrato nos templates gerados para Cursor, Claude Code, Devin, Trae e opencode.
- `plugins/orchestration/skills/orchestration/SKILL.md` e mirrors `.agents`/`.claude` estão alinhados; o teste `orchestration_plugin` passou.
- `plugins/orchestration/commands/orchestrator.md` agora executa `sdd orchestration` e mantém `orchestrator` apenas como alias legado.
- `src/main.rs` usa `artifact_slug` para limitar slugs longos com hash estável.
- `src/domain/orchestrator/demand.rs` deriva slug de demanda com `crate::artifact_slug`.
- `06-execution.md` e `06-adr.md` validaram com `sdd validate-artifact`.

## Achados
### Críticos
- Nenhum.

### Altos
- Nenhum.

### Médios / Baixos
- Nenhum achado acionável na fatia T-01.

### Ressalvas
- O worktree contém mudanças não relacionadas que não foram revertidas nem revisadas como parte desta fatia.
- T-02, T-03 e T-04 permanecem pendentes para registry, MCP observability de adapters e guardrails adicionais.

## Testes
- `rtk cargo fmt`: passou.
- `rtk cargo test capabilities_catalog_doctor_sync_and_recommend_cover_portable_surfaces`: passou, `1 passed`.
- `rtk cargo test orchestration_plugin_skill`: passou, `2 passed`.
- `rtk cargo test orchestration_plugin`: passou, `2 passed`.
- `rtk cargo test`: passou, `402 passed`.
- `rtk cargo run --quiet -- clients doctor --strict`: passou; `SDD clients doctor PASS` e `SDD capabilities doctor PASS`.
- `rtk cargo run --quiet -- capabilities doctor --targets all`: passou; `SDD capabilities doctor PASS`.
- `rtk cargo run --quiet -- validate-artifact execution docs/a-jogada-mais-limpa-sdd-continua-runtime-agnostic-o-core-segue-dono-do-contrato-sdl-8ee3bafff01a/06-execution.md`: válido.
- `rtk cargo run --quiet -- validate-artifact adr docs/a-jogada-mais-limpa-sdd-continua-runtime-agnostic-o-core-segue-dono-do-contrato-sdl-8ee3bafff01a/06-adr.md`: válido.
- `rtk git diff --check`: passou sem saída.

## Veredito
Aprovado com ressalvas.

Não há achados bloqueantes para T-01. A mudança preserva o SDD runtime-agnostic, mantém runtimes como adapters opcionais e deixa fallback local/CLI explícito nas superfícies canônicas e geradas. As ressalvas são de escopo: worktree já estava sujo com mudanças externas à T-01, e as próximas fatias técnicas ainda precisam tratar registry/MCP/guardrails.
