From 08bd5869b783771bd111d26c590a37f5896f170d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Vitor=20Ribeiro=20Santos?= <60783014+tbc-joaovitor@users.noreply.github.com> Date: Tue, 21 Jul 2026 13:16:16 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20regras=20de=20execu=C3=A7=C3=A3o=20nos?= =?UTF-8?q?=20implementers=20+=20andrej-karpathy-skills=20no=20marketplace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Os agentes protheus-implementer e fluig-implementer rodam em contexto isolado no Agent Team: não herdam CLAUDE.md do dev nem skill nenhuma. Era ali que nasciam o over-engineering e o chute de campo/API. - Seção "Execução" nos dois implementers com 4 regras: nunca adivinhar (consultar MCP ou reportar NEEDS_CONTEXT), código mínimo que resolve a task, mudança cirúrgica e toda linha alterada rastreia até a task. - Entrada andrej-karpathy-skills no marketplace apontando para o upstream multica-ai/andrej-karpathy-skills (MIT, forrestchang) com sha pinado — sem fork e sem cópia de texto. - Bump protheus 2.14.1 e fluig 2.1.1 + entrada [2.6.1] no CHANGELOG. - Corrige drift de release: protheus/plugin.json estava 2.14.0 enquanto o marketplace.json dizia 2.13.0 desde o release da 2.14.0. RELEASING.md exige que os dois batam. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude-plugin/marketplace.json | 24 ++++++++++++++++++++++-- CHANGELOG.md | 25 +++++++++++++++++++++++++ fluig/.claude-plugin/plugin.json | 2 +- fluig/agents/fluig-implementer.md | 13 +++++++++++++ protheus/.claude-plugin/plugin.json | 2 +- protheus/agents/protheus-implementer.md | 13 +++++++++++++ 6 files changed, 75 insertions(+), 4 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 6c25241..e78fdd8 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -13,7 +13,7 @@ "name": "fluig", "source": "./fluig", "description": "Plugin para desenvolvimento TOTVS Fluig — ciclo completo: design (brainstorm), scaffolding (widget/dataset/form/workflow), revisão estática + testes (review) e deploy (verify).", - "version": "2.1.0", + "version": "2.1.1", "author": { "name": "DataAgile" }, @@ -30,7 +30,7 @@ "name": "protheus", "source": "./protheus", "description": "Plugin para desenvolvimento TOTVS Protheus — ciclo completo: brainstorm → plan → implement (Agent Teams) → deploy TDS-CLI → qa E2E → verify, geradores MVC/REST/query, dicionário de dados, SmartView/TReports e Knowledge Base remota (155k+ registros).", - "version": "2.13.0", + "version": "2.14.1", "author": { "name": "DataAgile" }, @@ -76,6 +76,26 @@ "test-agents", "automation" ] + }, + { + "name": "andrej-karpathy-skills", + "source": { + "source": "github", + "repo": "multica-ai/andrej-karpathy-skills", + "sha": "2c606141936f1eeef17fa3043a72095b4765b9c2" + }, + "description": "Guidelines comportamentais para reduzir erros comuns de LLM em código: pensar antes de codar, simplicidade primeiro, mudanças cirúrgicas, execução orientada a critério verificável. Upstream de terceiro (MIT, forrestchang) — listado aqui só para distribuição, sem fork; sha pinado.", + "version": "1.0.0", + "author": { + "name": "forrestchang" + }, + "category": "workflow", + "tags": [ + "guidelines", + "best-practices", + "code-quality", + "karpathy" + ] } ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index f79c69c..1b12c0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,31 @@ Histórico das versões públicas do `dataagile-agent-kit`. --- +## [2.6.1] — 2026-07-21 + +### O implementer parou de adivinhar e de "melhorar" código alheio (protheus 2.14.1 · fluig 2.1.1) + +Os agentes `protheus-implementer` e `fluig-implementer` rodam em **contexto isolado** dentro do +Agent Team: não herdam o `CLAUDE.md` do dev nem skill nenhuma. Era exatamente ali que nasciam o +over-engineering e o chute de campo/API — o agente inferia o comportamento pelo nome e seguia. + +- **Quatro regras de execução agora fazem parte do prompt dos dois agentes:** *nunca adivinhar* + (chave, campo, função ou comportamento desconhecido → consultar o MCP ou reportar + `NEEDS_CONTEXT`; inferir pelo nome está proibido), *código mínimo que resolve a task* (sem + feature além da pedida, sem abstração de uso único, sem configurabilidade não solicitada), + *mudança cirúrgica* (não reformatar nem "melhorar" código adjacente; código morto pré-existente + se reporta, não se apaga) e *toda linha alterada rastreia até a task*. +- **Nova entrada no marketplace: `andrej-karpathy-skills`.** Guidelines comportamentais para + reduzir erros comuns de LLM em código, apontando para o upstream + `multica-ai/andrej-karpathy-skills` (MIT, forrestchang) com **sha pinado** — sem fork e sem + cópia de texto, então não há drift e a licença fica com o autor. Instalação: + `/plugin install andrej-karpathy-skills@claude-skills-dataagile`. +- **Correção de release:** `protheus/.claude-plugin/plugin.json` estava em `2.14.0` enquanto o + `marketplace.json` ainda dizia `2.13.0` — o release da 2.14.0 bumpou só um dos dois arquivos. + Os dois voltaram a bater, como o `RELEASING.md` exige. + +--- + ## [2.6.0] — 2026-07-14 ### Regras do SonarQube EngPro agora são gate na hora da gravação (protheus 2.14.0) diff --git a/fluig/.claude-plugin/plugin.json b/fluig/.claude-plugin/plugin.json index abcb4e7..9b88ee6 100644 --- a/fluig/.claude-plugin/plugin.json +++ b/fluig/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "fluig", "description": "Plugin Claude Code para desenvolvimento TOTVS Fluig — ciclo completo: brainstorm, planejamento, implementação com teammates (TDD), deploy, QA (E2E Playwright), verificação. Scaffolding de formulários, datasets, widgets Angular 19 + PO-UI, workflows BPM.", - "version": "2.1.0", + "version": "2.1.1", "author": { "name": "TBC - Time de Desenvolvimento" }, diff --git a/fluig/agents/fluig-implementer.md b/fluig/agents/fluig-implementer.md index 064bf17..6f1e9c0 100644 --- a/fluig/agents/fluig-implementer.md +++ b/fluig/agents/fluig-implementer.md @@ -150,3 +150,16 @@ PRÓXIMOS PASSOS: - **Nunca ficar preso silenciosamente** — se bloqueado, reportar imediatamente - Se receber feedback de reviewer, corrigir e re-reportar sem necessidade de redespacho + +### Execução + +- **Nunca adivinhar** — API Fluig, assinatura de dataset, evento de workflow ou componente + PO-UI que você não conhece: consultar o MCP (`searchFluigApi` / `searchFluigPatterns` / + `searchKnowledge`, MCP `po-ui` para componentes) ou reportar `NEEDS_CONTEXT`. Inferir pelo + nome está proibido. +- **Código mínimo que resolve a task** — sem feature além da pedida, sem abstração de uso + único, sem configurabilidade não solicitada, sem tratamento de erro para cenário impossível. +- **Mudança cirúrgica** — não "melhorar" código adjacente, comentário ou formatação; manter o + estilo do arquivo existente mesmo que você faria diferente. Código morto pré-existente: + reportar, não apagar. Órfão criado pela SUA mudança: remover. +- **Toda linha alterada rastreia até a task** — se não rastreia, não entra. diff --git a/protheus/.claude-plugin/plugin.json b/protheus/.claude-plugin/plugin.json index 336959b..ffd1565 100644 --- a/protheus/.claude-plugin/plugin.json +++ b/protheus/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "protheus", "description": "Plugin Claude Code para desenvolvimento TOTVS Protheus — ciclo completo: brainstorm → plan → implement (teammates haiku/sonnet) → deploy (TDS-CLI) → qa (E2E Playwright) → verify. Geração ADVPL/TLPP, SQL embarcado, migração TLPP, diagnóstico, compilação, revisão, testes E2E Playwright (test-web), Knowledge Base MCP, integração TDN, geradores MVC/REST/query, dicionário de dados e geração de relatórios SmartView/TReports (smartview-relatorio).", - "version": "2.14.0", + "version": "2.14.1", "author": { "name": "TBC - Time de Desenvolvimento" }, diff --git a/protheus/agents/protheus-implementer.md b/protheus/agents/protheus-implementer.md index 729fc4c..3b7a33c 100644 --- a/protheus/agents/protheus-implementer.md +++ b/protheus/agents/protheus-implementer.md @@ -110,3 +110,16 @@ Impacto: [o que muda dependendo da resposta] - ProtheusDoc em toda User Function pública - Código completo e compilável — nunca pseudo-código - **Nunca ficar preso silenciosamente** — se bloqueado, reportar imediatamente + +### Execução + +- **Nunca adivinhar** — chave de `appserver.ini`, campo, função, parâmetro ou comportamento + Protheus que você não conhece: consultar o MCP (`searchKnowledge` / `ragSearchDocs` / + `searchFunction`) ou reportar `NEEDS_CONTEXT`. Inferir pelo nome está proibido — o que + "parece óbvio" em Protheus costuma estar errado. +- **Código mínimo que resolve a task** — sem feature além da pedida, sem abstração de uso + único, sem configurabilidade não solicitada, sem tratamento de erro para cenário impossível. +- **Mudança cirúrgica** — não "melhorar" código adjacente, comentário ou formatação; manter o + estilo do fonte existente mesmo que você faria diferente. Código morto pré-existente: + reportar, não apagar. Órfão criado pela SUA mudança: remover. +- **Toda linha alterada rastreia até a task** — se não rastreia, não entra.