📚 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.
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
🔒 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.
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
🧪 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 fonte | O que vai nela |
|---|---|
| Cabeçalho | Tipo, origem (URL) e Arquivo: raw/..., o caminho exato para conferir |
| ## Resumo | 5 a 10 linhas: do que a fonte trata e o que ela defende |
| ## Ideias centrais | Uma ideia por linha, cada uma com um trecho curto entre aspas |
| ## Como ele ensina aqui | O jeito de ensinar que aparece nessa fonte (é o que vira método, não persona) |
| ## Ligações | Links [[...]] 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
🛰️ 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.
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
✅ 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.
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.
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.
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".
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.
📊 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.
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).
Fase 1 aprovada: 21 itens, 187.382 palavras, stats.py exit 0. Acervo commitado.
Fase 2: /nei-compilar com 5 subagentes, 3,3 min, 73 páginas, 1.223 links, validar_links exit 0, raw intacto.
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
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.