ADR-0025: Ingestão de Documentação Técnica (`./docs/`) com Filtros de Exclusão | Wiki
ADR-0025: Ingestão de Documentação Técnica (./docs/) com Filtros de Exclusão
Este documento especifica a decisão de arquitetura para a expansão do motor de sincronização de documentação estática em Gleam puro (sync_wiki.gleam), incluindo a varredura e conversão de todos os documentos Markdown em ./docs/**/*.md (ADRs, EARS e especificações técnicas) para o formato .djot em apps/gbr_ssg/content/wiki/docs/, com suporte a uma lista de exclusão (blacklist).
1. Contexto e Motivação
Atualmente, o motor sync_wiki.gleam varre os README.md dos pacotes (./packages/) e aplicações (./apps/). No entanto, uma parcela fundamental do nosso conhecimento de engenharia reside sob o diretório ./docs/ (especialmente em ./docs/00-ADR-EARS/).
Para centralizar e disponibilizar 100% da documentação formal na Wiki navegável do gerador estático gbr_ssg, precisamos estender o sincronizador para ingerir a árvore ./docs/.
Ao mesmo tempo, é essencial ter um mecanismo de filtragem (lista de exclusão) para ignorar rascunhos em ./docs/99-DRAFT/, arquivos temporários ou de brainstorm bruto em ./docs/_MISC/00-Brainstorm/, arquivos compactados (*.zip) ou documentos redundantes que não devem ser publicados publicamente/privadamente.
2. Decisão Arquitetural
-
**Extensão do Módulo de Sincronização Gleam (
sync_wiki.gleam):** - Adição de varredura recursiva para o diretório./docs/(e fallback../../docs). - Implementação de regras configuráveis de exclusão (blacklist patterns): - Pastas a ignorar:_MISC/00-Brainstorm,99-DRAFT,.github. - Arquivos a ignorar:README.mdna raiz de./docs/(quando redundante), arquivos.zipou rascunhos. - Preservação da hierarquia de subpastas na Wiki (ex:./docs/00-ADR-EARS/gbr_ssg/01-visao.md$\rightarrow$content/wiki/docs/00-ADR-EARS/gbr_ssg/01-visao.djot). -
*Formatação Frontmatter TOML Standardizada:* Cada documento extraído de
./docs/receberá o frontmatter TOML:toml +++ title = "[Título do Documento] | Wiki Docs" description = "Especificação técnica e registro de decisão da engenharia." category = "Documentação" order = 1 layout = "wiki" +++ -
*Sanitizador e Resolução de Links Internos (Questionário Crítico):* Para evitar links quebrados entre documentos convertidos (ex: referências relativas a outros arquivos
.md), o conversor ajustará extensões.mdpara.htmlnos links internos e resolverá caminhos sob a rota/wiki/docs/.
3. Requisitos EARS
*Requisitos Ubíquos (Ubiquitous Requirements)*
- *UBQ-01 (Varredura de Documentação Central):* O motor de sincronização DEVE ler recursivamente todos os arquivos .md sob ./docs/ e convertê-los para a estrutura .djot em content/wiki/docs/.
- *UBQ-02 (Filtros de Exclusão/Blacklist):* O motor DEVE aplicar rigorosamente as regras de exclusão configuradas, desconsiderando pastas e padrões de arquivos marcados como ignorados.
*Requisitos de Resposta a Eventos (Event-Driven Requirements)*
- *EVT-01 (Execução Pré-Build Transparente):* QUANDO gleam run for executado no gbr_ssg, O sistema DEVE sincronizar ./docs/, ./apps/ e ./packages/ antes de compilar os arquivos HTML em ./dist/.