SKILL.md — journal-arena ENB-Pro v4.0 (edição exclusiva pré-submissão)
Propósito: revisão cientométrica completa de um manuscrito antes da submissão ao periódico Energy and Buildings (método de codificação), executada por agentes reais em modelos locais — a divisão original em 16 grupos, <=100 executores, cada chamada separada e registrada. Todo em português. Todas as capacidades v3.1 mantidas (grounding duplo, ledger, corpus, matrix, council, kit, guard) mais a onda da máquina sobre input/ (map, precheck, figureqc, diffnum) e a equipe de redatores pós-conselho com especialistas em figuras.
0. As leis (todo agente, todo modelo, toda fase)
- Lei do dever único — cada agente possui EXATAMENTE uma parte (seu cartão do grupo G em
groups/16-group-playbooks.md); observações fora do dever vão para no máximo uma nota encaminhada (severidadestyle). - Lei do grounding duplo — todo julgamento avaliativo carrega DUAS âncoras: (a) uma citação exata da LITERATURA ESTUDADA com id da fonte + localizador (
[L:e4-012 ...]dework/ledger.jsonl), e (b) uma citação exata do manuscrito, apenas onde uma alegação está sendo mapeada. Sem (a) => colocado em quarentena, nunca contado. Exceção: constatações determinísticas de conformidade com regras (anchor_type: rulebook|machine,lit_quote_id: L:rule-<id>onde o id existe emchecklists/ou um enforcement do motor) são FATOS — verificados pela máquina por meio dematrix3.py rule_exists. - Lei do valor da decisão — veredito + no máximo 3 movimentos acionáveis + as citações. Nada de resumos meramente parafraseados. O ledger deduplica; atividade sem decisão é desperdício.
- Lei do nível de evidência — corpo=1,0 > resumo=0,5 > livro de regras=1,0 (determinístico) > metadados=0 (quarentena). Toda citação carrega seu nível.
- Licença de verificação — acesso somente leitura às fontes e a
input/; o manuscrito nunca sai da máquina do proprietário exceto por decisão explícita--attachdo proprietário (POL-AI-5 para modelos online; modelos locais estão isentos). - PRIV-1...PRIV-6 —
engine/humanize.pyé um módulo derivado PRIVADO: nunca publicá-lo;guard_private.py scandeve imprimir limpo antes de QUALQUER pacote sair desta máquina (builds públicas o excluem — veja NOTICE.md). - Lei da não fabricação — nunca inventar números; valor ausente =
[número necessário], resolvido apenas pelo autor. Nenhuma pontuação de detector decide. - Lei da não exagero — nenhuma alegação maior que sua evidência; inflação de alegação é pontuada e vetável (G11 meta-auditoria + peso da rubrica da arena).
- Lei da honestidade de execução — todo artefato registra QUEM o executou:
indep: machine(ferramenta determinística — um fato) ·harness(chamadas de modelo separadas via engine/harness.py, chave apenas do env do proprietário) ·human(proprietário ou colagem de volta) ·single(um modelo usando vários chapéus — uma simulação rotulada). "100 agentes" só é verdade com 100 chamadas separadas (campaign.py) — caso contrário ésingle. Constatações de executor único NUNCA confirmam um P0 sozinho: P0 precisa de confirmação da máquina, >=2 executores independentes ou a aprovação do proprietário. - Lei do diff de artefatos (NOVA, decisão do proprietário 2026-10-12) — agentes NUNCA executam o pipeline de pesquisa (consome tempo; trabalho do proprietário). O proprietário deposita as saídas do pipeline em
input/results/(manifestos, JSONs de auditoria, tabelas, CSVs, logs) e o código eminput/pipeline/(revisão estática somente leitura).engine/diffnum.pyvarre cada número do manuscrito contra os artefatos (RASTREADO / NÃO RASTREADO); números não rastreados tornam-se achados de máquina para G8 e candidatos a[número necessário]. Uma bandeira NÃO RASTREADO é um acerto de varredura, não prova de erro — honesto por construção.
1. Decisões registradas
Carregadas da v3.1 (proprietário, 2026-10-09/11): code_scope=research_code · tier1_journals=[Energy and Buildings (primário), Applied Energy, Building & Environment, Energy, Journal of Building Engineering, Energy and AI] · corpus_axis=manuscript-derived (work/corpus/axis.json) · corpus_counting=body-access-only · corpus_ceiling=20 + suficiência (estudo FECHADO em E6 128 / E2 82 / E4 76 contáveis; âncoras depositadas em work/ledger.jsonl) · humanizer_mode=distilled-brief.
Novas (proprietário, 2026-10-12): Edição exclusiva ENB-Pro — todo em português · divisão de agentes EXATAMENTE a topologia original v2 (16 grupos de deveres, ondas de 10, <=100 executores reais) · execução em modelos LOCAIS (atual: qwen3.5:4b; código otimizado para classe 4B) · pipeline nunca executado por agentes (lei 10) · contrato de zona input/ · equipe de redatores inclui especialistas em figuras FIG-MPL + FIG-GV · figuras devem atender ao mais avançado ofício ENB (modelos fornecidos).
2. Topologia — a divisão original em 16 grupos (fonte única: groups/16-group-playbooks.md)
G1 título · G2 resumo · G3 palavras-chave-destaques-GA · G4 introdução-lacuna · G5 revisão de literatura · G6 metodologia-codificação · G7 dados · G8 resultados-consistência · G9 estatísticas-UQ · G10 discussão-alegações · G11 recomendações+meta-auditoria (veto) · G12 referências-integridade · G13 ética-política · G14 formatação-kit · G15 linguagem-estilo · G16 simulação de revisor.
Matemática da divisão (campaign.py): N=100 => G1–G4 x7 + G5–G16 x6 = exatamente 100 slots (v2 usava ceil => 112; Pro honra a lei do proprietário <=100), ondas de 10, ids de agente G6-a03. Equipe de redatores pós-conselho (6 funções fixas): WR-TEXT-1/2/3, FIG-MPL, FIG-GV, STAT-CHECK.
3. Pipeline (ondas, retomável)
W-machine run.py prep --work work --input input (map, precheck, figureqc,
diffnum, inventory — sem chave)
W-division run.py campaign run --work work [--agents 100] (executores reais, lei 9;
retomável; checkpoint após cada grupo: check + matrix + council)
ou MODO AGENTE (sem chave; GitHub clone-&-run conforme AGENTS.md): briefs da campanha ->
o agente clonador responde work/answers/<slot>.txt -> campaign
ingest-dir --indep single (carimbo honesto: um modelo, 100 chapéus)
W-aggregate run.py check/matrix/council work/findings.jsonl ...
W-writers run.py campaign run --stage writers --work work (após vereditos do conselho)
W-apply task/05 + apply_revisions.py (proprietário aprova; rastreabilidade: apenas cópias)
W-kit kit.py strip --src input/manuscript.txt --out <cópia-submissão> + figureqc clean
W-release LICENSE / DOI Zenodo / depósito de dados (Opção C) / declaração de IA Generativa
4. Âncoras e pools
Linhas do ledger mantêm seus E-gids v3.1; a campanha mapeia grupos de deveres para pools:
G2,G7,G8 -> E6 (integridade 319 âncoras) · G4,G5 -> E2+E4 (novidade/metodologia 412) · G6,G9 -> E4(+linhas do repositório E5) · todos os outros grupos: âncoras do livro de regras de checklists/ (L:rule-*). Briefs incorporam <=20 âncoras (corte de 120 caracteres) — o ÚNICO pool citável (lei 2).
5. Contrato para modelos pequenos (modelos locais classe 4B)
Prompts: resumo das leis ~700 caracteres + cartão de dever + <=20 âncoras + excerto do manuscrito relevante ao dever APENAS (<=6000 caracteres, mapeado por seção) + fatos da máquina + um exemplo few-shot em JSONL. Geração: max_tokens 1200, perfil de temperatura 0,2–0,5, /no_think para família qwen3 (padrão), uma tentativa de parse, extração robusta (fences/vírgulas finais/objetos concatenados). Espere quarentena agressiva pelos portões — isso é o sistema funcionando, não falhando; rendimento realista em 4B: 2–4 achados sobreviventes por executor.
6. Layout e comandos
checklists/ engine/ groups/ input/ sources/ task/ templates/ demo/ work/
Entrada: python3 engine/run.py prep|campaign|diffnum|figureqc|harness|map|precheck|matrix|council|check|validate|ledger|corpus|kit|apply|guard|stage —
RUNNER.md é o guia de conexão (Ollama/API/colagem de volta). NOTICE.md: privacidade, status de licença, variáveis de ambiente.