🧿 Reunião de engenharia: o montador de BP é cego?

ep012 · brainstorm às cegas — Claude (Opus) e GPT-5.6 Sol (full) analisaram o mesmo código sem ver a análise um do outro · 26/07/2026
REPROVA: 42.2 sem espaço livre solver = física de retângulos bug ato↔painel confirmado bug do modo-administrador (achado do Sol) 2 análises convergiram

1 · Quem monta o BP (a cadeia)

Três peças, e nenhuma delas vê imagem ou história:

2 · Como ele enxerga — literalmente

Ele enxerga isto (e só isto). Esquerda: o que o solver recebe do P1. Direita: o que devolve. Nenhum pixel de desenho participa — um camelo e um altar são o mesmo retângulo azul.

visão do montador sobre o P1
Cego de três formas (diagnóstico igual nas duas análises):

3 · Por que o ep012 reprovou

4 · Por que o lettering não gruda no desenho

O vínculo morre no bootstrap: o desenho guarda o beat (beat_map["A1:asset"]=n), mas a frase guarda só o ato ((ato, texto)). No formato do lettering.json não existe campo pra dizer "esta frase é do desenho X" — não tem beat, owner, ancora, nada. Asset e frase saem do MESMO campo visual do textos.json e são separados exatamente no momento em que a associação ainda existia de graça.

5 · As duas análises, lado a lado

Claude (Opus)
  • Solver = física de caixas; gate policial sem remediação (viola a regra gate detecta E conserta).
  • Achou o cruzamento ato↔painel e o confirmou no layout.json.
  • Teste empírico: P1 isolado também reprova (4 violações mascaradas pelos pinos).
  • Proposta: serpentina de slots em ordem de beat + frase ancorada como grupo rígido + gate com escada de remédios + juiz visual IA opcional no still final.
GPT-5.6 Sol (full, às cegas)
  • Mesmo diagnóstico: "ele enxerga essencialmente retângulos"; beat_map carregado mas nunca usado.
  • Achou o mesmo cruzamento A4/A6 e o bug da restauração sem recálculo (has_fixo).
  • Proposta: unidade narrativa por beat (asset+letterings num JSON só), validação de dados ANTES da geometria, função de custo com penalidade por inversão de ordem, escada de reparos com 8 degraus, pino não vira mais modo-administrador do painel inteiro.
Convergência total em: cegueira geométrica · beat_map ignorado pelo layout · vínculo frase↔desenho morre no bootstrap · bug ato↔painel · gate deve reparar antes de reprovar · pinos continuam soberanos.
Diferença útil: Sol modela beat como unidade (dados); eu modelei a leitura como serpentina de slots (algoritmo). As duas se encaixam: o dado dele + o layout meu.

6 · Exemplo prático: P1 do ep012

Esquerda: como o montador atual deixa (frases órfãs boiando no meio, painel tecnicamente REPROVADO). Direita: rascunho da proposta — beats em ordem de leitura ①→⑦, cada frase colada no seu desenho (pinos b1/b4/b5 do Edigard preservados).

P1 atual × proposta

Rascunho ilustrativo (posições da tabela da proposta; o reparador final ajustaria os detalhes — ex.: a frase do b7 na borda).

6.5 · 🔄 Rodada 2 — feedback do Edigard: "muita área com nada!"

A serpentina foi rejeitada: área morta demais, disposição rígida demais, e âncora de lettering não — a frase tem que ser livre. Princípios corrigidos da v2:
serpentina rejeitada × mural cheio

6.6 · 🎨 Rodada 3 — receita "mão de desenhista" (aprovando?)

Correções do Edigard sobre a rodada 2: a âncora NÃO foi rejeitada — ela vira âncora elástica (frase colada no dono: embaixo, lateral ou em cima, nunca solta/distante); lettering vertical é exceção; e referência visual = disposição feita pelo GPT (densa, com sombras). Regras do mock abaixo:
P1 v3 mão de desenhista

7 · Decisões — sua vez 🎯

Opção A · recomendada pelos dois

Reconstruir o montador (v2 narrativo)

Custo: ~1 dia de trabalho · resolve ep012 e todos os próximos · é a fundação certa pros 013-020.
Opção B · conserto mínimo

Remendar o atual e tocar o ep012

Custo: ~2h · destrava o ep012 hoje · mas letterings continuam órfãos e sem ordem de leitura.
Opção C · manual

Ajustar o ep012 no Mini Canva e adiar a reforma

Você arruma os 6 painéis à mão (pinos), o gate respeita, renderiza. Rápido pra 1 episódio, mas o problema volta em todos os outros 8.
Decisão extra: incluir o juiz visual com IA (1 render do still → 1 olhada semântica: "algo tampado? composição legível? frase perto do desenho certo?") como camada final do montador novo? Barato, e é o único jeito de dar "olho humano" a um sistema que continuará geométrico por dentro. Sim / Não?
Sugestão dos dois lados: A+B combinadas — aplicar o remendo B hoje pra destravar o ep012, e construir a v2 (A) antes de rodar os 013-020 em série.

Fontes: bp_geometry.py · bp-dinamico.py · qed_bootstrap_mural.py · ep012-{mural,lettering,layout}.json · saída real do build_bp. Análises íntegras nos arquivos claude_bp_analise.md e sol_bp_analise.md (scratchpad da sessão).