3.3 KiB
OPS91 — sweep pós-cutover OPS76: textos vivos que ainda apontavam o tracker de Issues ao Forgejo (2026-08-24): docs-only, zero mudança de comportamento. O cutover OPS71+OPS76 (2026-08) tornou o GitHub o host único (CI + tracker de Issues em github.com/fsolla/teqo/issues, labels/claims/flips via API do GitHub com GITHUB_TOKEN); o Forgejo ficou congelado. A varredura da sessão OPS89 (#836) virou esta Issue (#841): 23 alvos de prosa/comentário corrigidos in place em 14 arquivos (30+/30−), cada arquivo dono da própria frase, com AGENTS.md:15 como fraseado canônico. Classe (a) — tracker/API apontando o Forgejo → GitHub (12): .agents/rules/agent-pr-workflow.mdc:8 ("ISSUE TRACKER stays on the Forgejo" → "lives on GitHub too (OPS76) — single host"); .agents/skills/work-issue/execution-pipeline.md:69,75-76 (flip pós-merge "no Forgejo" via FORGEJO_API_TOKEN → "no GitHub" via GITHUB_TOKEN); .agents/skills/project-status/SKILL.md:25 e engineering-audit/SKILL.md:69 (leitura da Issue "via API do Forgejo" → GitHub); .agents/skills/plan-issue/SKILL.md:23 ("Nada no Forgejo antes do gate" → "Nada no tracker"); docs/roadmap.md:5 (ponteiro da fonte canônica → Issues do GitHub; stub segue congelado — precedente OPS68); AGENTS-infra.md:5 (espelho do AGENTS.md com a realidade invertida — o mais grave, camada AGENTS); README.md:9,13,133 (tracker no Forgejo / FORGEJO_API_TOKEN como instrução ativa / link do tracker); scripts/github-pr.mjs:4 (comentário de cabeçalho). Classe (b) — resíduo de host da era Forgejo, eixo diferente (11, decisão do gate): README.md:116 ("CI on the Forgejo Actions" → GitHub Actions ci-pr.yml); cabeçalho de scripts/lib/agent-forgejo.mjs:3,7 (citava forgejo-api.mjs removido → github-api.mjs real; rename de pureza segue vetado na intenção); scripts/issue-transition-on-merge.mjs (usage + 6 prefixos de log forgejo-issue-transition → nome real do arquivo, era instrução de arquivo inexistente); scripts/agent-status.mjs:26 (die "Forgejo issue list failed" → GitHub); scripts/lib/cli.mjs:34,50 (comentários da allowlist LOCAL_HOSTS emoldurados como era-Forgejo — CI GitHub hosted usa localhost publicado OPS71); scripts/lib/github-api.mjs:9,183,211 (refs a lib removida). /simplify (2 revisores): P1 aplicado — emoldurar os comentários de cli.mjs como histórico (o job-network/bridge gateway era Forgejo; o GitHub hosted publica portas), não como mecanismo vivo; P3 aplicado — README.md:13 cortou "flips pós-merge" do PAT humano (flips usam o token built-in do Actions com issues: write). Débitos: nada registrado (triage: 2 já_resolvidos, 4 descartados score ≤2, 1 defer com gatilho — resíduo Forgejo no pool dormente será limpo se o pool for reativado). Fora de escopo respeitado: histórico correto (agent-pr-workflow.mdc:60,85, runbook docs/ops/teqo-1313-deploy.md, AGENT-OPS.md:95 legado, pool dormente, docs/CUTOVER-MAIN-ONLY.md) e docs congelados (docs/plans/*, docs/changelog/*, docs/CHANGELOG-AGENTS.md) intactos. Verificação: grep de saneamento com zero refs vivas a tracker/API do Forgejo fora das classes históricas; pnpm gate:fast verde (256 arquivos/2443 testes), lint/format verdes; impl plan docs/plans/ops91-sweep-pos-cutover-forgejo-textos-vivos-impl.md (self-score 5/5).