Skip to content

Fix false blocked jobs when GitHub follow-up is review, reaction, or intentional skip #53

@pilipilisbot

Description

@pilipilisbot

Problema

El detector de finalització del bridge marca alguns jobs com a blocked amb el motiu agent finished without visible GitHub follow-up, tot i que la feina real ja s’ha fet o que l’agent ha pres explícitament una decisió correcta de no comentar per evitar soroll.

Cas observat al fil pilipilisbot/github-agent-bridge#52:

  • Job #416 (submit_review): l’agent va fer review real i va publicar CHANGES_REQUESTED, però el bridge el va marcar com a blocked perquè no va reconèixer la review com a seguiment visible suficient.
  • Jobs #418 i #419 (reply_comment): els agents van detectar que el PR ja estava aprovat i que comentar seria duplicar soroll; tot i així el bridge també els va marcar com a blocked pel mateix criteri.

Això genera falsos positius: sembla feina encallada, però en realitat el problema és el criteri de classificació del bridge.

Impacte

  • El dashboard/estat de jobs queda brut amb blocked que no requereixen reexecució.
  • Pot induir a reintentar jobs i generar comentaris duplicats a GitHub.
  • Penalitza el comportament correcte de baix soroll: reaccionar, revisar o decidir no comentar quan no aporta valor.

Solució proposada

Ajustar el detector de finalització perquè no depengui només de “hi ha comentari visible nou”. Ha de considerar com a sortides vàlides, segons el tipus de job:

  • submit_review: una review publicada (APPROVED, CHANGES_REQUESTED o COMMENTED) ha de comptar com a GitHub follow-up visible.
  • reply_comment: una reacció publicada o una decisió explícita no comment needed/duplicate avoided hauria de poder tancar el job com a done, no com a blocked.
  • Afegir un camp estructurat al resultat de l’agent, per exemple github_followup_status, amb valors com commented, reviewed, reacted, skipped_duplicate, needs_human, failed.
  • Fer que només needs_human o failed acabin en blocked; les sortides intencionals de baix soroll han d’acabar en done amb una raó auditables.

Criteris d’acceptació

  • Un job submit_review amb review publicada no queda blocked.
  • Un job reply_comment on l’agent evita un comentari duplicat queda done amb raó skipped_duplicate o equivalent.
  • L’estat de jobs continua marcant com a blocked els casos realment accionables: error d’eina, falta de permisos, necessitat d’humà o resultat ambigu.
  • Hi ha tests/casos de regressió per reviewed, reacted i skipped_duplicate.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions