ops(OPS52-media-guard): reconcile do media:recover exige MEDIA_RECOVER_CONFIRM=1 (guard de intenção explícita) #50
Loading…
Reference in a new issue
No description provided.
Delete branch "OPS52-media-guard-ops52-media-guard-de-intencao-explicita-pa"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #37
OPS52-media-guard — Guard de intenção explícita para escrita em bucket de produção
O modo reconcile (padrão, escrita) do
pnpm media:recoveragora exigeMEDIA_RECOVER_CONFIRM=1para armar a escrita no bucket — antes bastava o conjunto completo deS3_*(um worktree com credenciais de prod + rows locais via db:pull escreveria covers no bucket de prod; o echo do alvo mostrava, não impedia).scripts/lib/cli.mjs:isTruthyEnvnovo (semântica exatatrue|1, sem trim/case —TRUE/yescontinuam recusados);isRemoteDbOverrideSetpassou a delegar (sem twin).scripts/recover-media.mjs: gate fail-closed antes de DB/S3/rede — sem a flag, exit 1 com o comando correto;--dry-run/--verifyseguem sem flag (não escrevem).tests/unit/cliEnvFlags.unit.spec.ts: pin das semânticas + preservação doALLOW_REMOTE_DB.docs/plans/ops52-media-guard-impl.md.db:seed:postsescreve no bucket via adapter S3 sem flag de intenção (mesma classe de risco;depends: [37], planodocs/plans/ops60-seed-posts-guard-escrita-s3.md).Gates verdes: lint, typecheck, 2322 unit, 791 int, format:check, knip (erro P3 pré-existente), check:cycles, build local.
d7bc6631d7to8231a31e958231a31e95tod62e65ce6ad62e65ce6ato228d5da9c8