1.8 KiB
1.8 KiB
Ronda 25 — Desbloqueo de PRs: CODEOWNERS + hallazgos Gitea 1.27 (OpenCode/GLM)
Qué bloqueaba de verdad
- protected_file_patterns bloqueaba el merge para TODOS (incluido pattern y hasta site-admin via API): ni CODEOWNERS+bypass ni is_admin lo liberan en 1.27 (probado: 405 "Changed protected files" para pattern-bypass y pattern-admin; site-admin cayce tambien bloqueado).
- Los PRs #23/#25 nunca corrieron CI de pull_request (creados pre-workflow) — rebase+push los puso VERDE.
- Resolución final: protected_file_patterns VACIO (instrucción del operador) + CODEOWNERS en main (documentación; 1.27 no auto-pide revisores: requested_reviewers=[] probado) + block_on_official_review_requests + approvals_whitelist=[pattern] + la lista de exclusión del auto-merger como capa real (probada: rehusa identity/outbox).
- Tokens de pattern: uno generado por admin para las pruebas, REVOCADO al final.
Pruebas (todas reales)
- 2a-1: PR tocando outbox.mjs, CI verde → ci-bot 405 "Changed protected files" (con patrones) y con patrones fuera → auto-merger rehusa por su lista ✓.
- 2a-2: pattern APRUEBA (review 200) y MERGEA (200) ✓.
- 2b: PR sin paths protegidos (CODEOWNERS de bitcoinhotels) → auto-merge: 200 ✓.
- Regla nueva adoptada: "esperando tu merge" solo con CI en verde.
Resultado
- El operador mergueó #23 (voz v3) y entity #3 a las 20:04. Hash v3 en despliegue VERIFICADO: c0f0ec05…
- entity #2 sigue open (mergealo cuando quieras; checks de entity se activan DESPUÉS de ese merge para no bloquearlo).
- Incidente arreglado: lessons.md (mutado por el ciclo retro) abortaba deploys de entity → autodeploy ahora lo preserva con stash/pop.
- 3 commits de prueba en outbox.mjs (comentarios) quedaron en entity main tras las pruebas — inofensivos, desplegados con tests 27/27.