🛠️ A Mão na Massa
Sabendo onde o ouro está, agora você o garimpa. Esta trilha roda os scripts de verdade: o debloat que destila uma sessão pesada numa transcrição leve, e o extract/compare que tira o corpus de cada modelo e mede o delta Fable vs Opus em números reais.
Mapa da trilha
Conteúdo detalhado
🧪 Debloat: Destilando a Transcrição
O que jogar fora, o que guardar, o script que faz isso e os ~74% que somem — sem perder o ritmo.
A maior parte de uma sessão JSONL é gordura: tool_result com a saída ecoada, dumps de arquivo inteiros, saída de comando e anexos em base64. Carregar o cru no contexto é desperdício.
Sem destilar, qualquer análise afoga o sinal em bytes opacos — e custa contexto à toa.
Saída ecoada + blobs = peso, não comportamento; o cru não cabe no contexto.
Preserva seus prompts, o texto do assistente, o message.model, 1 linha por tool_use (nome + alvo curto) e a PRESENÇA de raciocínio (marca 🧠, já que o texto vem cifrado).
É exatamente o ouro — decisões, ordem das ações e cadência — que o playbook vai usar.
Mantém o ritmo, não a saída; marca 🧠 = pensou (sem revelar o quê).
Joga fora os payloads de tool_result, os blobs de anexo e a contabilidade do harness — usage, uuids, isMeta, sidechain.
É o que pesa e não carrega sinal de comportamento — descartar não muda o ritmo medido.
Saída ecoada e metadados do harness saem; o "o quê foi feito" fica.
Roda no demo_session.jsonl por padrão; aceita -o (saída), --no-thinking e --no-open; imprime o tamanho antes/depois.
É a primeira ferramenta da mão na massa — você vê o formato leve na prática.
Default = demo; -o escolhe a saída; mostra antes → depois.
Numa sessão típica o debloat corta cerca de 74% do peso — a gordura era a maior parte do arquivo.
Calibra a expectativa: o sinal cabe num arquivo pequeno e legível.
−74% típico; o ~26% restante é o ouro que você analisa.
Cada bloco do assistente é uma LINHA separada; o debloat preserva a ordem, então você vê o assistente em vários cabeçalhos seguidos. É normal.
É por isso que a análise agrupa em TURNO LÓGICO — senão o sinal se dilui por linha.
Ordem preservada; vários cabeçalhos = um turno; agrupe por prompt humano.
📊 Corpus, Números e o Delta Fable vs Opus
Extrair o corpus por modelo, medir o ritmo em números reais, comparar dois modelos e ler o delta com honestidade.
extract_corpus.py --model claude-fable-5 extrai TODOS os turnos de um modelo de todo o histórico (todos os projetos). --list mostra os modelos presentes.
É o que separa o corpus de cada modelo — a base de toda comparação.
Filtra por message.model; varre projetos inteiros; --list revela os modelos.
Um turno lógico é 1 prompt humano até o próximo. Como cada bloco é uma linha, medir por linha distorce — por isso as métricas são por turno lógico.
É a unidade que revela "quanto o modelo fez para responder àquele prompt" — o ritmo real.
Prompt → prompt; agrupa blocos; toda métrica é por turno lógico.
Turnos lógicos, % que pensaram antes, ferramentas/turno (média e mediana), read-antes-de-edit e teste-depois-de-edit — tudo medido, não estimado de cabeça.
Trocar impressão por número é o que torna o achado defensável e transferível.
Presença de raciocínio + densidade de ferramentas + ordem (read→edit→test).
compare_models.py --a claude-fable-5 --b claude-opus-4-8 imprime a tabela lado a lado e a coluna Δ; --out compare.json grava o resultado.
O Δ é a matéria-prima do playbook — a diferença entre os dois ritmos.
Duas colunas + Δ; cada linha é uma métrica; salva em compare.json.
Fable-5 pensou antes em 99% dos turnos vs Opus 54% (+45 pontos). Ferramentas/turno: 6,57 vs 7,86 (Fable mais econômico).
⚠ Atualização: medido depois em amostra grande (4.892 passos), o número honesto é ~85% (não 99%) e o gap cai pra +31 pts — e aparece um gap escondido em teste-após-editar (41% vs 2%). Veja a Trilha 4 · A Prova Real.
É o achado forte e transferível — vira a regra-âncora "pense antes de agir".
Honestidade: mais ferramentas ≠ melhor (densidade vs thrashing).
A amostra de Fable é pequena (7 sessões), o que deixa read-before-edit/test-after-edit ruidosos; e o texto do raciocínio vem cifrado — mede-se a presença, não o conteúdo.
Saber o que NÃO afirmar é o que mantém o curso honesto e defensável.
Onde o Fable era fraco: over-thinking no trivial, verbosidade.