MÓDULO 3.1

🗄️ Raw imutável, wiki viva

Na trilha 2 você juntou o acervo do especialista. Ele é grande, cru e repetitivo, e por isso não serve como memória do mentor. Aqui você aprende a congelar esse acervo, compilar uma wiki curta e interligada a partir dele, e provar com um comando que a wiki está pronta.

6
Tópicos
50
Minutos
Core
Nível
Prático
Tipo
0%0 de 6
1

📚 Por que o acervo cru não serve como memória

No piloto, o acervo do Nei terminou com 22 fontes e 189.406 palavras: 14 lives (177.982 palavras, quase 13 mil por live) e 8 guias (11.424 palavras). É muito texto para o mentor ler a cada pergunta, e o pior não é o tamanho: é a forma. Legenda de live é fala picada, cheia de conversa com a turma, e a mesma ideia aparece espalhada em dezenas de pontos diferentes.

🆕 Novo aqui? Quatro palavras deste módulo

  • Acervo: tudo o que você coletou do especialista na trilha 2 (legendas de lives, guias, textos), do jeito que chegou.
  • Raw: a pasta raw/ do projeto, onde o acervo fica guardado sem edição. "Raw" é "cru" em inglês.
  • Wiki: a pasta wiki/, com páginas curtas em Markdown, uma por assunto, ligadas entre si por links do tipo [[nome-da-pagina]].
  • Contexto: o texto que o modelo tem "na frente" quando responde. Tem limite de tamanho e custa a cada chamada, por isso o que entra nele precisa ser curto e certeiro.
raw/ · 22 fontes 189 mil palavras, fala picada compilar ler, resumir, ligar fontes/ temas/ métodos/ princípios/ index log hot porta de entrada

Como ler: à esquerda está o que você tem depois da coleta: muito texto, sem estrutura. À direita está o que o mentor consulta: páginas curtas, cada uma sobre uma coisa, ligadas entre si. O mentor entra pelo hot (20 linhas), segue os links e só abre o arquivo cru quando precisa conferir uma citação.

✗ Mentor lendo o acervo cru

  • ✗189 mil palavras não cabem numa resposta; ele lê pedaços e não sabe o que deixou de fora
  • ✗Cita o primeiro trecho que acha, não o que mais pesa no método da pessoa
  • ✗Não enxerga que uma ideia volta em 18 fontes, o que a torna central
  • ✗Mistura conversa de live ("boa noite, galera") com ensinamento

✓ Mentor lendo a wiki compilada

  • ✓Uma página por conceito, com o enunciado e trechos curtos entre aspas
  • ✓Sabe quantas fontes sustentam cada ideia e começa pelas mais citadas
  • ✓Cada trecho aponta o arquivo do raw/ de onde veio, para conferir
  • ✓Entra pelo hot.md, que cabe inteiro no contexto

Raw guarda

A prova do que foi dito

Wiki ensina

O que o mentor consulta

Hot abre

20 linhas de porta

Peso

Nº de fontes que citam

2

🔒 Raw somente leitura: o hash denuncia alteração

Depois da coleta, ninguém edita o raw/: nem você, nem o agente. A wiki e, na trilha 4, as regras citam trechos desse acervo. Se o raw muda, a citação passa a apontar para um texto que o especialista nunca disse, e você perde a única forma de separar a fala dele da "correção" de alguém. A regra vale até quando o raw está feio: no piloto, as legendas picadas continuaram como foram coletadas, e o conserto foi no coletor e no validador (módulo 3.2).

🆕 O que é um hash sha256?

É uma "impressão digital" de 64 caracteres calculada a partir do conteúdo de um arquivo. Mudou um único espaço, a impressão muda inteira. O coletor grava essa impressão no raw/MANIFESTO.json no momento da coleta; o tools/stats.py recalcula e compara. Se não bater, ele acusa. Não é cadeado: é alarme.

Um item real do raw/MANIFESTO.json do piloto

{
  "id": "guia-maestro-roteador-triagem-de-modelo-e-esforco-para-ded1b",
  "tipo": "guia",
  "url": "https://inematds.github.io/maestro-roteador/guia/",
  "titulo": "maestro-roteador — triagem de modelo e esforço para Claude Code",
  "arquivo": "raw/guia/maestro-roteador-triagem-de-modelo-e-esforco-para--ded1bc.md",
  "coletado_em": "2026-10-05",
  "palavras": 1418,
  "sha256": "b8540f7c45b432d3779817b05f659e1a84a82a9d46c33d38a00d8ecc0b351039"
}

