Skip to content

✨ fix(review): aprovar junto de toda opção de postagem quando não há bloqueio aberto - #87

Draft
grippado wants to merge 3 commits into
mainfrom
gripp-w-claude/review-approve-blocker-aberto
Draft

grippado wants to merge 3 commits into
mainfrom
gripp-w-claude/review-approve-blocker-aberto

Conversation

@grippado

@grippado grippado commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Problema

O STATUS do flux:review é calculado só com os findings da rodada, e a aprovação só saía pela opção especial Postar e aprovar. Dois efeitos ruins:

  • Numa rodada que traz só question e suggestion, o STATUS sai approved-with-* e o 8b oferecia aprovar mesmo com request-change ou breaking-change de rodada anterior ainda aberto.
  • No caso inverso, uma PR sem nenhum bloqueio aberto só saía aprovada se a pessoa escolhesse a opção especial, e qualquer outra opção de postagem deixava a PR sem aprovação.

Mudança

  • Passo 4c (plugins/flux/skills/review/SKILL.md), agora "Elegibilidade de aprovação": calcula OPEN_BLOCKERS com os blockers da rodada mais as threads abertas de rodadas anteriores, de qualquer autor, inclusive bot, com banner request-change ou breaking-change ou severidade crítica (🔴, critical, high, blocker). Severidade média ou baixa de bot não bloqueia.
  • A conexão externa reviewThreads e cada conexão interna comments são paginadas até o fim. Se alguma página falhar ou estiver inválida, a coleta parcial é descartada, OPEN_BLOCKERS fica desconhecido e APPROVE_ELIGIBLE é falso.
  • Thread bloqueante que não é própria também passa pela reverificação do Passo 4b; só continua bloqueando a que não foi corrigida no HEAD. Para thread de terceiro isso não posta réplica, reação nem resolve.
  • APPROVE_ELIGIBLE exige coleção completa, PR de terceiros, STATUS aprovável e OPEN_BLOCKERS vazio. Elegibilidade segue como regra normativa no Passo 4c; review-legend.md aponta para ele.
  • Com coleta incompleta, o perfil e o artefato declaram threads indisponiveis; o Passo 7 e o menu do Passo 8 deixam a aprovação indisponível.
  • cli/src/gather.ts pagina ambas as conexões e retorna threads: null com a degradação canônica se alguma página não puder ser coletada. cli/src/gather.test.ts cobre paginação e descarte de resultados parciais.
  • Cinco manifests em 1.46.2.

Plano de testes

  • scripts/check-manifests.sh: 5 manifests em flux@1.46.2.
  • scripts/check-codex-agent-contract.sh: contrato Codex íntegro.
  • node --check cli/src/gather.ts e node --check cli/src/gather.test.ts.
  • Smoke test Node: paginação externa, paginação de comments e falhas fechadas com dados parciais.
  • git diff --check.
  • NÃO EXECUTADO: bun test src/gather.test.ts, pois Bun não está instalado neste ambiente.
  • NÃO EXECUTADO: claude plugin validate . e claude plugin validate ./plugins/flux, pois Claude CLI não está instalado.
  • Typecheck e lint não aplicáveis: cli/package.json não declara esses scripts.

Summary-en: Review paginates all review threads and comments, and withholds approval when collection is incomplete.
Summary-pt: Review pagina threads e comentários integralmente, e bloqueia aprovação quando a coleta está incompleta.

🤖 Generated with Claude Code

grippado and others added 2 commits October 8, 2026 17:45
…ovar

O STATUS do review é calculado só com os findings da rodada, então uma
rodada que traz apenas question e suggestion sai approved-with-* e o 8b
oferecia Postar e aprovar mesmo com um request-change ou breaking-change
de rodada anterior ainda aberto na PR.

Novo Passo 4c calcula OPEN_BLOCKERS (blockers desta rodada mais threads
abertas com banner request-change ou breaking-change, exceto as
reverificadas como PROCEDE). Com OPEN_BLOCKERS não vazio, o 8b trata a PR
como de veredito não-aprovar e o Step 7 avisa o motivo. Atualiza os cinco
manifests para 1.46.1.

Co-Authored-By: Claude <noreply@anthropic.com>
…bloqueio aberto

Sem bloqueio aberto (nesta rodada ou em anterior, de qualquer autor ou
bot, após reverificação), o veredito aprovar passa a terminar toda opção
de postagem do 8b com a aprovação, em vez de exigir a opção especial
Postar e aprovar. O menu vira Prioridades + praise e aprovar, Tudo e
aprovar, Só prioridades e aprovar e Não postar; postar sem aprovar é pelo
campo livre.

O Passo 4c passa a se chamar elegibilidade de aprovação: thread
bloqueante de terceiro ou de bot também é reverificada, e só continua
bloqueando a que não foi corrigida. Severidade média ou baixa de bot não
bloqueia.

Co-Authored-By: Claude <noreply@anthropic.com>
@grippado grippado changed the title ✨ fix(review): bloqueio aberto de rodada anterior impede Postar e aprovar ✨ fix(review): aprovar junto de toda opção de postagem quando não há bloqueio aberto Oct 8, 2026
@grippado grippado self-assigned this Oct 8, 2026
Pagine reviewThreads e comments até o fim e descarte coletas parciais.
Falhe fechada a elegibilidade de aprovação quando a coleta não estiver completa.
Atualize a CLI, o contrato do review e os cinco manifests para 1.46.2.

Co-Authored-By: Codex <noreply@openai.com>

This branch has not been deployed

No deployments
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