teqo-backup/scripts/lib
Francisco Solla f80e13f31f fix(OPS126): auto-unblock honra o proxy do homeserver e resolve o opencode fora do PATH
Duas causas independentes mantinham o agente de desbloqueio (OPS106) sem
entregar:

1. `fetch failed` no launcher: o homeserver só alcança o GitHub pelo proxy
   CONNECT local (github-tunnel + http-proxy-socks) e o `fetch` global do Node
   ignora HTTP(S)_PROXY sem `NODE_USE_ENV_PROXY` (Node >= 24). O launcher
   morria lendo os jobs do run (run 35171293357) e nenhum token era criado.
   `scripts/auto-unblock.sh` passa a exportar `NODE_USE_ENV_PROXY=1` quando há
   proxy no env; o agente destacado herda.

2. exit 127 do agente: o serviço do runner não carrega o profile interativo,
   então `~/.opencode/bin` fica fora do PATH e o `timeout ... opencode` morria
   com *No such file or directory* (log unblock-35101121310.log), deixando o
   token `blocked` sem PR. Novo `resolveOpenCodeBinary` (OPENCODE_BIN → argv0
   com path → `$HOME/.opencode/bin` → PATH) usado pelo wrapper, pelo `--check`
   e por um gate fail-closed no launcher (token blocked, sem provisionar
   worktree).

