teqo/docs/changelog
Francisco Solla ac11afecf3 ops(OPS61): flip de issues pós-merge com PAT + gate do rollup checks + branch protection real no Forgejo
- issue-done/plan-issue-ready: env FORGEJO_API_TOKEN (GITHUB_TOKEN 403 em
  Issues) + fork guard (checkout de fork roda script do fork com o PAT — RCE)
- forgejo-issue-transition: falha de flip vira exit 1 (job vermelho, nunca
  skip silencioso)
- waitForChecks: exige o rollup CI (PR) / checks presente+verde (raça PR #52:
  snapshot com jobs não-agendados parecia verde); mergeable=false só conta
  como conflito após a cascata assentar; timeouts 30→45min (CLI) e 40→55min
  (workflow)
- configure-branch-protection: contexto real CI (PR) / checks* (Forgejo casa
  por glob contra 'CI (PR) / checks (pull_request)'; literal 'checks' nunca
  casaria), idempotente GET→POST/PATCH, verificação pós-aplicação; decisão
  pura em scripts/lib/branch-protection.mjs
- docs honestas (AGENT-OPS, agent-pr-workflow.mdc, CUTOVER-MAIN-ONLY, README)
- testes: raça do rollup/rollup failure/mergeable pré-settle +
  branchProtection create/update/noop + glob real
2026-08-18 17:45:54 -03:00
..
2026-08-13-ops44.md OPS44: changelog por entrega + guards de docs + merge por rebase 2026-08-13 17:55:22 +00:00
2026-08-15-img-resize.md feat(site): publica home da campanha Jorge Solla 1313 2026-08-16 00:49:24 -03:00
2026-08-16-campaign-home-responsive.md feat(site): hero da campanha responsivo aos boards do Penpot 2026-08-16 20:33:00 -03:00
2026-08-16-ops50.md OPS50: ajusta changelog ao formato prettier 2026-08-16 23:34:28 -03:00
2026-08-17-ops51.md ops(OPS51): migra o banco de produção do Neon para o Postgres do homeserver (teqo_1313) 2026-08-17 22:41:18 +00:00
2026-08-17-ops53.md ops(OPS53): etapa de deploy no CI para o homeserver (teqo-1313) 2026-08-18 00:50:41 +00:00
2026-08-17-pub5.md feat(PUB5): slogan 'Mais saúde mais futuro' no hero e rodapé 2026-08-18 01:31:28 +00:00
2026-08-18-ops52-media-guard.md ops(OPS52-media-guard): reconcile do media:recover exige MEDIA_RECOVER_CONFIRM=1 (guard de intenção explícita) 2026-08-18 12:45:32 -03:00
2026-08-18-ops52-media.md feat(OPS52-media): recupera os objetos de media de produção do WordPress para o bucket (pnpm media:recover) 2026-08-18 08:20:45 -03:00
2026-08-18-ops52.md ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3 2026-08-17 22:36:34 -03:00
2026-08-18-ops54.md ops(OPS54): allowlist onlyBuiltDependencies migra para pnpm-workspace.yaml — fim do warning do pnpm 10 sobre o campo pnpm ignorado 2026-08-18 09:06:37 -03:00
2026-08-18-ops56.md fix(ops OPS56): forgejo-pr-automerge — veredito de merge por re-read do PR (falso positivo 'já mergeado' com PR aberto) 2026-08-18 14:28:54 +00:00
2026-08-18-ops57.md fix(ops OPS57): simplify — veto de draft vale em conversão mid-run; CLI valida base main; docs sem mecanismo fantasma 2026-08-18 15:24:21 +00:00
2026-08-18-ops58.md ops(OPS58): seed de posts com dry-run e taxonomy atualizada — sync de prod com runbook 2026-08-18 12:15:05 -03:00
2026-08-18-ops59.md ops(OPS59): pre-push sem e2e — e2e roda uma vez, no CI (gate local fica com os outros testes) 2026-08-18 17:56:41 +00:00
2026-08-18-ops60.md chore(OPS60): guard SEED_MEDIA_CONFIRM para escrita no bucket via db:seed:posts 2026-08-18 20:11:54 +00:00
2026-08-18-ops61.md ops(OPS61): flip de issues pós-merge com PAT + gate do rollup checks + branch protection real no Forgejo 2026-08-18 17:45:54 -03:00
2026-08-18-s1.md fix(S1): revert revalidate=300 — trava o bust por tag no Next 15.4 prod 2026-08-18 05:07:26 +00:00
2026-08-18-s2.md feat(S2): seção de conteúdos da home de campanha inclui os vídeos do YouTube 2026-08-18 15:23:50 -03:00
2026-08-18-s5.md feat(S5): banda visual própria para a seção 'Acompanhe de perto' na home 2026-08-18 13:35:53 -03:00
2026-08-18-s6.md feat(S6): home de campanha sem carrossel no desktop — grade estática em ≥1024px, mobile preservado 2026-08-18 19:32:50 +00:00