O id vira o nome da página em wiki/fontes/; o sha256 é a impressão digital que trava o arquivo.

arquivo em raw/hoje sha256 agorarecalculado sha256 gravadoMANIFESTO.json stats.py comparaiguais? igual → exit 0 diferente → exit 1"raw alterado depois da coleta"

Como ler: a impressão gravada no dia da coleta não muda nunca. O stats.py tira uma impressão nova e compara as duas. Um espaço a mais no fim de um guia já basta para cair no caminho vermelho.

🧪 Copy-run A — confira que o seu raw está intacto

Objetivo: rodar a mesma checagem que fecha a fase 1, agora como prova de que ninguém tocou no acervo.

cd ~/projetos/mentor-<slug>
python3 tools/stats.py; echo "exit=$?"

Saída real no piloto (mentor-nei):

tipo          itens   palavras   meta
guia              8      11424   ≥5 itens / ≥8000 pal.
video            14     177982   ≥10 itens / ≥60000 pal.
TOTAL            22     189406

OK: acervo dentro das metas
exit=0

Como verificar: a última linha tem que ser exit=0. Qualquer linha começando com "raw alterado" significa que algo foi editado depois da coleta.

🧪 Copy-run B — teste negativo numa cópia

Objetivo: ver o alarme tocar. Um validador que nunca reprovou não provou nada. O teste roda numa cópia descartável, nunca no projeto.

rm -rf /tmp/raw-teste
cp -r ~/projetos/mentor-<slug> /tmp/raw-teste
cd /tmp/raw-teste
echo " " >> raw/guia/<um-arquivo-do-seu-raw>.md
python3 tools/stats.py; echo "exit=$?"
cd ~ && rm -rf /tmp/raw-teste

Saída real no piloto (um espaço acrescentado ao guia do makeshorts):

REPROVADO:
  - raw alterado depois da coleta (sha256 diferente): raw/guia/makeshorts-fabrica-de-shorts-com-ia-70fe54.md
exit=1

Como verificar: exit=1 e o nome exato do arquivo que você mexeu. Depois do rm -rf, o projeto original continua dando exit=0.

💡 Dica prática

Commite o raw/ logo depois que a fase 1 der exit=0 (o piloto fez isso: "fase 1: acervo (21 itens, 187k palavras)"). Assim, se algo mexer no acervo, o git diff raw/ mostra o que foi e o git checkout raw/ desfaz.

Somente leitura

Depois da coleta

sha256

Impressão digital

stats.py

Recalcula e compara

Teste negativo

Sempre numa cópia

3

🧪 Compilar não é copiar

Compilar, aqui, é ler uma fonte inteira e escrever uma página nova e curta com o que ela ensina, trechos literais pequenos que provam isso e links para os conceitos que ela toca. Copiar é colar blocos do raw na wiki: o tamanho não cai, a estrutura não aparece e o mentor continua lendo fala picada.

Seção da página de fonteO que vai nela
CabeçalhoTipo, origem (URL) e Arquivo: raw/..., o caminho exato para conferir
## Resumo5 a 10 linhas: do que a fonte trata e o que ela defende
## Ideias centraisUma ideia por linha, cada uma com um trecho curto entre aspas
## Como ele ensina aquiO jeito de ensinar que aparece nessa fonte (é o que vira método, não persona)
## LigaçõesLinks [[...]] para temas, princípios e métodos

Trecho real: wiki/fontes/guia-execucao-longa-...-b4357.md

- Tipo: guia
- Arquivo: raw/guia/execucao-longa-agentes-que-trabalham-horas-e-dias--b43579.md

## Ideias centrais
- O objetivo precisa ser provado por comando: "comandos cuja saída prova que terminou."
- Parar por estagnação: "Três ciclos sem avanço mensurável = parar e chamar o humano."
- Cache custa: "Perder o cache custa 12,5x a 25x."

## Como ele ensina aqui
- Pede conferência independente no fim: "Confira você mesmo (rode o teste final,
  veja o hash dos testes)"

## Ligações
- Princípios: [[criterio-de-pronto-explicito]], [[verificar-antes-de-afirmar]],
  [[medir-antes-de-acreditar]]
- Métodos: [[execucao-longa-com-estado-em-arquivos]], [[guia-de-projeto-landing]]

