# SDR-0027 — Roadmap da Central de Serviços (registro de maturação)

> **Nomenclatura:** arquivo físico `sdr-0027-roadmap-central-servicos.md`. O **registro operacional** dos itens vive em [`cs-roadmap/registro.yaml`](./cs-roadmap/registro.yaml). A **página** do site é gerada por `arquitetura-contratual/scripts/gerar_roadmap_cs_html.py`.

---

## 1. Metadados

| Campo | Valor |
|-------|--------|
| **ID** | `sdr-0027-roadmap-central-servicos` |
| **Título** | Roadmap da Central de Serviços (registro de maturação) |
| **Versão** | `v0.1` |
| **Data** | `2026-05-16` |
| **Autor** | Equipe do repositório |
| **Revisores** | *(pendente)* |
| **Status** | `Em validação` |
| **Substitui** | — |
| **Substituído por** | — |
| **Classificação** | `Interno` |
| **Eixo** | `Ambos` |
| **Domínio** | Maturação da solução CS — lacunas a estudar e incorporar |
| **Stakeholders** | Arquitetura de contrato; gestão do modelo; editores de SDR e site |
| **SDRs relacionados** | [sdr-0003-indice-fonte-unica.md](./sdr-0003-indice-fonte-unica.md), [sdr-0017-site-html-rastreabilidade.md](./sdr-0017-site-html-rastreabilidade.md), [sdr-0025-propagacao-sdr-consumidores-site-contratacao.md](./sdr-0025-propagacao-sdr-consumidores-site-contratacao.md), [sdr-0019-transicao-reversibilidade-encerramento.md](./sdr-0019-transicao-reversibilidade-encerramento.md) |

---

## 2. Controle de Revisão

| Versão | Data | Autor | Mudanças |
|--------|------|-------|----------|
| v0.1 | 2026-05-16 | Equipe do repositório | Criação: esquema RM, registro YAML, página site, auditoria inicial |

---

## 3. Objetivo

Manter um **registro único** dos itens necessários para **compor ou evoluir** a solução **Central de Serviços (CS)** que ainda **não** foram estudados em detalhe e **incorporados** à norma (`sdr-*.md`), consumidores (site, TR, ANS) ou operação pactuada — com rastreio de origem, estado e versão por item.

---

## 4. Escopo e Abstração

### 4.1 Dentro do escopo

- Definição do **Roadmap CS** (sigla interna **RM**, itens `RM-NNNN`).
- **Esquema** e **estados** do registro em [`cs-roadmap/registro.yaml`](./cs-roadmap/registro.yaml).
- Regras de **versão** por item e de **auditoria** (varredura em `sdr-*.md` e documentos de lacuna).
- Remissão à **página** `arquitetura-contratual/site/roadmap-cs.html` (subitem de **Outros** no site).

### 4.2 Fora do escopo

- **Cronograma de licitação** — [INDICE_PROCESSO](../processo-contratacao/00_controle_geral/INDICE_PROCESSO.md).
- **Transição e encerramento** como norma operacional completa — [sdr-0019](./sdr-0019-transicao-reversibilidade-encerramento.md) (fragmentos podem gerar itens RM até o hub TOM existir).
- **Propagação SDR → consumidor** — [sdr-0025](./sdr-0025-propagacao-sdr-consumidores-site-contratacao.md).
- Texto normativo **canônico** dos temas listados no RM — cada tema, quando maduro, passa ao **SDR dono** indicado em `sdr_dono_futuro`; o RM **não** duplica norma entre SDRs.

### 4.3 Nível de abstração

**Registro de gestão e maturação**; não substitui cláusulas de contrato.

### 4.4 Implementação de software

- Script [`gerar_roadmap_cs_html.py`](../arquitetura-contratual/scripts/gerar_roadmap_cs_html.py) — gera tabela na página HTML a partir do YAML.
- Dependência: `PyYAML` ([`requirements-gerar-roadmap-cs.txt`](../arquitetura-contratual/scripts/requirements-gerar-roadmap-cs.txt)).

---

## 5. Contexto e Síntese Executiva

### 5.1 Problema

Lacunas (consolidação de SDRs âncora, crítica de modelo, TOM, SLAs inter-contratuais, etc.) estavam **espalhadas** sem inventário único, dificultando priorização e comunicação com fornecedores e fiscalização.

### 5.2 Solução proposta (resumo)

**RM-NNNN** no YAML + visualização em **roadmap-cs.html**; cada item referencia SDRs onde o tema aparece **incompleto** e aponta **SDR dono futuro** quando conhecido.

### 5.3 Benefícios esperados

Priorização explícita; histórico de versão por item; alinhamento com auditoria periódica dos `sdr-*.md`.

### 5.4 Riscos se não implementado

Duplicação de esforço; temas “esquecidos” fora do índice [sdr-0003](./sdr-0003-indice-fonte-unica.md).

---

## 6. Slides Executivos

- **RM** = o que falta **incorporar** na CS.
- **Não é** TR, **não é** TOM executado — é **backlog de maturação**.
- **RM-0001** = TOM (Modelo de Transição e Operação) — primeiro item **novo**.

