teqo-backup/docs
Francisco Solla 6940b7f1f9 feat(C236): publicar, despublicar e apagar em lote na Central de Conteúdos
A lista /campanha/comunicacao/conteudos ganha um modo de seleção opt-in
que envolve os dois corpos (tabela e card list) com um estado client
compartilhado, chaveado pela URL canônica (a seleção morre em
página/filtro e nunca cresce para além da página visível). Com seleção
ativa, a barra flutuante aplica o mesmo veredito unitário à seleção:
Publicar/Despublicar agem direto com recibo honesto; Apagar sempre
confirma no CampaignDeleteDialog reusado (novo caminho onConfirm
aditivo), avisando os links públicos só quando a seleção carrega
publicadas.

O transporte é uma rota única (POST .../conteudos/lote,
campaignJsonMutationRoute, teto de 50 ids) que itera server-side as ações
donas: cada peça mantém a própria transação, o gate fresco e a limpeza
best-effort de mídia; a falha de uma nunca reverte as demais e o recibo
separa afetadas x falhas (2 de 3 peças apagadas. 1 falhou.).

Sem migration, sem Consent novo, sem rota pública (S27) e sem mudar a
semântica do C222. Cobertura: int do lote (papéis, dedupe, mídia, evento,
tag, falha parcial, schema), unit do builder/barra/seleção e e2e HTTP.

Design tier: DEGRADED (artefato de origem sem certificação frontier) —
crítica do designer aplicada no escopo do item; entrega bloqueada para
sign-off humano antes do PR. Related #1388
2026-09-29 22:04:33 -03:00
..
campaign-kit feat(C196): skill /reels-tutoriais — captura mobile + composição de vídeo 2026-09-18 21:50:28 -03:00
campanha chore(OPS105): remove workaround de visão Qwen — visão nativa do deepseek-flash (Closes #985) 2026-09-14 02:37:10 -03:00
changelog feat(C236): publicar, despublicar e apagar em lote na Central de Conteúdos 2026-09-29 22:04:33 -03:00
design-refs Version UX Pilot design refs and map them to roadmap plans 2026-07-18 16:36:09 -03:00
ops feat(C230): importação em lote do Instagram para a Central (CLI) 2026-09-29 09:51:46 -03:00
plans feat(C236): publicar, despublicar e apagar em lote na Central de Conteúdos 2026-09-29 22:04:33 -03:00
postmortems docs: registra o PR #1382 no post-mortem e no changelog 2026-09-28 19:36:12 -03:00
research feat(C161): relatório Solla × Ceuci com votos por bairro (seções e locais de votação) 2026-09-14 04:36:17 -03:00
testing-audits docs(testing-audit): estado final protegido (draft fail-closed) — CI green no SHA final 2026-08-25 17:09:43 -03:00
AGENT-OPS.md fix(OPS71): ready-automerge de volta — AUTOMERGE_PAT rotacionado para o token longevo do gh + contrato/verificação (Closes #1176, #1177, #1184) 2026-09-19 03:07:29 -03:00
ARCHITECTURE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
CHANGELOG-AGENTS-HISTORY.md docs(OPS88): restaura HISTORY congelado (snapshot OPS85 intocado) 2026-08-24 16:12:44 -03:00
CUSTOMER.md style: prettier-format public-release docs 2026-07-31 13:16:22 -03:00
CUTOVER-MAIN-ONLY.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
GUARDRAILS.md docs(audit-pass6): format — prettier normalization of the three artifacts 2026-08-25 11:29:03 -03:00
IMPROVE-APP-PLAN.md chore: public release tip — All Rights Reserved, sanitize field material 2026-07-31 12:53:12 -03:00
IMPROVE-CODE-QUALITY-PLAN.md docs(audit-pass6): format — prettier normalization of the three artifacts 2026-08-25 11:29:03 -03:00
PAYLOAD-REFERENCE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
roadmap.md ops(OPS91): sweep pós-cutover — textos vivos que apontavam o tracker ao Forgejo passam para o GitHub (Closes #841) 2026-08-24 15:08:14 -03:00
TECH-DEBT.md fix(OPS124): desabilita o plugin Payload do knip e explicita as exclusões (Closes #1094) 2026-09-16 19:55:07 -03:00
TESTING.md feat(OPS104): inicia o deploy no merge, com staging automático e produção com review 2026-09-14 03:07:59 -03:00