# Execution - Roadmap de maturidade do sdd-layer

## Rastreabilidade
- Orquestração: `roadmap-de-maturidade-do-sdd-layer-gate-unico-de-release-corrigir-jest-do-bot-modul-960734c3de8d`
- Stage: execution
- Estado: recorded.
- Artefatos anteriores: `02-prd.md`, `03-techspec.md`, `04-tasks.md`, `05-refinement.md`.
- Refinement aprovado em: `2026-07-04T06:29:36Z`.
- Context Pack: `.sdd/intelligence/context-packs/roadmap-de-maturidade-do-sdd-layer-gate-unico-de-release-corrigir-jest-do-bot-modul-960734c3de8d/execution.md`.

## Resumo
A execução estabilizou a base nova e fechou a superfície central do roadmap: gate único de release, relatório rápido de manutenção, advisory checks visíveis, CI alinhado ao gate, health estrito, hardening HTTP externo e limpeza inicial de supply chain do bot.

O resultado final esperado é `pass` nos checks obrigatórios e `warn` apenas nos advisory checks quando ferramentas locais opcionais (`cargo-audit`, `cargo-deny`, `gitleaks`) não estiverem instaladas. O `npm audit` do bot foi resolvido neste ciclo e deve permanecer visível no gate para detectar regressões.

## Tarefa
Executar a atividade aprovada no Refinement, priorizando estabilização da nova base, gate único de release, maintenance report, advisory checks, validação de bot/docs/Rust e hardening incremental de integrações externas.

## Resumo da implementação
- `sdd ci --strict-release` foi adicionado preservando o `sdd ci` legado.
- `sdd ci --strict-release --json --dry-run` expõe matriz estável de checks para testes e automação.
- `sdd health --strict` agora falha também em `warn`.
- O gate strict/release usa `sdd health --strict --json` por padrão; com `--name <slug>`, também escopa sinais de qualidade/health e inclui validações contextuais como diagram doctor.
- `sdd maintenance report` gera Markdown/JSON por área: core Rust, docs, clients, bot, providers, intelligence, workflows, release, diagrams e advisory.
- `.github/workflows/sdd-layer.yml` passou a instalar dependências de bot/docs e chamar `target/release/sdd ci --strict-release --name <slug-da-entrega>`.
- Docs operacionais foram atualizados em README, `docs/USAGE.md`, `docs/QUALITY-OBSERVABILITY.md` e docs-site.
- `block_gate` agora usa timeout HTTP de 10s, retry seguro para GET de comentários em timeout/conexão/429/5xx, classificação de status (`auth_forbidden`, `not_found`, `rate_limited`, `server_error`) e redaction melhor de tokens GitHub.
- O bot passou a usar helper HTTP comum para Jira/GitHub com timeout, retry seguro em leituras, classificação de erro e redaction; o webhook GitHub responde `413 payload_too_large` para corpo acima do limite.
- O advisory `npm audit` foi limpo removendo dependências locais não usadas e aplicando fix transitive seguro.

## Testes e evidências
| Comando | Status | Observação |
|---|---|---|
| `cargo fmt --check` | pass | Formatação limpa após patches. |
| `cargo test --locked --all-features health_strict_fails_on_warning_status` | pass | `health --strict` falha em warning. |
| `cargo test --locked --all-features ci_strict_release_dry_run_json_reports_gate_matrix` | pass | Contrato JSON do gate validado. |
| `cargo test --locked --all-features maintenance_report_json_covers_expected_areas` | pass | Report cobre todas as áreas esperadas. |
| `cargo test --locked --all-features block_gate` | pass | 16 testes focados do block gate. |
| `cargo build --release` | pass | Binário release reconstruído. |
| `target/release/sdd ci --strict-release` | warn | Todos obrigatórios passaram; advisory reportou ferramentas opcionais ausentes. |

## Resultado do gate real
- Obrigatórios `pass`: `cargo fmt --check`, `cargo clippy --all-targets --all-features -- -D warnings`, `cargo test --locked --all-features`, `sdd health --strict --json`, workflow validate, clients doctor strict, capabilities doctor, skills doctor strict, bot build/test, docs generate/links/build.
- Advisory `skipped`: `cargo audit`, `cargo deny check`, `gitleaks detect --no-banner` por ferramentas ausentes.
- Advisory `pass`: `npm audit --audit-level=high` e `npm sbom --sbom-format=cyclonedx`.

## Arquivos alterados
- `.github/workflows/sdd-layer.yml`
- `src/main.rs`
- `src/domain/orchestrator/block_gate.rs`
- `tests/cli.rs`
- `bot/package.json`
- `bot/package-lock.json`
- `bot/src/providers/http.ts`
- `bot/src/providers/jira.ts`
- `bot/src/providers/github.ts`
- `bot/src/providers/githubWebhookReceiver.ts`
- `bot/src/__tests__/providerHttp.test.ts`
- `bot/src/__tests__/githubWebhook.test.ts`
- `README.md`
- `docs/USAGE.md`
- `docs/QUALITY-OBSERVABILITY.md`
- `docs-site/content/docs/development/testing.md`
- `docs-site/content/docs/development/packaging-release.md`
- `docs-site/content/docs/guide/installation.md`
- `docs-site/content/docs/resources/cli.md`

## Decisões e ressalvas
- O gate strict/release sempre usa `sdd health --strict --json`. Com `--name`, adiciona escopo da orquestração e diagram doctor.
- Advisory checks são visíveis e estruturados, mas não bloqueantes neste ciclo.
- A modularização ampla de `src/main.rs` e a extração adicional do TUI continuam como próxima onda. A execução atual evitou refactor grande depois que o gate já estava estável.
- O corpus golden/property foi ampliado com contratos de gate/report e aproveitou testes existentes de `artifact link`, diagramas e block gate, mas ainda não é o corpus completo de PRD/Tech Spec/Tasks planejado.

## Riscos e pendências
- Instalar/rodar `cargo-audit`, `cargo-deny` e `gitleaks` em CI advisory.
- Planejar fatia própria para modularizar `src/main.rs` por comandos e reduzir o tamanho do arquivo sem misturar com gate.
- Expandir corpus golden/property de artefatos SDD e rastreabilidade.

## Histórico de execução
- Baseline inicial confirmou bot build/test, docs build/checks, Rust clippy/test e doctors.
- Drift de clients/capabilities foi corrigido com sync pelo binário fonte `cargo run --bin sdd --`.
- Gate e maintenance report foram implementados e testados.
- `block_gate` recebeu hardening HTTP incremental.
- Bot Jira/GitHub recebeu helper HTTP compartilhado e `npm audit` foi limpo.
