docs/ — Source of Truth

docs/ — Source of Truth

Diretório canônico de toda decisão arquitetural, fluxo, estudo e operação do ZapNotei.

Regra: decisão consequente → ADR novo (NUNCA editar existente). Mudou stack/fase/schema → atualizar fragmento correspondente + ultima_atualizacao no frontmatter.


Mapa de navegação

Pasta / ArquivoConteúdoQuando consultar
adr/44 ADRs (Accepted) + template + README índiceAntes de TODA decisão técnica consequente
arquitetura/11 fragmentos (00-10) + dominio-mapeamento + dominio-migracao + setup-aws-kms + principios-hexagonal-tokenizacaoAntes de tocar stack, infra, hexagonal
flowmaps/21 flowmaps numerados + wireframes/ (63 surfaces) + wireframes/prototypes/ (HTML navegáveis) + sessoes-chat/Antes de codar UI, flow conversacional, ou rota Next.js
studies/27 studies de libs/serviços (1 por dependência da stack)Antes de implementar lib/SDK/API
runbooks/15 runbooks (setup vendors + incident response + LGPD + restore + Vercel env real values)Em incidente operacional ou setup novo
implementation-plan/1 plano executável (F1.0a auth+onboarding); cresce conforme sub-fases destravamAntes de codar features de uma sub-fase com ≥10 tasks dependentes
telemetry/events catalog (~125) + implementation-spec + governanceAntes de emitir evento novo
prd/9 arquivos PRD v4.1 (executive summary → DoD)Para escopo de produto / aprovação
brand-voice/9 docs (princípios → microcopy → checklist)Antes de escrever copy user-facing
eval/Eval set methodology (gates F1.2a NFS-e ≥95% / F1.2b NF-e ≥90%)Antes de tocar prompt LLM ou modelo
audits/Audits pós-implementaçãoPós-marco arquitetural

Arquivos raiz docs/

ArquivoTópico
plano-fases.mdCronograma 5 fases + sub-fases F1 (F0/F1.0/F1.1/F1.2a/F1.2b/F2/F3/F4/F5)
schema-db.mdModelo de dados Postgres + RLS multi-tenant 3 níveis (account → companies → memberships)
clientes-crm.mdCRM PJ+PF (apelido + auto_save + painel UI + LGPD) — ADR-0013 + ADR-0035
error-taxonomy.mdCódigos Focus + LLM + auth + crypto + business → severity → recovery → mensagem PT-BR
session-lifecycle.mdTipos sessão, TTL, drafts, transferência intencional, recovery
conversational-philosophy.md9 princípios bot adaptativo + anti-engessamento + táticas

Bidirecionalidade

Mudança consequente em qualquer doc obriga atualização cruzada. Padrão:

Mudou emAtualizar
adr/NNNN-*.md (NOVO)adr/README.md índice + arquivos consumidos pelo ADR
arquitetura/0X-*.mdultima_atualizacao no frontmatter + ADR se decisão mudou
schema-db.mdMigrations correspondentes + ADRs que tocam o schema + flowmaps consumidores
flowmaps/NN-*.mdWireframes correspondentes + protótipos navegáveis afetados
studies/<lib>-study.mdAdapter em app/src/adapters/<categoria>/ quando lib for implementada
telemetry/events.mdSchema Zod em app/src/core/telemetry/events.ts (lint CI bloqueia drift)
runbooks/<incident>.mdDisciplina ADR-0008 (runbooks como source of truth executável)
plano-fases.mdCLAUDE.md bootstrap state se cronograma mudou

Política inegociável

  • NUNCA editar ADR existente — supersede via ADR novo. Path web/... em ADR ≤ 0042 lê-se como app/... (interpretation layer ADR-0047)
  • NUNCA commit .env ou secrets em claro
  • NUNCA console.log de PII (CPF/CNPJ/A1/senhas/OTP) — usar app/src/core/redact/pii.ts
  • Antes de tocar fluxo conversacional: ler flowmap correspondente. Antes de tocar lib: ler study. Antes de tocar ADR: criar novo.

Não consultar

  • app/ para decisões — código é consequência, não fonte da verdade
  • design-system/ para regras de produto — só visual
  • _local-context/ para arquitetura — é contexto operacional do dev, não doc canônica

Ver também

On this page