---

## 7. Restrições Globais, Não-Funcionais e Critérios de Sucesso

### 7.1 Restrições técnicas

- Novos itens: próximo `RM-NNNN` sequencial no YAML.
- Após alterar YAML: rodar `gerar_roadmap_cs_html.py` e `gerar_site_search_index.py` ([sdr-0017](./sdr-0017-site-html-rastreabilidade.md)).

### 7.2 Restrições de negócio / compliance

Itens **Incorporados** permanecem no RM com estado atualizado e link ao artefato dono (histórico).

### 7.3 Critérios de sucesso mensuráveis

- Todo item do YAML visível em `roadmap-cs.html`.
- Item com `referencias_sdr` aponta arquivo existente no repositório.

---

## 8. Design / Arquitetura

### 8.1 Visão geral

```text
[sdr-0027 — esquema RM]
        |
        v
[cs-roadmap/registro.yaml — itens RM-NNNN]
        |
        v
[gerar_roadmap_cs_html.py] --> [site/roadmap-cs.html]
        ^
[outros.html — link side-nav]
```

### 8.2 Campos obrigatórios por item (YAML)

| Campo | Descrição |
|-------|-----------|
| `id` | `RM-NNNN` (quatro dígitos) |
| `descricao` | Uma ou duas frases objetivas |
| `proposito` | Detalhamento do porquê e do resultado esperado |
| `estado` | Ver §8.3 |
| `versao` | String numérica; início `0`; revisões menores `0.1`, `0.2`…; mudança estrutural `1.0` |
| `data_proposicao` | `AAAA-MM-DD` |
| `autor` | Quem propôs o item |

### 8.3 Estados

| Estado | Significado |
|--------|-------------|
| `Identificado` | Necessidade registrada; sem estudo detalhado |
| `Em estudo` | Análise de impacto, dono SDR, dependências |
| `Especificado` | Texto canônico pronto no SDR ou documento dono |
| `Incorporado` | Publicado nos consumidores conforme [sdr-0025](./sdr-0025-propagacao-sdr-consumidores-site-contratacao.md) |
| `Cancelado` | Descartado com justificativa em `notas` |
| `Suspenso` | Pausado; retomada futura |

Fluxo típico: `Identificado` → `Em estudo` → `Especificado` → `Incorporado`.

### 8.4 Campos opcionais

| Campo | Uso |
|-------|-----|
| `referencias_sdr` | Lista de `sdr-*.md` onde o tema está parcial ou em consolidação |
| `sdr_dono_futuro` | Slug do SDR alvo (ex.: `sdr-0028-tom-transicao-operacao`) |
| `origem` | `novo` \| `auditoria-sdr` \| `critica-severa` \| `consolidacao` |
| `notas` | Seção, checklist ou link externo |

### 8.5 Versão do item

- **Versão inicial:** `0` na criação do item.
- **Incremento menor** (`0.1`, `0.2`): refinamento de descrição, propósito ou escopo do estudo **sem** norma incorporada.
- **Incremento maior** (`1.0`): incorporação normativa relevante ou mudança de `sdr_dono_futuro` / escopo.

### 8.6 Auditoria em SDRs existentes

Ao revisar o modelo, varrer `SDRs/sdr-*.md` (e [`critica-severa-modelo-v2.md`](../critica-severa-modelo-v2.md)) por indicadores de lacuna — por exemplo: `em migração`, `em consolidação`, `revisão futura`, `LACUNA`, checklist §8.4 do [sdr-0001](./sdr-0001-arquitetura-tres-contratos.md). Cada lacuna **nova** vira item RM com `origem` adequada e `referencias_sdr`; **não** copiar parágrafos normativos para o YAML.

---

## 9. Processos e Integrações

### 9.1 Processos afetados

Priorização de estudos; planejamento de novos SDRs; comunicação com stakeholders do modelo CS.

### 9.2 Integrações

- Site: [roadmap-cs.html](../arquitetura-contratual/site/roadmap-cs.html).
- Índice: [sdr-0003](./sdr-0003-indice-fonte-unica.md).
- TOM: item **RM-0001** → [sdr-0028-tom-transicao-operacao.md](./sdr-0028-tom-transicao-operacao.md) *(hub normativo; RM em estado Especificado)*.

### 9.3 SLAs / tempos

*Não aplicável* ao registro RM.

---

## 10. Dados, Modelos e Classificações

### 10.1 Entidades / glossário

- **Roadmap CS (RM)** — registro de maturação da solução CS.
- **TOM** — Modelo de Transição e Operação; item **RM-0001**.

### 10.2 Modelos de dados

Arquivo [`cs-roadmap/registro.yaml`](./cs-roadmap/registro.yaml); campo raiz `versao_registro` (versão do **formato** do arquivo, não do item).

### 10.3 Classificações (LGPD, criticidade, etc.)

*Não aplicável.*

---

## 11. Controles de Exclusividade e Risco