Repare: a ideia vem em palavras da wiki, o trecho entre aspas vem literal do raw, e os links levam a páginas que outras fontes também alimentam.

✓ Compilado

  • ✓Página de fonte cabe numa tela
  • ✓Trechos curtos, literais, com o arquivo de origem
  • ✓Cada fonte liga ao menos um conceito
  • ✓Separa o que a pessoa defende de como ela ensina

✗ Copiado

  • ✗Blocos longos de legenda colados na página
  • ✗Trecho "melhorado" que já não existe no raw
  • ✗Página isolada, sem link de saída
  • ✗Resumo genérico que serviria para qualquer especialista

Uma por fonte

Nome = id do manifesto

Trecho literal

Curto e conferível

Como ensina

Matéria-prima do método

Ligações

≥1 link de saída

4

🛰️ Subagentes por lote

Uma sessão só não lê 189 mil palavras com atenção. A skill /<slug>-compilar divide as fontes em lotes e entrega cada lote a um subagente. Cada um escreve as páginas de fonte do seu lote e devolve uma lista de temas, princípios e métodos candidatos. O agente principal junta tudo: mesmo conceito vira uma página só.

🆕 Novo aqui? Subagente e lote

Subagente é uma segunda sessão do Claude Code que o agente principal dispara com uma tarefa fechada. Ele tem contexto próprio (não enxerga a conversa principal) e devolve só o resultado. Lote é um grupo de fontes. No piloto, 21 fontes viraram 5 lotes, 4 ou 5 fontes por subagente.

raw/ 21 fontes subagente · lote 1 subagente · lote 2 subagente · lote 3 subagente · lote 4 subagente · lote 5 agente principal junta mesmo conceito = mesma página 18 temas · 12 princípios · 19 métodos

Como ler: o leque roxo divide o trabalho; o leque ciano traz de volta só o essencial (páginas de fonte e candidatos). A parte que exige visão do todo, decidir que "conferir o resultado real" e "o OK da ferramenta não prova nada" são o mesmo princípio, fica com o agente principal, que é o único que vê todos os lotes.

🧪 Copy-run — pedido de compilação para colar no Claude Code

Objetivo: rodar a fase 2 no seu mentor com lotes explícitos e raw protegido. Abra o Claude Code na pasta do projeto do mentor e cole:

/<slug>-compilar

Acervo: raw/MANIFESTO.json (<N> itens). Divida as fontes em <5> lotes e use um
subagente por lote.

Cada subagente:
- escreve wiki/fontes/<id>.md para cada item do lote (Resumo de 5 a 10 linhas,
  Ideias centrais com trechos curtos e literais entre aspas, "Arquivo: raw/...",
  Como ele ensina aqui, Ligações);
- devolve uma lista de temas, princípios e métodos candidatos, cada um com as
  fontes que o sustentam.

Depois junte os candidatos (mesmo conceito = mesma página), escreva temas/,
principios/, metodos/, index.md, hot.md e log.md, rode
python3 tools/validar_links.py e mostre a saída completa.
Não altere nada em raw/.

Como verificar: três comandos, todos seus, não do agente: ls wiki/fontes | wc -l deve dar o mesmo número de itens do manifesto; python3 tools/validar_links.py; echo "exit=$?" deve terminar em exit=0; e python3 tools/stats.py; echo "exit=$?" continua em exit=0 (raw intacto depois da compilação).

⚠️ Atenção

Subagente não decide o que é tema ou princípio: ele só propõe. Se cada lote criar suas próprias páginas de princípio, você termina com "verificar-antes", "conferir-resultado" e "nao-confiar-no-ok" como três páginas diferentes, e a contagem de fontes de cada uma fica baixa. A junção é o passo que dá peso às ideias.

Lote

4–5 fontes por subagente

Candidatos

Proposta, não página

Junção

Só o principal vê tudo

Raw intocado

stats.py depois

5

✅ validar_links.py: o "pronto" da fase 2

"A wiki ficou boa" não é critério. O kit define pronto como um comando com saída esperada: python3 tools/validar_links.py terminando com exit 0. O script só usa a biblioteca padrão do Python e checa a estrutura da wiki inteira em segundos.

🆕 O que é exit code?

Todo programa de terminal devolve um número ao terminar. 0 quer dizer "deu certo"; qualquer outro número quer dizer falha. O echo "exit=$?" logo depois do comando mostra esse número. É ele que o mentor (e você) usa para dizer "pronto", e não a frase do agente.

1

