# Regras — agente, prompts e editores (SDRs / fonte única)

Estas regras aplicam-se a **toda** alteração a arquivos em **`SDRs/`** (e, por consequência, à coerência com o [índice](./sdr-0003-indice-fonte-unica.md)). O **SDR** (*Spec Driven Record*) é a referência de trabalho dos agentes de IA para gerar e manter documentos `.md`, documentos da contratação, informações auxiliares e o site. Para o **restante** do repositório (`arquitetura-contratual/`, `processo-contratacao/02_planejamento_in94/`, etc.), use o bom senso e o processo do órgão; **não** estão sujeitos à seção 1 abaixo, salvo decisão explícita da equipe.

**Convenções gerais do repositório** (mapa de pastas na raiz, política de rótulos **C1-GOV** / **C2-OPR** / **C3-SEC** em material novo e encaminhamento de vínculo código ↔ SDR): dono **[sdr-0022-repositorio-convencoes-e-construcao.md](./sdr-0022-repositorio-convencoes-e-construcao.md)** — este arquivo **não** duplica o conteúdo do 0022.

---

## 1. Fonte única **entre arquivos `sdr-*.md`**

1.1. **Âmbito:** a regra de **uma única cópia** aplica-se **só** ao conjunto dos documentos `sdr-<NNNN>-<descricao-curta>.md` (quatro dígitos + slug). **Não** exige que a Proposta, a IMR, o ANS ou outros entregáveis deixem de conter o texto completo — isso é **outro** requisito, opcional, de alinhamento.

1.2. **Obrigatório:** cada **especificação** (requisito, regra, percentual, exceção, definição) que conste nos SDRs deve existir, na íntegra, em **um e só um** arquivo `sdr-*.md` (o **dono** no [índice](./sdr-0003-indice-fonte-unica.md)). **Proibido** repetir o **mesmo** parágrafo normativo em **dois** SDR diferentes como se ambos fossem donos.

1.3. **Entre SDRs:** o segundo tópico que precisar do mesmo conceito deve **remeter** ao dono: link Markdown, ex. `[regra X](./sdr-0001-arquitetura-tres-contratos.md#secao)`, ou **uma** frase de contexto + link — **não** duplicar o texto canônico.

1.4. **Fora dos SDRs:** a Proposta, o HTML, a estimativa, etc. **podem** manter redação longa, tabelas e anexos; não violam a regra 1.2. Se no futuro a equipe quiser **reduzir** duplicação em relação aos SDRs, isso é governação à parte (não é definido aqui como obrigatório).

---

## 2. Nome e organização (`sdr-*.md`)

2.1. Nome do arquivo: **`sdr-<NNNN>-<descricao-curta>.md`**: **NNNN** = quatro dígitos (zeros à esquerda), sequência de criação do SDR; **descricao-curta** = hífens, minúsculas, sem espaços.

2.2. **Novo SDR:** usar o próximo **NNNN** (**maior número existente + 1**), registrar no [índice](./sdr-0003-indice-fonte-unica.md) e na tabela de mapeamento histórico desse arquivo.

2.3. Cada arquivo agrupa especificações **coerentes** (mesmo domínio: IMR, parque, trava, ANS, etc.).

2.4. Atualizar o **[sdr-0003-indice-fonte-unica.md](./sdr-0003-indice-fonte-unica.md)** sempre que se criar tema novo, novo dono, ou se mudar o mapeamento **entre SDRs**.

---

## 3. Referências cruzadas

3.1. **Entre** `sdr-*`: use links relativos, ex. `[regra X](./sdr-0001-arquitetura-tres-contratos.md#secao)`.

3.2. **Dos** entregáveis (Proposta, justificativas) **para** `sdr-*`: **opcional**; útil quando se quiser rastreio “ver também SDR”.

3.3. **Do** `sdr-*` **para** Proposta/IMR/ANS: links de apoio ou leitura; **não** é regra deste documento impor “Proposta = só resumo”.

---

## 4. Ordem de trabalho em um pedido de alteração (especificação em SDR)