### 11.1 Exclusividade / fonte única

Este SDR é **dono** do **esquema** e das **regras** do RM. O **conteúdo** dos itens está no YAML; a **norma** futura fica nos SDRs temáticos.

### 11.2 Riscos e mitigação

| Risco | Mitigação |
|-------|-----------|
| RM vira “segundo SDR” com texto longo | Limitar YAML a metadados + remissões |
| YAML e site dessincronizados | Script obrigatório no fluxo de edição §7.1 |

---

## 12. Segurança, LGPD e Auditoria

### 12.1 Controles de segurança

*Não aplicável.*

### 12.2 LGPD / privacidade

*Não aplicável.*

### 12.3 Auditoria / evidências

Histórico Git do YAML e do HTML gerado.

---

## 13. Rastreabilidade e Validação

### 13.1 Critérios de aceite globais

- [sdr-0003](./sdr-0003-indice-fonte-unica.md) lista este SDR como dono do tópico “Roadmap CS”.
- `roadmap-cs.html` lista todos os itens do YAML ordenados por `id`.

### 13.2 Validações automáticas (quando existem)

`python scripts/check_sdr_conformity.py` — estrutura deste SDR.

### 13.3 Validações manuais

Revisor confere que itens `referencias_sdr` existem e que RM-0001 (TOM) está presente.

---

## 14. Matriz de Implementações Dependentes e Riscos

| Implementação | Depende de | Risco se atrasar |
|---------------|------------|------------------|
| Página roadmap-cs.html | YAML + script | Visão desatualizada das lacunas |
| Busca no site | `gerar_site_search_index.py` | Página não encontrável |
| TOM normativo | [sdr-0028](./sdr-0028-tom-transicao-operacao.md); propagação TR/site via [0025](./sdr-0025-propagacao-sdr-consumidores-site-contratacao.md) | Consumidores desatualizados |

---

## 15. Histórico de Mudanças Governadas

| Data | Mudança | SDR / proposta |
|------|---------|----------------|
| 2026-05-16 | Criação SDR-0026 e carga inicial do registro | v0.1 |

---

## 16. Propostas Governadas (alternativas)

- **RM só em Markdown dentro do SDR:** **não** adotado — YAML facilita geração do site e diff por item.

---

## 17. Requisitos

### 17.1 Requisitos funcionais

| ID | Requisito | Prioridade | Aceite quando |
|----|-----------|------------|---------------|
| RF-001 | Cada item RM tem os campos obrigatórios §8.2 | Alta | Validação no script ou revisão |
| RF-002 | Página site lista todos os itens | Alta | `gerar_roadmap_cs_html.py` executado |
| RF-003 | Itens de auditoria referenciam `referencias_sdr` | Média | Revisão da carga inicial |

### 17.2 Rastreabilidade implementação ↔ requisito

| Requisito | Arquivo / componente | Observação |
|-----------|----------------------|------------|
| RF-001–RF-003 | [`cs-roadmap/registro.yaml`](./cs-roadmap/registro.yaml) | Fonte operacional |
| RF-002 | [`gerar_roadmap_cs_html.py`](../arquitetura-contratual/scripts/gerar_roadmap_cs_html.py) | `SDR: sdr-0027` no cabeçalho |
| RF-002 | [`roadmap-cs.html`](../arquitetura-contratual/site/roadmap-cs.html) | Consumidor |

### 17.3 Requisitos não-funcionais

| ID | Requisito | Métrica |
|----|-----------|---------|
| RNF-001 | Registro legível em PR | Diff YAML por item |

---

## 18. Checklist de Governança

- [x] Metadados completos (seção 1)
- [x] Status coerente com o ciclo de vida (`Em validação`)
- [x] Sem duplicar norma já dona em outro `sdr-*.md`
- [x] `traceability.md` atualizado para o script
- [ ] Revisores e data de aprovação quando **Status: Aprovado**

---

## Agentes de conformidade (Cursor)

| Agente | Regra Cursor | Norma em `SDRs/governance/rules/` |
|--------|----------------|-------------------------------------|
| Verificador de conformidade SDR | [`sdr-conformity-checker.mdc`](../.cursor/rules/sdr-conformity-checker.mdc) | [`sdr-conformity-checker.md`](./governance/rules/sdr-conformity-checker.md) |
| Detector de implementação sem vínculo SDR | [`implementation-without-sdr-detector.mdc`](../.cursor/rules/implementation-without-sdr-detector.mdc) | [`implementation-without-sdr-detector.md`](./governance/rules/implementation-without-sdr-detector.md) |
| Anti-vibecoding sem SDR | [`no-vibecoding-without-sdr.mdc`](../.cursor/rules/no-vibecoding-without-sdr.mdc) | [`no-vibecoding-without-sdr.md`](./governance/rules/no-vibecoding-without-sdr.md) |

**Processo:** [`governance/README.md`](./governance/README.md) · **Rastreabilidade código:** [`traceability.md`](./traceability.md) · **Checagem:** `python scripts/check_sdr_conformity.py` (na raiz do repositório).