Runbook + changelog OPS126; unit tests do resolver. Token órfão #1089 fechado
no replay. Flakiness de e2e full segue na #1124.
2026-09-17 01:48:29 -03:00
..
agent-forgejo.mjs fix(OPS94): fila de claim não morre mais em issue ready sem frontmatter id (skip + aviso; #659 ganha id B195-F1) 2026-08-24 17:23:59 -03:00
agent-plan-lifecycle.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-pool-cursor.mjs feat(agent-pool): orquestrador de pool de workers Cursor Cloud (fases A–D) (#65) 2026-07-30 20:08:34 -03:00
agent-pool-eligibility.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-pool-forgejo.mjs ops(OPS76): tracker de Issues migra do Forgejo para o GitHub — GitHub como host único 2026-08-21 08:19:06 -03:00
agent-pool-models.mjs fix(agent-pool): stop exporting unused POOL_DEFAULT_MODEL_SLUG 2026-08-01 06:58:33 +00:00
agent-pool-prompt.mjs feat(OPS85): matar o agregado commitado do changelog — registro por-arquivo + HISTORY congelado + leitura sob demanda (Closes #830) 2026-08-24 14:44:25 -03:00
agent-pool-state.mjs fix(campaign): C140 — manual dispatch in 18 forms prevents React 19 form reset on error 2026-08-23 17:54:19 -03:00
agent-session.mjs fix(OPS122): launch do worktree honra o modelo na sessão e o --auto (Closes #1088) 2026-09-16 19:09:12 -03:00
ansi.mjs feat(OPS109): painel de issues e planos no terminal (via SSH) 2026-09-15 16:24:15 -03:00
auto-unblock.mjs fix(OPS126): auto-unblock honra o proxy do homeserver e resolve o opencode fora do PATH 2026-09-17 01:48:29 -03:00
camaraFetch.mjs feat(C160): link oficial do acervo vira PDF direto do Diário (#988) 2026-09-14 05:00:18 -03:00
camaraSpeeches.mjs feat(C162): player do acervo resolve o trecho sob demanda e YouTube vira default (Closes #999) 2026-09-14 07:09:58 -03:00
changelog.mjs refactor(OPS85): seed + pós-condição do gerador na lib com pin unitário; rest[0] no guard 2026-08-24 14:44:25 -03:00
cityReportBlocks.mjs feat(C163): página 1 mostra os indícios de emenda e perde o "O que NÃO anunciar" 2026-09-16 21:23:45 -03:00
cityReportDatabase.mjs feat(C163): relatório de cidade pré-viagem (agente + skill → PDF A4) (Closes #1007) 2026-09-15 07:10:45 -03:00
cityReportFormat.mjs fix(C163): emendas por localidade, fontes compactas na página 1 e datas pt-BR (Related #1025) 2026-09-15 10:24:27 -03:00
cityReportRender.mjs feat(C163): página 1 mostra os indícios de emenda e perde o "O que NÃO anunciar" 2026-09-16 21:23:45 -03:00
cityReportResearch.mjs feat(C163): página 1 mostra os indícios de emenda e perde o "O que NÃO anunciar" 2026-09-16 21:23:45 -03:00
cityReportTerritory.mjs feat(C163): relatório de cidade pré-viagem (agente + skill → PDF A4) (Closes #1007) 2026-09-15 07:10:45 -03:00
cli.mjs feat(OPS106): falha do verify dispara agente autônomo de desbloqueio (single-flight) 2026-09-14 05:51:39 -03:00
conflictMarkers.mjs OPS44: changelog por entrega + guards de docs + merge por rebase 2026-08-13 17:55:22 +00:00
db-start.mjs feat(OPS106): falha do verify dispara agente autônomo de desbloqueio (single-flight) 2026-09-14 05:51:39 -03:00
deploy-trigger.mjs feat(OPS104): inicia o deploy no merge, com staging automático e produção com review 2026-09-14 03:07:59 -03:00
e2e-affected-manifest.mjs chore(C168): mapeia superfícies da biblioteca de cortes no manifesto e2e 2026-09-15 12:56:51 -03:00
github-api.mjs feat(OPS106): falha do verify dispara agente autônomo de desbloqueio (single-flight) 2026-09-14 05:51:39 -03:00
github-branch-protection.mjs fix(OPS71): literal do required check = nome do check-run (checks) + docs (pin PR #742) 2026-08-19 23:07:34 +00:00
github-pr-flow.mjs feat(ops98): veto audit/* no safety-net de auto-merge (PR único do audit fica sem automerge) 2026-08-25 08:52:07 -03:00
imageFill.mjs feat(site): publica home da campanha Jorge Solla 1313 2026-08-16 00:49:24 -03:00
imageResize.mjs feat(site): publica home da campanha Jorge Solla 1313 2026-08-16 00:49:24 -03:00
issues-panel.mjs feat(OPS116): painel aceita -ui-design.html com retrocompat -ui-draft.html (Closes #1059) 2026-09-16 01:14:21 -03:00
markdown-ansi.mjs feat(OPS109): painel de issues e planos no terminal (via SSH) 2026-09-15 16:24:15 -03:00
plansOnlyClosesGuard.mjs OPS12 — CI bloqueia Closes/Fixes em PR só docs/plans 2026-08-01 11:26:19 +00:00
playwright-e2e-args.mjs fix(S6-FOLLOWUP): test:e2e:affected rodava a suíte completa — --no-deps desliga o closure de deps dos projects em runs filtrados 2026-08-18 19:09:12 -03:00
portalTransparenciaEmendas.mjs fix(C163): emendas por localidade, fontes compactas na página 1 e datas pt-BR (Related #1025) 2026-09-15 10:24:27 -03:00
seed-minimal-manifest.mjs chore: drop unused exports flagged by knip 2026-07-30 05:24:52 -03:00
sollaCeuciSalvadorMetrics.mjs fix(C161): remove 'action plan' do comentário (termo banido pelo guard de convenções) 2026-09-14 04:36:17 -03:00
test-affected-core.mjs chore(OPS119++): blast radius de scripts/ — risk map das libs + static scope (Closes #1077) 2026-09-16 12:12:37 -03:00
testing-audit-metrics-core.mjs fix(ops96-audit): parseVitestStdout tolera sufixo do pnpm em suite vermelha — retrato impresso mesmo com falha (contrato do metrics) 2026-08-25 17:09:43 -03:00
topology.mjs B8+: escala das malhas em unidades reais, contrato do map key e degradacao 2026-07-27 01:59:36 -03:00
worktree-env.mjs fix(OPS52): S3_WORKTREE_REQUIRED_KEYS sem export (knip) 2026-08-17 22:36:34 -03:00
worktree.mjs fix(OPS122): launch do worktree honra o modelo na sessão e o --auto (Closes #1088) 2026-09-16 19:09:12 -03:00
wpArticles.mjs 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