stack-RFC-024 — Superfícies de conhecimento: naming e portais (Atlas geo · Compêndios · Stack Explorer)
Resolve a colisão tripla do nome "Atlas" e a incoerência do portal de docs, decidindo a identidade e a URL pública de cada superfície de conhecimento da Koder Stack. Decisões: (1) **"Atlas" = cartografia/geo apenas** — fica exclusivo do serviço Koder Atlas (mapas, ex-Maps); nenhuma outra superfície usa "Atlas". (2) O compêndio enciclopédico de IA que vínhamos chamando de "Atlas da IA" passa a ser o **Compêndio de IA** (forma modular ilustrada, 7 partes), e **absorve** o `compendium/` denso antigo como camada de referência (fonte única por domínio, zero duplicação — D6). (3) Os três compêndios (IA, Criptografia, Blockchain) ganham um portal próprio **`compendium.koder.dev`**, separados do portal de engenharia por audiência. (4) O atual `meta.koder.dev` é renomeado (URL pública) para **`stack.koder.dev`** — o explorador do mapa da arquitetura da Koder Stack (grafo + cânone de engenharia); `meta/` permanece como path interno do monorepo (taxonomia RFC-003), inalterado. (5) O renderer (`koder-docs-render`) ganha o path do Compêndio de IA (`meta/docs/ia/compendium-ia/`), destravando a publicação — hoje o conteúdo construído não tem rota.
Status: draft · aguarda ratificação do owner. Escopo: identidade (nome) e entrega (URL) de cada superfície de conhecimento da Koder Stack. Não redesenha o grafo (isso é a RFC-021), nem o pipeline de render (esse é
site-publish.md) — só decide os nomes e as fronteiras e lista o trabalho que delas decorre.
1. Problema
Duas dores convergiram numa mesma sessão de trabalho (2026-06-27):
(a) Colisão tripla do nome "Atlas". O termo é usado em três contextos:
| # | "Atlas" hoje | O que é | Onde |
|---|---|---|---|
| 1 | Koder Atlas | serviço de mapas/geo (ex-Koder Maps; mapsd→atlasd) |
services/foundation/atlas · atlas.koder.dev (vivo) |
| 2 | Stack Atlas | grafo gerado de componentes (RFC-021) | home do portal de docs |
| 3 | Atlas da IA | compêndio enciclopédico de IA (esta sessão) | meta/docs/ia/atlas/ |
A política de nomes (forms.kmd R4.5 — proximity is not collision) não proíbe os três (slugs/tipos distintos), mas a clareza conceitual sofre: "Atlas" deixou de significar uma coisa só.
(b) Portal de docs incoerente. O meta.koder.dev empilha três produtos de audiências diferentes sob um nome que é jargão interno do repo:
| Camada | Conteúdo | Audiência |
|---|---|---|
| Grafo da Stack | visão aérea dos ~291 componentes | quem navega a arquitetura |
| Cânone de engenharia | RFCs, specs, policies, registries, modules, runbooks | builders + IA |
| Compêndios | IA, Criptografia, Blockchain | público aprendendo o tema |
"meta" não diz nada a quem chega; e os compêndios (públicos, didáticos) não têm afinidade de audiência com as policies internas.
(c) Consequência operária imediata: o compêndio de IA construído nesta sessão (meta/docs/ia/atlas/, 134 arquivos) não tem rota no renderer — koder-docs-render mapeia compendiums/ia → meta/docs/ia/compendium (o almanaque antigo), e desconhece o novo. Publicar hoje não colocaria o trabalho no ar.
2. Princípio orientador
"Atlas" = cartografia. O nome remete a uma base de mapas; portanto fica reservado ao serviço geo. Toda outra superfície recebe um nome que diga o que ela é. *Cada URL pública diz seu conteúdo; "meta" e "atlas" deixam de ser ambíguos.*
Ancorado em architecture-quality.kmd: D6 (fonte única, sem duplicação), D10 (conformância de naming), D12 (corrigir a causa — nomes/fronteiras indefinidos — não rotear a ambiguidade). E em content-location.kmd (single source por categoria).
3. Decisões
D1 — "Atlas" é exclusivo do serviço geo
Koder Atlas (slug koder-atlas, atlas.koder.dev, daemon atlasd) permanece como está — é o único dono do nome "Atlas" na Stack. Nenhuma outra superfície usa "Atlas" no display nem no slug. A RFC-021 perde "Atlas" do nome (ver D4).
D2 — "Atlas da IA" → Compêndio de IA
O compêndio enciclopédico de IA construído nesta sessão é renomeado de "Atlas da Inteligência Artificial" para "Compêndio de Inteligência Artificial" (Koder AI Compendium). Mantém a forma modular ilustrada (7 partes, 78 docs, 56 figuras) — não vira monolito. O termo "Compêndio" alinha com o que o código já fala (compendiums/...).
- Path:
meta/docs/ia/atlas/→meta/docs/ia/compendium-ia/.(Evita colisão com o
compendium/denso atual no mesmo nível durante a fusão; ver D3.)
D3 — O compêndio denso vira camada de referência do Compêndio (fusão)
O meta/docs/ia/compendium/ antigo (51 docs, 11 seções densas: almanaque de modelospapershardware) é absorvido no Compêndio de IA como sua camada de referência (apêndice denso / índice de almanaque), e então aposentado como corpo separado. Resultado: uma obra por domínio, duas altitudes (narrativa ilustrada + referência densa), fonte única (D6), sem duplicação.
Este é o padrão-gênero: um Compêndio por domínio, contendo a camada narrada + a camada de referência. Estende-se a Criptografia e Blockchain (ver §6, fora do escopo de execução desta RFC — só estabelece o padrão).
D4 — RFC-021 já renomeada p/ "Stack Graph" (convergente) (ou "Mapa da Stack")
A RFC-021 perde "Atlas" do nome para liberar o termo (D1). O grafo gerado de componentes passa a ser o Stack Graph (pt-BR: Mapa/Grafo da Stack). É rename de nome de RFC + conceito, não de artefato deployado (o stack-graph.json já se chama assim). Emenda registrada na própria RFC-021.
D5 — Portal de engenharia: meta.koder.dev → stack.koder.dev
O portal de docs+grafo é, em essência, o explorador do mapa da arquitetura da Koder Stack — onde o grafo dos componentes é a porta de entrada e os docs (RFCsspecspolicies) são a profundidade alcançada navegando. A URL pública passa a stack.koder.dev (com docs.koder.dev mantido como 301 → stack, e meta.koder.dev 301 → stack durante transição).
meta/(path do repo) NÃO muda — é taxonomia interna RFC-003. Só aURL pública e a identidade do site mudam.
D6 — Compêndios ganham portal próprio: compendium.koder.dev
Os três compêndios (IA, Cripto, Blockchain) saem do portal de engenharia e passam a viver em compendium.koder.dev — público, navegável entre domínios, com a home listando os compêndios disponíveis. Separação por audiência: builder vai ao stack., aprendiz do tema vai ao compendium..
D7 — Renderer ganha as rotas novas (destrava a publicação)
koder-docs-render (internal/docsrender/categories.go) passa a:
- apontar a categoria de IA para
meta/docs/ia/compendium-ia(o novo); - emitir os compêndios para o vhost
compendium.koder.dev(ou um prefixoroteável a ele), não mais sob
stack.
É a Fase 1 (catch-up do gerador) do site-publish.md — pré-requisito de qualquer publish.
4. Mapa final de URLs (estado-alvo)
| Domínio | É o quê (1 frase) | Mudança |
|---|---|---|
stack.koder.dev |
explorador do mapa da arquitetura da Stack (grafo + cânone de engenharia) | renomeado de meta.koder.dev |
compendium.koder.dev |
enciclopédias de domínio (IA, Cripto, Blockchain) | novo |
atlas.koder.dev |
serviço cartográfico/geo (Koder Atlas) | inalterado |
kds.koder.dev |
Koder Design System | inalterado |
<produto>.koder.dev |
landing de cada produto | inalterado |
meta.koder.dev · docs.koder.dev |
→ 301 stack.koder.dev |
redirect |
A federação front-door (o
stack.linkar das folhas do grafo para as landings/KDS de cada componente) é evolução futura da RFC-021, fora do escopo desta RFC (que só fixa nomes/portais).
5. Plano de execução (slices)
Trabalho que decorre das decisões. Cada slice é commit path-scoped (árvore compartilhada — ver notice atlas#010). Nenhum toca infra de prod sem o gate do owner.
| Slice | O quê | Toca |
|---|---|---|
| S1 | Rename de conteúdo: meta/docs/ia/atlas/ → compendium-ia/; reescrever frontmatter/títulos "Atlas da IA" → "Compêndio de IA"; ajustar refs internas |
docs (repo) |
| S2 | Fusão: absorver meta/docs/ia/compendium/ (51 docs) como camada de referência do Compêndio de IA; aposentar o corpo antigo; atualizar README de meta/docs/ia/ |
docs (repo) |
| S3 | Registry: registrar Compêndio de IA em component-names.md; emendar RFC-021 (Stack Atlas → Stack Graph); registrar os vhosts novos nos registries de naming/URL |
registries + RFC-021 |
| S4 | Renderer: koder-docs-render aponta IA → compendium-ia; rota de compêndios → compendium.koder.dev (Fase 1 catch-up) |
products/dev/koder-tools |
| S5 | Infra: vhosts stack.koder.dev (+301 de meta/docs) e compendium.koder.dev em sites.toml (Koder Jet); gerar + deploy off-laptop (s.khost1) |
infra (gated owner) |
| S6 | Cripto/Blockchain: aplicar o padrão-gênero (narrada + referência) — deferido, fora desta RFC; abre tickets | docs (futuro) |
Reversibilidade (D9): S1–S4 são docs/código (porta de mão dupla, fácil reverter). S5 toca infra viva (vhosts) — gated pelo owner, com 301s preservando links antigos. Sem migração irreversível.
6. O padrão-gênero "Compêndio" (estabelecido, não executado aqui)
Cada domínio do conhecimento = um Compêndio, com duas camadas:
- Narrada/ilustrada — o arco didático (como o Compêndio de IA: ciclo de
vida, tipos, história, capítulos, construção, domínios, apêndices).
- Referência densa — o almanaque (listas de modelospapersspecs/incidentes).
Aplica-se a IA (esta RFC executa), e deve ser estendido a Criptografia e Blockchain (S6, deferido). Todos publicam em compendium.koder.dev.
7. O que esta RFC NÃO decide
- O redesign do grafo / federação de landings+KDS no
stack.→ RFC-021(evolução futura).
- O pipeline de render/deploy em si →
site-publish.md(já existe). - Renomear o serviço geo → não; "Atlas" fica com ele (D1).
- A forma visual do
compendium.koder.dev(gerador novo × reuso dokoder-docs-render) → decisão de implementação no S4 (a registrar quando ratificada).
8. Decisão pendente do owner (ratificação)
Ao ratificar, confirmar:
stack.koder.devcomo nome do portal de engenharia (alternativasconsideradas: manter
meta, usardocs.). ☐compendium.koder.devcomo portal dos compêndios. ☐- "Compêndio de IA" como nome (Atlas → geo). ☐
- Fundir o
compendium/denso no Compêndio (D3) × mantê-lo separado. ☐ - Ordem de execução dos slices S1–S5. ☐