SDR — Site HTML e rastreabilidade editorial

Página estática gerada a partir do Markdown do repositório — o texto abaixo já vem no HTML (adequado a importação por URL em ferramentas que não executam o ver-md.html). Arquivo: sdr-0017-site-html-rastreabilidade.md

SDR — Site HTML e rastreabilidade editorial

Eixo: Ambos (Modelo de Servicos | Arquitetura Contratual | Ambos)

Campo Valor
SSoT Sim — dono das regras para agentes manterem o site, paginas HTML e rastreio com documentos Markdown
Estado âncora para arquitetura-contratual/modelo-central-servicos.html e site/

1. Finalidade

Garantir que o site seja uma interface de navegacao e explicacao do modelo, alinhada aos SDRs e aos documentos de contratacao.

2. Regras canônicas

  • O site nao deve ser dono de regra normativa quando houver sdr-* dono.
  • Paginas HTML podem conter resumo, visualizacao e texto explicativo, mas devem apontar a fonte.
  • A versao multipagina em site/ deve manter navegacao por temas: inicio, governanca, operacao, seguranca, planejamento, aspectos comuns, mapa de localidades e outros.
  • O arquivo continuo modelo-central-servicos.html pode funcionar como documento de referencia ampliado.
  • Alteracao em SDR que afete site deve atualizar links, resumos e blocos de texto integral quando existirem.

