teqo/scripts
Francisco Solla 1eb07b42cb ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3
- payload.config.ts: vercelBlobStorage -> s3Storage (@payloadcms/storage-s3)
  com endpoint Garage (forcePathStyle, region garage); bucket privado — o
  staticHandler do plugin streama os objetos em /api/media/file/<filename>,
  mantendo o contrato de URL relativa das 40 rows pré-existentes
- src/utilities/mediaStorage.ts: resolveS3StorageEnv fail-closed (S3_* parcial
  -> throw no boot com a lista exata; nenhuma -> storage local dev/test)
- seed-posts: remove pre-delete do @vercel/blob (S3 sobrescreve nativamente)
- worktree-env.mjs: s3EnvCopiedLines all-or-nothing (unit-testada)
- envs S3_BUCKET/S3_ENDPOINT/S3_REGION/S3_ACCESS_KEY_ID/S3_SECRET_ACCESS_KEY
  no .env.example/.env.test; cloud-setup.sh sem o sed morto do blob
- deps: -storage-vercel-blob -@vercel/blob +storage-s3; importMap regenerado
- docs: impl plan (revisão A->B: Garage v2 sem acesso anônimo na API S3),
  AGENTS.md, changelog 2026-08-18-ops52
2026-08-17 22:05:30 -03:00
..
consent-texts Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
lib ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3 2026-08-17 22:05:30 -03:00
agent-claim.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-file-miss.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-pool.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-prioritize.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-promote-related-on-merge.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-ready.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-register.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
agent-status.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
assert-local-database.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
build-bahia-demographics.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
build-bahia-geometries.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
build-bahia-tse-city-codes.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
build-changelog.mjs OPS44: changelog por entrega + guards de docs + merge por rebase 2026-08-13 17:55:22 +00:00
build-election-aggregates.mjs B13+: concordância LQ, readout de escopo no mapa e DRY do build de agregados. 2026-07-29 16:26:43 -03:00
build-municipality-zone-geometries.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
check-changelog-append-only.mjs OPS44: changelog por entrega + guards de docs + merge por rebase 2026-08-13 17:55:22 +00:00
check-docs-conflict-markers.mjs OPS44: changelog por entrega + guards de docs + merge por rebase 2026-08-13 17:55:22 +00:00
check-plans-only-pr-closes.mjs OPS12 — CI bloqueia Closes/Fixes em PR só docs/plans 2026-08-01 11:26:19 +00:00
check-push-chain.mjs 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
check-test-locations.mjs chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
ci-scope.mjs refactor(OPS34): fixes do /simplify — fallback e2e_shards, timeout webServer CI-only, pin anti-drift, docs 2026-08-10 15:37:11 -03:00
configure-branch-protection.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
db-doctor.mjs feat(worktree): ambientes isolados por worktree — porta própria, bancos próprios, migrations no provision 2026-08-08 11:33:07 -03:00
db-pull.mjs 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
db-start.mjs fix(OPS37): db:start idempotente — não recria o container Postgres compartilhado (no-op quando saudável; --force-recreate explícito) 2026-08-10 20:40:36 -03:00
dev.mjs fix(OPS40): pnpm dev honra o PORT do .env.local — next dev -p via scripts/dev.mjs (Closes #682) 2026-08-11 20:04:07 -03:00
e2e-affected.mjs ci(pr): cascade phase1→phase2 with blast-radius skips 2026-07-31 20:57:18 -03:00
ensure-repo-deps.mjs feat(ops): auto-promote stage→main e merge em stage sem exigir head (#68) 2026-07-30 21:12:52 -03:00
fill-image.mjs feat(site): publica home da campanha Jorge Solla 1313 2026-08-16 00:49:24 -03:00
forgejo-dispatch.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
forgejo-issue-transition.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
forgejo-pr-automerge.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
gate-ci.mjs fix(ci): isola bundle e2e do servidor de desenvolvimento 2026-08-16 01:25:06 -03:00
git-push.mjs feat(ops): auto-promote stage→main e merge em stage sem exigir head (#68) 2026-07-30 21:12:52 -03:00
guard-dev-db.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
import-projecao.mjs fix(campanha): preserve StateDeputy migration identity 2026-08-06 18:38:47 -03:00
issue.mjs OPS50: port CI e scripts de agentes do GitHub para o Forgejo 2026-08-16 23:32:20 -03:00
regenerate-municipality-catalog-snapshot.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
render-ui-draft.mjs chore(plan-issue): rascunho UI/UX do gate vira HTML+Tailwind commitado no repo (ad-hoc) 2026-08-11 19:14:21 -03:00
resize-images.mjs feat(site): publica home da campanha Jorge Solla 1313 2026-08-16 00:49:24 -03:00
run-e2e-affected.mjs fix(ci): isola bundle e2e do servidor de desenvolvimento 2026-08-16 01:25:06 -03:00
seed-consent.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
seed-loader.mjs Add TSE 2022 election results model and local seed import. 2026-07-18 18:25:19 -03:00
seed-minimal.mjs feat(C112): múltiplos telefones por pessoa — Contact.phones array (ordem = prioridade) 2026-08-11 10:47:02 -03:00
seed-posts.mjs ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3 2026-08-17 22:05:30 -03:00
seed-tse-results.mjs Engineering Pass 3: consolidate patterns and lock them with guards. 2026-07-29 06:11:29 -03:00
test-affected.mjs ci(pr): cascade phase1→phase2 with blast-radius skips 2026-07-31 20:57:18 -03:00
worktree.mjs ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3 2026-08-17 22:05:30 -03:00