Skip to content

feat: brainstorm em opus, implementação em sonnet, haiku só no deploy + teto de fontes - #16

Merged
tbc-joaovitor merged 2 commits into
mainfrom
feat/regra-modelos-e-teto-fontes
Aug 7, 2026
Merged

tbc-joaovitor merged 2 commits into
mainfrom
feat/regra-modelos-e-teto-fontes

Conversation

@tbc-joaovitor

Copy link
Copy Markdown
Contributor

Fecha o bead -drn. Conteúdo reescrito para o espelho público, não copiado do repo interno.

Regra de modelos

A anterior — haiku implementa, sonnet revisa, opus só a pedido — economizava, mas degradava a qualidade: implementar ADVPL/TLPP ou Fluig é decidir regra de negócio a cada linha, não preencher template.

Papel Modelo
Brainstorm / design opus — gate duro: a skill para e pede /model opus
Implementação sonnet
Review / QA sonnet
Deploy / compilação haiku (só os *-deployer)

Nenhum agente troca de modelo por conta própria. Decisão de design que aparece no meio da implementação volta ao brainstorm — não vira escalada ad-hoc.

Teto de fontes — SOLID deixou de virar enxurrada de arquivo

Um fonte gigante é problema; vinte fontes minúsculos também. Cada .tlpp entra no patch, compila, versiona e é conferido na documentação de customizações.

Protheus — orçamento por porte (ajuste: 1 fonte · rotina média: até 3 · desenvolvimento grande: 1 por camada por contexto), teto de ~800 linhas por fonte e ~500 por classe, e o registro de que TLPP aceita mais de uma classe no mesmo fonte — classes coesas do mesmo papel ficam juntas.

Fluig — critério diferente de propósito: por consumidor, não por linha. Service extraído só com 2+ consumidores ou quando o teste exige o dublê, já que o Angular obriga multi-arquivo por componente.

Virou gate, não conselho

Lista de artefatos fechada no plan; implementers reportam BLOCKED em vez de criar arquivo fora da task; spec-reviewers tratam arquivo não previsto como CRÍTICO, com arquivo:linha.

Versões

protheus 2.15.0 · fluig 2.2.0 · rollup do kit 2.7.0 (CHANGELOG + badge do README).

⚠️ Sobreposição com o PR #14. O badge na main está em 2.1.0 enquanto o rollup do CHANGELOG está em 2.6.1 — o drift que o #14 corrige. Aqui o badge vai para 2.7.0, seguindo a convenção do RELEASING.md, o que conflita com o #14 nessa linha. Mas o #14 também adiciona a regra "o badge rastreia o rollup, nunca a versão de um plugin", que vale manter. Sugestão: mergear o #14 primeiro — o conflito aqui é de uma linha.

Validação

tests/run-all.sh verde · checagem plugin.json ↔ marketplace.json (a que entrou no #15) passando · varredura de vazamento sobre o diff e a árvore: zero ocorrência de nome de cliente, ticket interno, caminho de arquivo de cliente ou URL interna.

🤖 Generated with Claude Code

tbc-joaovitor and others added 2 commits August 7, 2026 10:50
… + teto de fontes

Regra de modelos revisada. A anterior (haiku implementa, sonnet revisa, opus só a
pedido) economizava, mas degradava a qualidade: implementar ADVPL/TLPP ou Fluig é
decidir regra de negócio a cada linha, não preencher template.

- opus: brainstorm/design, com gate duro — as skills brainstorm param se a sessão
  não estiver em opus e mandam o dev rodar /model opus
- sonnet: implementação e review/QA
- haiku: só deploy/compilação (protheus-deployer, fluig-deployer)

Nenhum agente troca de modelo por conta própria; quem escala é o dev.

Também adiciona o teto de fontes ao SOLID/clean-architecture dos dois plugins:
camada != arquivo, orçamento de fontes por porte, piso e teto de tamanho, e o
registro de que TLPP aceita mais de uma classe no mesmo fonte (verificado em
código compilado em produção). No Fluig a regra é por consumidor, não por linha —
o Angular já obriga multi-arquivo por componente.

A lista de artefatos passa a ser fechada no plan: os implementers não criam
arquivo fora da task (reportam BLOCKED) e os spec-reviewers tratam arquivo não
previsto como CRÍTICO, com arquivo:linha.

Bump: protheus 2.15.0, fluig 2.2.0, rollup do kit 2.7.0 (CHANGELOG + badge do
README, que estava defasado em 2.1.0).

Validado local: tests/run-all.sh verde e a checagem de consistência
plugin.json <-> marketplace.json (portada no PR #15) passando.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tbc-joaovitor
tbc-joaovitor merged commit 95cad8f into main Aug 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant