Peça publicada
+ Pronto ++ O mesmo veredito em várias peças, sem ruído na varredura +
++ Assessoria de comunicação na Central de Conteúdos: a leva entra, a triagem decide em + bloco. A seleção é opt-in, vale só a página visível, e o desfecho aparece com recibo + honesto — incluindo a falha parcial. +
+ +opencode-go/deepseek-v4.1-flash) porque o designer frontier bateu
+ o limite de uso. Nada aqui é design aprovado: é insumo para decisão humana. O
+ sign-off humano é obrigatório no gate/PR; o orquestrador registra
+ Design tier: DEGRADED (opencode-go/deepseek-v4.1-flash).
+ Cena 1 · desktop ~1280 · repouso
++ A tabela de hoje não ganha checkbox permanente — o modo de seleção é opt-in +
++ Colunas Peça · Processamento · Publicação · Circulação · Próxima ação inalteradas; + Abrir/Reprocessar e o Apagar por linha seguem exatamente como estão. +
+Comunicação
+Central de Conteúdos
+Conteúdos
++ Peças que alimentam a Central pública. Rascunhos não aparecem no site. +
++ Em repouso, nada mais muda: sem coluna de checkbox, sem barra, sem cor nova. + Este é o único affordance para entrar no modo. +
+ +| Peça | +Processamento | +Publicação | +Circulação | +Próxima ação | +
|---|---|---|---|---|
|
+
+
+
+
+
+
+
+ Peça publicada +Vídeo · 02:14 · Salvador + |
+ + Pronto + | ++ Publicado + | +
+
+
+ Aberturas128
+ Downloads12
+ WhatsApp6
+ Link3
+ |
+
+
+
+
+
+ |
+
|
+
+
+
+
+
+
+
+ Peça em rascunho +Card · Feira de Santana + |
+ + Pronto + | ++ Rascunho + | ++ Sem dados — ainda não publicada + | +
+
+
+
+
+ |
+
|
+
+
+
+
+
+
+
+ Peça com falha +Áudio · 01:05 · Vitória da Conquista + |
+
+ Falhou
+ Não foi possível transcrever a peça. + |
+ + Rascunho + | ++ Sem dados — ainda não publicada + | +
+
+
+
+
+ |
+
|
+
+
+
+
+
+
+
+ Peça em processamento +Vídeo · 03:40 · Itabuna + |
+
+ Processando
+ Transcrevendo a peça + |
+ + Rascunho + | ++ Sem dados — ainda não publicada + | +
+
+
+
+
+ |
+
12 peças
+Cena 2 · desktop ~1280 · seleção ativa
++ Checkbox por linha, “selecionar todas da página” no cabeçalho e a barra com N selecionadas +
++ 3 de 4 selecionadas: o header fica indeterminado. A barra flutua no rodapé do conteúdo, + sempre ao alcance numa lista de 25 linhas. +
+Comunicação
+Central de Conteúdos
+Conteúdos
++ Peças que alimentam a Central pública. Rascunhos não aparecem no site. +
+| + + + + + + | +Peça | +Processamento | +Publicação | +Circulação | +Próxima ação | +
|---|---|---|---|---|---|
| + + + + + + | +
+
+
+
+
+
+
+
+ Peça publicada +Vídeo · 02:14 · Salvador + |
+ Pronto | +Publicado | +
+
+
+ Aberturas128
+ Downloads12
+ WhatsApp6
+ Link3
+ |
+
+
+
+
+
+ |
+
| + + + + + + | +
+
+
+
+
+
+
+
+ Peça em rascunho +Card · Feira de Santana + |
+ Pronto | +Rascunho | +Sem dados — ainda não publicada | +
+
+
+
+
+ |
+
| + + + + + + | +
+
+
+
+
+
+
+
+ Peça com falha +Áudio · 01:05 · Vitória da Conquista + |
+
+ Falhou
+ Não foi possível transcrever a peça. + |
+ Rascunho | +Sem dados — ainda não publicada | +
+
+
+
+
+ |
+
| + + + + | +
+
+
+
+
+
+
+
+ Peça em processamento +Vídeo · 03:40 · Itabuna + |
+
+ Processando
+ Transcrevendo a peça + |
+ Rascunho | +Sem dados — ainda não publicada | +
+
+
+
+
+ |
+
+ Publicar é o veredito dominante; Despublicar é outline; Apagar é destructive + tintado (o vermelho cheio fica só no diálogo). A seleção vale só as 4 peças + desta página. +
+Detalhe · checkbox “selecionar todas da página”
++ Trocar de página ou filtro zera a seleção — o header nunca representa um conjunto + invisível. +
+Cena 3 · mobile ~390 · repouso e seleção ativa
++ No celular o checkbox vive no card e a barra cabe em 390, com alvos ≥44px +
+3a · repouso — sem checkbox
+Peça em rascunho
+ Pronto +12 peças
+3b · seleção ativa — barra fixa no rodapé
+Peça publicada
+ Pronto +Peça em rascunho
+ Pronto +Peça com falha
+ Falhou ++ Os três botões têm 44px de altura e dividem a largura em três: nenhum label + transborda em 390. +
+Cena 4 · diálogo sempre visível · apagar sempre confirma
++ O aviso de links públicos aparece só quando há publicadas na seleção +
+Apagar 3 peças selecionadas?
++ Os links públicos das peças publicadas da seleção deixam de funcionar para quem + já recebeu. Esta ação não pode ser desfeita. +
+Apagar 3 peças selecionadas?
+Esta ação não pode ser desfeita.
+Apagar esta peça?
++ O link público /conteudos/<slug> + deixa de funcionar para quem já recebeu. Esta ação não pode ser desfeita. +
+
+ Mesmo chrome do CampaignDeleteDialog: ícone circular destrutivo, rodapé com
+ fundo muted/50 e borda superior, Cancelar outline e
+ Apagar vermelho cheio. Publicar/Despublicar em lote não têm diálogo — são o
+ kill switch reversível e agem direto, com recibo.
+
Cena 5 · recibos no topo da lista · nunca sucesso parcial silencioso
++ A lista diz o que aconteceu — e nomeia a falha quando ela existe +
+3 peças publicadas
+ +3 peças despublicadas
+ +3 peças apagadas
+ +2 de 3 peças apagadas. 1 falhou.
+ +-
+
- + Sucesso: frase única, tom neutro com + check; some sozinho ou no X; nunca briga com a varredura (fica no topo da lista, não + sobre ela). + +
-
+ Falha parcial:
role="alert"+ com o literal fixo, mais o vermelho — a falha de uma peça não reverte as demais e a + lista já reflete o desfecho. +
+ - + Nunca “3 peças apagadas” quando uma + falhou; o recibo sempre separa afetadas × falhas. + +
Cena 6 · ação em andamento · spinner + disabled
++ Enquanto roda, a barra e o diálogo bloqueiam — sem duplo gesto +
+Barra de seleção · publicando
+ +
+ O botão clicado carrega o spinner; os outros dois ficam desabilitados e os checkboxes
+ também. aria-busy="true" na barra.
+
Apagar 3 peças selecionadas?
++ Os links públicos das peças publicadas da seleção deixam de funcionar para quem + já recebeu. Esta ação não pode ser desfeita. +
+Notas do gate
+ +Produto respeitado
+-
+
- Seleção só da página visível; “selecionar todas” = as 4/25 desta página; morre ao trocar de página ou filtro. +
- Ações por linha/ficha (Abrir, Reprocessar, Apagar) intocadas — o lote não cria verbo por linha. +
- Publicar/Despublicar em lote agem sem confirmação (reversíveis) e dão recibo; Apagar sempre confirma. +
- Estados de processamento e publicação valem todos, sem filtro novo (inclusive
processando/falhou).
+ - Desktop (tabela) e mobile (card list) cobertos; sem edição de campos, sem agendamento, sem lixeira. +
- Sem rota pública nova: o lote é o gesto unitário repetido sobre a seleção. +
Tokens usados
+-
+
--primary #c51414no checkbox checado, no Publicar e no tint de seleção (primary/5).
+ --destructive #b42318no Apagar do diálogo (cheio) e no Apagar da barra (tintadodestructive/10).
+ --border,--input,--muted,--muted-foreground,--card,--sidebar: chrome da lista e do shell.
+ - Badges de estado como já existem: verde/âmbar/vermelho de processamento e
rosede publicado.
+ - Inter,
rounded-xl(card/lista),rounded-lg(botões),min-h-11(44px),tabular-numsno contador.
+ - Recibo de sucesso usa verde só no ícone (semântica), não como chrome. +
Literais refinados (e por quê)
+-
+
1 selecionadano singular, no lugar de “1 selecionadas” — segue o precedente vivo doTourComposerForm.
+ - Anunciado (não literal fixado):
Modo de seleçãoeCancelar seleçãocomo rótulos do affordance de entrar/sair; o plano só fixa o contador e os três verbos.
+ - O corpo do diálogo, o título
Apagar N peças selecionadas?, o singularApagar esta peça?e os recibos são os literais do plano, verbatim.
+
NEEDS ASSET
+
+ Nenhum. Todos os ícones (checkbox, dash, lixeira, check, alerta, spinner, setas) têm
+ equivalente lucide e estão inline no grid 24px/stroke 2. Não há SVG próprio em
+ …-ui-design-assets/. Sem foto, selo, depoimento ou cobertura — não se
+ aplica a esta superfície.
+
Proposta de evolução do DESIGN.md (não aplicada)
+
+ Se aprovada pelo humano, a §5 ganharia a regra do modo de seleção de lista:
+ checkbox opt-in (nunca permanente na varredura), tint primary/5 na linha
+ selecionada, e barra de ações flutuante no rodapé do conteúdo com o verbo dominante em
+ primary, o reversível em outline e o irreversível em destructive tintado — o
+ vermelho cheio permanece exclusivo do diálogo de confirmação. Como este artefato é
+ DEGRADED, a regra fica só como proposta; a decisão é do frontier/humano.
+
+ DEGRADED — design não certificado; sign-off humano obrigatório no gate/PR. +
+