Todo [[link]] aponta para uma página que existe

Link quebrado é caminho sem saída para o mentor. Nomes repetidos em pastas diferentes também reprovam, porque deixam o link ambíguo.

2

Toda página de fonte tem ≥1 link de saída

Fonte sem link é fonte que não alimentou nenhum conceito: foi lida e esquecida.

3

Todo princípio liga pelo menos uma fonte

Princípio sem fonte é opinião da IA vestida de especialista. Esta é a regra que mais protege o "método, não persona".

4

Nº de páginas em fontes/ = nº de itens do manifesto, e existem index, hot e log

Garante que nenhuma fonte ficou de fora e que os três arquivos de controle (módulo 3.2) estão lá.

🧪 Copy-run — rode o validador e depois force uma reprovação

Objetivo: ver o "pronto" passar no projeto e reprovar numa cópia com um link inventado.

cd ~/projetos/mentor-<slug>
python3 tools/validar_links.py; echo "exit=$?"

rm -rf /tmp/wiki-teste
cp -r ~/projetos/mentor-<slug> /tmp/wiki-teste
cd /tmp/wiki-teste
echo '[[pagina-que-nao-existe]]' >> wiki/hot.md
python3 tools/validar_links.py; echo "exit=$?"
cd ~ && rm -rf /tmp/wiki-teste

Saída real no piloto (primeiro no projeto, depois na cópia):

76 páginas, 1304 links, 22 fontes
OK: 0 links quebrados
exit=0

76 páginas, 1305 links, 22 fontes
REPROVADO:
  - link quebrado em hot.md: [[pagina-que-nao-existe]]
exit=1

Como verificar: o primeiro bloco termina em exit=0; o segundo conta um link a mais, nomeia o arquivo e o link quebrado e termina em exit=1.

💡 Dica prática

O validador prova estrutura, não qualidade. Uma wiki pode dar exit 0 e ainda soar como IA genérica. A segunda metade do "pronto" é humana: ler o hot.md e responder se reconhece o especialista. Isso é o módulo 3.2.

6

📊 A fase 2 do piloto em números

Com a fase 1 aprovada (21 itens, stats.py exit 0), o Nei rodou /nei-compilar no mentor dele. O diário do piloto registrou o resultado em uma linha. Estes são os números, sem arredondar para cima.

5
subagentes, um por lote
3,3 min
de compilação
73
páginas na wiki
1.223
links entre páginas
exit 0
validar_links, raw intacto
8/10
"hot reconhecível"

De onde vêm as 73 páginas

fontes/       21   uma por item do manifesto
temas/        18   o que ele domina
principios/   12   o que ele defende repetidamente
metodos/      19   como ele faz
controle       3   index.md, hot.md, log.md
-----------------
total         73

Depois do teste de ingestão da trilha 6 (um guia novo), a wiki foi para 76 páginas, 22 fontes e cerca de 1.300 links (1.304 na saída real acima).

16:05

Fase 1 aprovada: 21 itens, 187.382 palavras, stats.py exit 0. Acervo commitado.

16:15

Fase 2: /nei-compilar com 5 subagentes, 3,3 min, 73 páginas, 1.223 links, validar_links exit 0, raw intacto.

16:15

Leitura humana: hot reconhecível, nota 8/10. E um problema anotado: trechos de vídeo picados no meio da frase (o caso real do módulo 3.2).

Checagem rápida: o agente terminou a compilação e escreveu "wiki pronta, tudo interligado". O que prova que a fase 2 acabou?

Minutos

Não horas

Exit 0

Estrutura provada

Nota humana

Reconhecível ou não

Diário

Problema anotado na hora

📌 Resumo do Módulo

✓
Acervo não é memória - 189 mil palavras de fala picada não cabem nem ensinam; a wiki curta e ligada, sim.
✓
Raw somente leitura - o sha256 no manifesto denuncia qualquer alteração; o stats.py é o alarme.
✓
Compilar ≠ copiar - resumo, ideias com trecho literal, como ensina, ligações.
✓
Subagentes por lote - eles propõem candidatos; o agente principal junta.
✓
Pronto = exit 0 - validar_links.py, com teste negativo numa cópia.
✓
Piloto real - 5 subagentes, 3,3 min, 73 páginas, 1.223 links, nota 8.

Próximo Módulo:

3.2 - Fontes, temas, princípios e métodos: o que vai em cada página, o hot do Nei e como julgar se a wiki é a pessoa ou IA genérica.