3. Estrutura minima do site

  • pagina inicial com arquitetura C1/C2/C3;
  • pagina de governanca com IMR, ANS, RACI, glosas e PPSI/LGPD;
  • pagina de operacao com escopo C2, niveis e capacidade;
  • pagina de seguranca com escopo C3, SOC, IAM, backup e continuidade;
  • pagina de planejamento com DFD, ETP, TR, riscos, precos e SDRs;
  • pagina de aspectos comuns com evidencia, preco, transicao, ARRC e integracao.
  • pagina de mapa de localidades (mapa-ibama.html) com Leaflet, dados gerados e legenda de precisao de coordenada.
  • Marca / titulo do site: texto unico Central de Serviços de TI em <title> das paginas (padrao {Secao} — Central de Serviços de TI quando couber), <h1> da pagina inicial (site/index.html), rodape (<footer>) das paginas HTML e no documento modelo-central-servicos.html. Nao usar a expressao legada Modelo de Contratação de Operações de TI (misturava eixo de serviços com contratação; ver glossario-eixos.md).
  • Busca nas paginas multipagina em site/: interface em site/assets/js/site-search.js, indice estatico em site/assets/js/site-search-index.js (gerado; nao editar manualmente como fonte), geracao pelo script arquitetura-contratual/scripts/gerar_site_search_index.py a partir dos HTML do site. Ao alterar titulos ou conteudo relevante para busca, regenerar o indice e validar na UI.
  • Siglas (tooltip de texto): script arquitetura-contratual/site/assets/js/siglas.js, incluido com <script src="./assets/js/siglas.js" defer></script> nas paginas multipagina do site/ (e em ver-md.html) que devem oferecer o glossario. O tooltip e o atributo nativo title do HTML em <abbr class="sigla" title="…">…</abbr> (comportamento do navegador, nao biblioteca de UI). O script percorre o texto visivel fora de code, pre e svg, envolvendo ocorrencias exatas das chaves do objeto GLOSSARIO definido no proprio siglas.js; em SVG, usar o mecanismo documentado no arquivo (SVG_TITULOS). HTML ja marcado com <abbr class="sigla" …> (ex.: tabela RACI) permanece. Nova sigla: acrescentar chave e texto do title no GLOSSARIO; manter comentario de cabecalho do arquivo alinhado a este SDR. Nao duplicar aqui a lista inteira de entradas — a fonte operacional das chaves e o JS.
  • Espelho estatico no Firebase (site/repositorio/): gerado por arquitetura-contratual/scripts/sync_site_repositorio.py antes do deploy — copia SDRs/, Informacoes-gerais/, PPSI/, arquivos-chave de processo-contratacao/, Markdown de apoio em Dados-ibama/ e minutas em arquitetura-contratual/ para URLs profundas sob o mesmo public do Hosting. Os links ver-md.html?f= devem usar caminhos relativos a site/ (ex.: repositorio/SDRs/sdr-0001-….md). O documento ampliado e publicado como site/modelo-central-servicos.html (copia pelo mesmo script, com reescrita de links internos). Limitacao: arquivos .md servidos como estaticos nao passam pelo access-gate.js; o token protege sobretudo a entrada pelas paginas HTML que carregam o gate (ver comentario em site/assets/js/access-gate.js).
  • HTML estatico por SDR (site/sdr/): gerado por arquitetura-contratual/scripts/gerar_html_estatico_sdrs.py a partir de SDRs/sdr-*.md — uma pagina .html por SDR com conteudo completo no primeiro carregamento (importacao por URL em ferramentas que nao executam o fetch do ver-md.js). Inclui site/sdr/index.html (catalogo). Dependencia Python: markdown (lista em requirements-gerar-html-sdr.txt). Guia para Notebook LM: docs/notebook-lm-fontes.md. Ordem sugerida com deploy: sync_site_repositorio.pygerar_html_estatico_sdrs.pygerar_site_search_index.py.
  • Lista de URLs para Notebook LM (site/sdr/urls.txt): gerado pelo script arquitetura-contratual/scripts/gerar_site_search_index.py ao final de sua execucao — contem uma URL absoluta por linha cobrindo todas as paginas do site (site/*.html + site/sdr/*.html), exceto paginas utilitarias (ver-md.html, planejamento-redirect.html). URL publica: https://centralservicos.web.app/sdr/urls.txt. Usar essa URL diretamente no campo "Adicionar fonte por URL" do Notebook LM (ou equivalente) para importar todo o corpus do site de uma vez. O arquivo e regenerado automaticamente a cada deploy; nao editar manualmente.
  • Verificacao de links e inventario de URLs (Notebook LM): script arquitetura-contratual/scripts/verificar_links_e_inventario_site.py — varre href/src nos HTML do site/, valida destinos no disco (inclui ver-md.html?f=), grava site/diagnostico/relatorio-links-falhas.{md,json} e gera site/notebook-lm-urls.txt (uma URL absoluta .html por linha, virgula no final; opcional --include-repo-md mapeia espelho repositorio/SDRs/sdr-*.md para URL sdr/sdr-*.html, nunca .md no inventario). Rodar apos sync + HTML estatico; --base-url (default https://centralservicos.web.app).
  • Roadmap CS: pagina roadmap-cs.html (subitem de Outros); registro em SDRs/cs-roadmap/registro.yaml; geracao da tabela por gerar_roadmap_cs_html.py. Esquema normativo: sdr-0027nao abrir segundo SDR so para o roadmap.

4. Regras para agentes

  • Ao editar site, preservar links relativos e navegacao.
  • Nao duplicar tabelas longas sem indicar fonte.
  • Se uma regra mudar, atualizar primeiro o SDR dono e depois o site; a ordem SDR → consumidores (site, minutas, processo-contratacao/) em processos de agente está em sdr-0025 — edição de sdr-*.md em pedido dedicado: sdr-0021 §8.4.
  • Usar linguagem curta, navegavel e coerente com o documento tecnico.
  • Ao incluir nova pagina HTML em site/ que deva ter glossario de siglas, carregar siglas.js como as demais e validar tooltip em termos do GLOSSARIO.
  • Ao alterar .md embutidos no visualizador offline, rodar node arquitetura-contratual/tools/gerar-bundle-md-portatil.mjs para atualizar portable-md-bundle.js.

5. Consumidores

Site HTML, README de arquitetura-contratual/, apresentacoes e revisoes de arquitetura contratual e de serviços.

6. Mapa Leaflet (Ibama — localidades)

A pagina arquitetura-contratual/site/mapa-ibama.html, os scripts site/assets/js/mapa-ibama-data.js (gerado) e site/assets/js/mapa-ibama-init.js, o link em site/outros.html, e os KML em Dados-ibama/ estao especificados em sdr-0020 (comandos de regeneracao, casamento de nomes, variante byCodex e variante dimensionamento). Nao duplicar aqui o procedimento completo.

Ao regenerar o site/mapa a partir dos SDRs:

  1. Rodar python Dados-ibama/gerar_mapa_ativos_bycodex.py.
  2. Rodar python Dados-ibama/_calc_mapa_ativos.py.
  3. Rodar python Dados-ibama/gerar_kml_mapa_ibama.py.
  4. Confirmar que site/mapa-ibama.html carrega assets/js/mapa-ibama-data.js e assets/js/mapa-ibama-init.js.

Ligacoes


Agentes de conformidade (Cursor)

Os três agentes abaixo aplicam-se à edição e à revisão dos arquivos SDRs/sdr-*.md (exceto SDRs/templates/ e normas em SDRs/governance/). Este bloco é informativo; use o script na raiz do repositório para diagnóstico estrutural.

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

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