0. **Planejar** (quando o pedido for levar a **edição** de arquivos do repositório por agente): ver política em [sdr-0021-planejamento-pre-alteracao-agente.md](./sdr-0021-planejamento-pre-alteracao-agente.md) — no Cursor, **priorizar modo Planejamento** e o **formato estruturado** de plano + confirmações de [`.cursor/rules/inicio-sessao-agente.mdc`](../.cursor/rules/inicio-sessao-agente.mdc) **antes** das ferramentas de escrita; **mutações só em modo Agente** (não em Ask); em início de sessão, aplicar a **toda** alteração da sessão.
0a. **Edição exclusiva de SDR normativo:** se o pedido alterar qualquer `SDRs/sdr-*.md`, seguir [sdr-0021 §8.4](./sdr-0021-planejamento-pre-alteracao-agente.md#84-alteração-exclusiva-de-sdrs-normativos) — mensagem **dedicada** (recomenda-se comando `/alterar-sdr` em [`.cursor/commands/alterar-sdr.md`](../.cursor/commands/alterar-sdr.md)); **proibido** misturar no **mesmo** plano/objetivo a propagação a site, `processo-contratacao/`, ANS modelo, TR, Proposta ou IMR **sem** exceção explícita do usuário listando todos os arquivos. Regra Cursor: [`.cursor/rules/sdr-edicao-exclusiva-fonte-verdade.mdc`](../.cursor/rules/sdr-edicao-exclusiva-fonte-verdade.mdc).
1. **Localizar** o dono no [índice](./sdr-0003-indice-fonte-unica.md) (ou decidir criação de novo `sdr-*`).
2. **Editar** o texto **só** nesse arquivo SDR (ou, se a mudança for transversal, escolher **um** SDR dono e os outros **apenas** com links).
3. Se existir outro `sdr-*` que **citava** o trecho antigo, atualizar **só** o link ou a frase de remissão — **não** copiar o parágrafo novo para lá.
4. **Atualizar** o [INDICE_PROCESSO.md](../processo-contratacao/00_controle_geral/INDICE_PROCESSO.md) se o processo o exigir.
5. **Propagação** a site, Proposta, TR, ANS, `processo-contratacao/`, etc.: **só** quando o pedido ou o processo o exigirem; ordem **SDR dono → consumidores** conforme [sdr-0025-propagacao-sdr-consumidores-site-contratacao.md](./sdr-0025-propagacao-sdr-consumidores-site-contratacao.md) (tipicamente **depois** do passo 0a, em objetivo separado).
6. Quando o pedido for "gerar documento", "atualizar site" ou "criar minuta", usar os `sdr-*` como fonte de desenho antes de editar o consumidor.

---

## 5. Pedidos de prompt (O que o usuário / agente pode explicitar)

- **Arquivo `sdr-*` dono** (ou “criar: sdr-…”)  
- **Se** deve também alinhar Proposta, TR ou outro arquivo (passo **extra**, não da seção 1)  
- **Se** a mudança é normativa **ou** só de redação

Se o prompt não disser, o agente edita o SDR dono e **evita** duplicar o mesmo conteúdo em outro SDR.

---

## 6. Exceções (dentro do âmbito dos SDRs)

- O arquivo [sdr-0003-indice-fonte-unica.md](./sdr-0003-indice-fonte-unica.md) e [REGRAS-AGENTE-E-PROMPTS.md](./REGRAS-AGENTE-E-PROMPTS.md) são **metadocumentos** (índice e regras), não repositório de regras de negócio duplicadas com outros SDR.
- Citações de lei ou de modelos oficiais: cópia integral **fora** de `sdr-*` continua possível; os SDRs **podem** resumir e remeter, sem exigir que a norma exista **só** no SDR dono.

---

## 7. Conflito **entre** dois arquivos `sdr-*.md`

- Unificar a regra em um **único** dono; o outro arquivo passa a remeter. Atualizar o [índice](./sdr-0003-indice-fonte-unica.md).  
- **Não** confundir conflito “Proposta vs SDR”: isso **não** é objeto da regra 1; resolve-se por decisão da equipe ou processo.

---

*Detalhe normativo fica em `sdr-*.md` (um tópico, um dono entre SDRs).*
