Skip to content

feat: reviewer escopado ao diff + ui_verify re-audita só as violações - #50

Merged
elberrd merged 1 commit into
mainfrom
feat/review-escopado
Aug 23, 2026
Merged

feat: reviewer escopado ao diff + ui_verify re-audita só as violações#50
elberrd merged 1 commit into
mainfrom
feat/review-escopado

Conversation

@elberrd

@elberrd elberrd commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Contexto

Quarta PR do estudo de consumo (#47, #48, #49). O reviewer respondeu por 171M tokens (21,5%) no projeto medido, com duas causas de fluxo:

  1. O prompt geral mandava "use git diff and the codebase" (escopo repo-wide no engine mais caro do roster), e o system.md mandava re-auditar patterns.md no review geral — pagando de novo a conformidade de UI que o gate dedicado (ui_check/ui_verify) já tinha assentado ANTES do review, por design.
  2. O ui_verify re-enviava a rubrica inteira (15 itens + seleções de implementação + releituras de contrato/catálogos) para verificar meia dúzia de violações — a maior linha de reviewer de UI: 45M tokens em 41 chamadas.

O que muda

  • reviewer/user.md: o escopo é o DIFF (changed_files do envelope + git diff); ler fora disso só quando um arquivo mudado exigir (callers diretos, contrato implementado); "never crawl the repository". Foco melhora o review, não piora.
  • reviewer/system.md: conformidade de UI pertence ao UI gate — o review geral não re-audita patterns.md; um defeito de UI que quebra o próprio ASK continua sendo motivo de rejeição.
  • ui-gate.mjs: novo verifyPrompt — o re-audit pós-fix_ui recebe só as violações (blocking + findings não-met, com rule ids) e os arquivos tocados pelo reparo, com proibição explícita de reabrir itens já aprovados. A rubrica completa continua no ui_check (a auditoria plena acontece uma vez, como deve).

Nota de design: o plano original cogitava fundir ui_check no review do sdlc; optei por não fazer — o gate é compartilhado por 4 FDAs e a separação funcional/UI é isolamento de qualidade barato. O custo real medido estava no escopo repo-wide e no verify redundante, que esta PR elimina.

Testes

ui-gate.test.js: teste novo captura o prompt do ui_verify (contém as violações e o arquivo do reparo; não contém "Applicable rubric" nem a tabela de applicability) e pina os prompts do reviewer (escopo-diff presente, instrução repo-wide removida, cláusula de não-re-auditar patterns.md). Suite completa 1450 pass + lint limpo.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NPYaKxNaVRhPumKbawFNT3

Duas fontes medidas de reviewer caro (171M tokens/21,5% do total no projeto de
estudo): (1) o prompt geral do reviewer mandava "use git diff and the
codebase" — escopo repo-wide no engine mais caro do roster — e o system.md
mandava re-auditar ai-docs/ui/patterns.md no review geral, pagando de novo o
trabalho que o UI gate dedicado JÁ tinha assentado antes; (2) o ui_verify
re-enviava a rubrica INTEIRA (15 itens, ~6KB + releituras de contrato/
catálogos) para verificar meia dúzia de violações — era a maior linha de
reviewer de UI (45M tokens em 41 chamadas).

- reviewer/user.md: escopo = o DIFF (changed_files do envelope + git diff);
  ler fora disso só quando um arquivo mudado exigir; nunca varrer o repo.
- reviewer/system.md: conformidade de UI pertence ao UI gate — o review geral
  não re-audita patterns.md (defeito de UI que quebra o ASK continua contando).
- ui-gate.mjs: verifyPrompt novo — o re-audit pós-fix_ui recebe SÓ as
  violações encontradas + arquivos tocados pelo reparo, com proibição de
  reabrir itens já aprovados; a rubrica completa fica só no ui_check.
- DOCS.md atualizado; testes novos no ui-gate.test.js (prompt do verify sem a
  rubrica e com as violações/arquivos; prompts do reviewer pinados).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPYaKxNaVRhPumKbawFNT3
@elberrd
elberrd merged commit 19d1aa1 into main Aug 23, 2026
7 checks passed
@elberrd
elberrd deleted the feat/review-escopado branch August 23, 2026 21:00
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