docs(C209,C210): planos + designs hi-fi (dossiês sóbrios; briefing de capacitação) (Related #1251, #1252)

This commit is contained in:
Francisco Solla 2026-09-22 20:02:06 -03:00
parent 65bc0da0f7
commit 563be820cc
4 changed files with 3204 additions and 0 deletions

View file

@ -0,0 +1,918 @@
<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
<title>Design — Briefing de capacitação Solla</title>
<style type="text/tailwindcss">
@theme {
--color-ink: #18232d;
--color-ink-soft: #52616d;
--color-accent: #4d6d7c;
--color-line: #bdc8ce;
--color-line-light: #dce3e6;
--color-paper: #ffffff;
--color-workspace: #e9edef;
--color-note: #f2f5f6;
}
</style>
<style>
:root {
--ink: #18232d;
--ink-soft: #52616d;
--accent: #4d6d7c;
--line: #bdc8ce;
--line-light: #dce3e6;
--paper: #ffffff;
--workspace: #e9edef;
--note: #f2f5f6;
}
* {
box-sizing: border-box;
}
html,
body {
margin: 0;
min-height: 100%;
}
body {
color: var(--ink);
background: var(--workspace);
font-family: 'Fira Sans', 'DejaVu Sans', Arial, sans-serif;
-webkit-font-smoothing: antialiased;
}
.gate-intro {
width: min(100% - 32px, 1000px);
margin: 34px auto 28px;
padding: 20px 22px;
border-top: 3px solid var(--ink);
border-bottom: 1px solid var(--line);
background: rgb(255 255 255 / 72%);
}
.scene {
width: min-content;
margin: 0 auto 46px;
}
.scene-label {
margin: 0 0 8px;
color: var(--ink-soft);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.sheet {
display: flex;
width: 210mm;
height: 297mm;
padding: 14mm 16mm 12mm;
overflow: hidden;
flex-direction: column;
background: var(--paper);
box-shadow: 0 18px 44px rgb(24 35 45 / 15%);
font-size: 9.4pt;
line-height: 1.42;
}
.sheet p,
.sheet ul,
.sheet ol {
margin-top: 0;
}
.brief-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 9mm;
padding-bottom: 3mm;
border-bottom: 0.35mm solid var(--ink);
}
.kicker,
.eyebrow {
margin: 0;
color: var(--accent);
font-size: 7.3pt;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.brief-title {
margin: 1mm 0 0;
font-size: 19pt;
font-weight: 650;
line-height: 1.05;
letter-spacing: -0.025em;
}
.brief-subtitle {
margin: 1.2mm 0 0;
color: var(--ink-soft);
font-size: 8.7pt;
}
.internal-label {
max-width: 47mm;
margin: 0;
color: var(--ink);
font-size: 7.2pt;
font-weight: 700;
line-height: 1.4;
text-align: right;
text-transform: uppercase;
}
.page-no {
display: block;
margin-top: 1mm;
color: var(--ink-soft);
font-weight: 500;
text-transform: none;
}
.section {
margin-top: 5mm;
}
.section + .section {
margin-top: 6mm;
}
.section-title {
margin: 1.2mm 0 0;
font-size: 13.5pt;
font-weight: 650;
line-height: 1.15;
letter-spacing: -0.015em;
}
.lede {
max-width: 158mm;
margin: 3mm 0 0;
font-size: 10.2pt;
line-height: 1.5;
}
.rule-note {
margin-top: 4mm;
padding: 2.5mm 0 2.5mm 4mm;
border-top: 0.25mm solid var(--line);
border-bottom: 0.25mm solid var(--line);
border-left: 1mm solid var(--accent);
color: var(--ink-soft);
font-size: 8.4pt;
line-height: 1.42;
}
.rule-note strong {
color: var(--ink);
}
.line-list,
.script-list,
.avoid-list,
.check-list {
margin: 3mm 0 0;
padding: 0;
border-top: 0.35mm solid var(--ink);
list-style: none;
}
.line-list li,
.script-list li,
.avoid-list li,
.check-list li {
position: relative;
padding: 2.5mm 0 2.5mm 6mm;
border-bottom: 0.2mm solid var(--line-light);
}
.line-list li::before,
.script-list li::before,
.avoid-list li::before,
.check-list li::before {
position: absolute;
top: 3.7mm;
left: 0;
width: 2.2mm;
height: 0.45mm;
background: var(--accent);
content: '';
}
.line-title {
display: block;
font-weight: 700;
}
.line-meta {
display: block;
margin-top: 0.8mm;
color: var(--ink-soft);
font-size: 7.8pt;
line-height: 1.4;
}
.source {
color: var(--accent);
font-size: 7.4pt;
font-weight: 700;
}
.request-line {
margin: 3.5mm 0 0;
padding: 4mm 0;
border-top: 0.6mm solid var(--ink);
border-bottom: 0.6mm solid var(--ink);
font-size: 14pt;
font-weight: 650;
line-height: 1.3;
letter-spacing: -0.015em;
}
.request-line em {
color: var(--accent);
font-style: normal;
}
.script-list {
counter-reset: script-step;
}
.script-list li {
min-height: 14mm;
padding-left: 13mm;
counter-increment: script-step;
}
.script-list li::before {
top: 2.7mm;
width: 8mm;
height: auto;
color: var(--accent);
background: none;
content: counter(script-step, decimal-leading-zero);
font-size: 8pt;
font-weight: 700;
}
.qa-list {
margin: 3mm 0 0;
padding: 0;
border-top: 0.35mm solid var(--ink);
list-style: none;
}
.qa-item {
display: grid;
padding: 3.2mm 0;
border-bottom: 0.2mm solid var(--line-light);
grid-template-columns: 46mm 1fr;
gap: 5mm;
}
.qa-question {
margin: 0;
font-size: 8.6pt;
font-weight: 700;
line-height: 1.38;
}
.qa-side {
display: block;
margin-bottom: 1mm;
color: var(--accent);
font-size: 6.8pt;
letter-spacing: 0.07em;
text-transform: uppercase;
}
.qa-answer {
margin: 0;
font-size: 8.6pt;
line-height: 1.45;
}
.qa-answer b {
font-weight: 700;
}
.avoid-list strong,
.check-list strong {
font-weight: 700;
}
.two-column {
display: grid;
margin-top: 5mm;
grid-template-columns: 1fr 1fr;
gap: 8mm;
}
.limits {
margin-top: 5mm;
padding-top: 3mm;
border-top: 0.6mm solid var(--ink);
}
.limits p {
margin: 1.5mm 0 0;
color: var(--ink-soft);
font-size: 8pt;
line-height: 1.42;
}
.brief-footer {
display: flex;
margin-top: auto;
padding-top: 2.5mm;
border-top: 0.25mm solid var(--line);
justify-content: space-between;
gap: 8mm;
color: var(--ink-soft);
font-size: 7.2pt;
line-height: 1.3;
}
.brief-footer strong {
color: var(--ink);
}
.sheet-compact .section {
margin-top: 3.8mm;
}
.sheet-compact .avoid-list,
.sheet-compact .check-list {
margin-top: 2mm;
}
.sheet-compact .avoid-list li,
.sheet-compact .check-list li {
padding-top: 1.65mm;
padding-bottom: 1.65mm;
font-size: 8.7pt;
line-height: 1.32;
}
.sheet-compact .avoid-list li::before,
.sheet-compact .check-list li::before {
top: 2.8mm;
}
.sheet-compact .two-column {
margin-top: 3.8mm;
gap: 6mm;
}
.sheet-compact .section-title {
font-size: 12.5pt;
}
.sheet-compact .limits {
margin-top: 3.5mm;
padding-top: 2mm;
}
.sheet-compact .limits p {
margin-top: 1mm;
font-size: 7.5pt;
line-height: 1.32;
}
.sheet-compact .brief-footer {
padding-top: 1.8mm;
}
@media (max-width: 760px) {
.gate-intro {
width: calc(100% - 20px);
margin: 10px auto 18px;
padding: 16px;
}
.scene {
width: calc(100% - 20px);
margin-bottom: 24px;
}
.sheet {
width: 100%;
height: auto;
min-height: 0;
padding: 24px 20px 20px;
overflow: visible;
font-size: 14px;
line-height: 1.5;
}
.brief-head {
gap: 16px;
padding-bottom: 12px;
}
.brief-title {
font-size: 25px;
}
.brief-subtitle,
.lede {
font-size: 14px;
}
.kicker,
.eyebrow,
.internal-label,
.source,
.line-meta,
.brief-footer {
font-size: 11px;
}
.section {
margin-top: 24px;
}
.section + .section {
margin-top: 28px;
}
.section-title {
font-size: 20px;
}
.line-list li,
.script-list li,
.avoid-list li,
.check-list li {
padding-top: 12px;
padding-bottom: 12px;
}
.line-list li::before,
.avoid-list li::before,
.check-list li::before {
top: 20px;
}
.line-meta,
.qa-question,
.qa-answer,
.limits p {
font-size: 13px;
}
.qa-item,
.two-column {
grid-template-columns: 1fr;
gap: 10px;
}
.request-line {
font-size: 19px;
}
.brief-footer {
margin-top: 28px;
}
}
@media print {
body {
background: white;
}
.gate-intro,
.scene-label {
display: none;
}
.scene {
margin: 0;
}
.sheet {
box-shadow: none;
break-after: page;
}
.scene:last-child .sheet {
break-after: auto;
}
}
@page {
size: A4;
margin: 0;
}
</style>
</head>
<body>
<header class="gate-intro">
<p class="m-0 text-xs font-bold uppercase tracking-[.14em] text-accent">
C210 · referência visual do gate
</p>
<h1 class="mt-2 text-2xl font-semibold tracking-tight text-ink">
Briefing de capacitação · família sóbria
</h1>
<p class="mt-2 max-w-3xl text-sm leading-6 text-ink-soft">
Quatro folhas A4, sem marca de campanha, cartões, selos ou gráficos. No celular, as mesmas
folhas refluem em uma coluna com corpo de 14 px para consulta em campo. O conteúdo é insumo
interno: fatos vêm do dossiê; lacunas permanecem lacunas.
</p>
</header>
<main>
<section class="scene">
<p class="scene-label">Folha 1/4 · O essencial do recorte</p>
<article class="sheet" aria-label="O essencial do briefing de Miguel Calmon">
<header class="brief-head">
<div>
<p class="kicker">Briefing de capacitação · cidade</p>
<h2 class="brief-title">Miguel Calmon</h2>
<p class="brief-subtitle">
Piemonte da Diamantina · consulta antes e durante o contato
</p>
</div>
<p class="internal-label">
Insumo interno de capacitação — não publicar
<span class="page-no">folha 1/4</span>
</p>
</header>
<section class="section">
<p class="eyebrow">Comece por aqui</p>
<h3 class="section-title">O essencial do recorte</h3>
<p class="lede">
Use um fato local de cada vez. Separe o que ocorreu no município do que atende a
região. Não transforme articulação, indicação ou valor autorizado em entrega
concluída.
</p>
<ul class="line-list">
<li>
<span class="line-title"
>A evidência municipal mais concentrada está na gestão estadual da saúde.</span
>
<span class="line-meta"
>Ambulância, Saúde em Movimento, Olhar Brasil, atenção domiciliar e gestão da
Santa Casa aparecem com menção direta a Miguel Calmon.
<span class="source">[B-01–B-07]</span></span
>
</li>
<li>
<span class="line-title"
>A Santa Casa aparece com 80 leitos e emergência 24 horas no registro de
2012.</span
>
<span class="line-meta"
>Fase do valor anual não informada: cite o serviço, não some valores.
<span class="source">Jornal Grande Bahia · 25/01/2012</span></span
>
</li>
<li>
<span class="line-title"
>No mandato federal, os registros localizados têm alcance regional.</span
>
<span class="line-meta"
>Campus da UFBA, Policlínica, seminário e articulações em Jacobina não são
entregas exclusivas ao município. <span class="source">[C-01–C-08]</span></span
>
</li>
<li>
<span class="line-title"
>Não há fala própria localizada com menção nominal à cidade.</span
>
<span class="line-meta"
>Resultado de busca não prova ausência histórica. Se perguntarem além do que está
documentado, anote e confira no dossiê. <span class="source">[L-07]</span></span
>
</li>
</ul>
</section>
<div class="rule-note">
<strong>Como usar.</strong> Antes: escolha dois fatos e ensaie o pedido. Durante:
escute, responda com um fato verificável e peça o voto. Depois: registre a dúvida que
ficou sem resposta para o próximo ciclo do dossiê.
</div>
<footer class="brief-footer">
<span
><strong>Regra:</strong> município ≠ região · fase acompanha valor · sem fonte, não
afirmar</span
>
<span>Briefing de capacitação · 1/4</span>
</footer>
</article>
</section>
<section class="scene">
<p class="scene-label">Folha 2/4 · Defesas + roteiro do pedido</p>
<article class="sheet" aria-label="O que Solla defende e roteiro do pedido de voto">
<header class="brief-head">
<div>
<p class="kicker">Briefing de capacitação · Miguel Calmon</p>
<h2 class="brief-title">Defesas e pedido de voto</h2>
<p class="brief-subtitle">Do fato local ao compromisso nomeado</p>
</div>
<p class="internal-label">
Insumo interno de capacitação — não publicar
<span class="page-no">folha 2/4</span>
</p>
</header>
<section class="section">
<p class="eyebrow">Leitura dos registros · não é opinião</p>
<h3 class="section-title">O que Solla defende</h3>
<ul class="line-list">
<li>
<span class="line-title">Ensino superior público no Piemonte da Diamantina.</span>
<span class="line-meta"
>Defesa registrada de campus da UFBA em Jacobina, junto com Jequié e Seabra.
Alcance regional.
<span class="source">INC 1497/2023 · Jornal da Chapada, 22/09/2023</span></span
>
</li>
<li>
<span class="line-title">Fortalecimento da estrutura regional de diagnóstico.</span>
<span class="line-meta"
>Registro de articulação pela ressonância da Policlínica de Jacobina; autoria da
emenda atribuída a Amauri Teixeira.
<span class="source">Marcelino Galo · 14/04/2018</span></span
>
</li>
<li>
<span class="line-title"
>Promessa nominal para Miguel Calmon: sem registro localizado.</span
>
<span class="line-meta"
>Não completar com proposta genérica nem apresentar ação regional como promessa
municipal.</span
>
</li>
</ul>
</section>
<section class="section">
<p class="eyebrow">Roteiro curto · fale como pessoa, não como disparo</p>
<h3 class="section-title">Faça o pedido com clareza</h3>
<p class="request-line">
“Posso contar com você? Para deputado federal, <em>vote 1313, Jorge Solla</em>.”
</p>
<ol class="script-list">
<li>
<span class="line-title">Comece pela relação.</span>
<span class="line-meta"
>“Quero conversar com você porque sua opinião importa para mim.” Escute antes de
argumentar.</span
>
</li>
<li>
<span class="line-title">Use um fato do recorte.</span>
<span class="line-meta"
>Escolha um item da folha 1. Diga se é municipal ou regional e preserve o
estágio.</span
>
</li>
<li>
<span class="line-title">Peça explicitamente: vote 1313.</span>
<span class="line-meta"
>Não pare em “pense com carinho”. Nome e número tornam o compromisso claro.</span
>
</li>
<li>
<span class="line-title">Combine o plano de voto: onde, quando e como.</span>
<span class="line-meta"
>“Você já sabe onde vota? Em que horário pretende ir? Como vai chegar?” Oriente
sem pressionar.</span
>
</li>
<li>
<span class="line-title">Feche com compromisso nomeado.</span>
<span class="line-meta"
>“Então ficou combinado: para deputado federal, Jorge Solla, 1313?” Se houver
dúvida, não force; combine retorno.</span
>
</li>
</ol>
</section>
<div class="rule-note">
<strong>Por que assim:</strong> contato pessoal e relacional mobiliza melhor do que
broadcast; escuta e narrativa vêm antes do argumento. Evidência internacional orienta o
método, mas EUA ≠ Brasil — aqui o plano ajuda também a lembrar o número na urna.
</div>
<footer class="brief-footer">
<span
>Base de capacitação: Nickerson &amp; Rogers 2010 · Schein et al. 2021 · Kalla &amp;
Broockman 2020</span
>
<span>Briefing de capacitação · 2/4</span>
</footer>
</article>
</section>
<section class="scene">
<p class="scene-label">Folha 3/4 · Perguntas prováveis × melhores respostas</p>
<article class="sheet" aria-label="Perguntas prováveis e melhores respostas">
<header class="brief-head">
<div>
<p class="kicker">Briefing de capacitação · Miguel Calmon</p>
<h2 class="brief-title">Perguntas prováveis × melhores respostas</h2>
<p class="brief-subtitle">Reconhecer → fato local verificável → pedido</p>
</div>
<p class="internal-label">
Insumo interno de capacitação — não publicar
<span class="page-no">folha 3/4</span>
</p>
</header>
<div class="rule-note">
<strong>Régua visível:</strong> reconheça a preocupação em uma frase, sem repetir o
ataque; responda com um fato local verificável; feche perguntando se pode contar com o
voto 1313. Se o dossiê não sustenta a resposta, diga que vai conferir.
</div>
<ol class="qa-list">
<li class="qa-item">
<p class="qa-question">
<span class="qa-side">Objeção à direita</span>“Não voto no PT / não gosto do Lula.”
</p>
<p class="qa-answer">
<b>Reconhecer:</b> “Entendo que a escolha partidária pesa.” <b>Fato:</b> em Miguel
Calmon, há registros nominais de ações na saúde durante a gestão estadual, como
Saúde em Movimento, ambulância e atenção domiciliar. <b>Fechar:</b> “Olhando esse
trabalho no município, posso contar com seu voto 1313 para deputado federal?”
</p>
</li>
<li class="qa-item">
<p class="qa-question">
<span class="qa-side">Objeção à direita</span>“E o governo de Jerônimo? O que fez
aqui?”
</p>
<p class="qa-answer">
<b>Reconhecer:</b> “É justo cobrar o que chegou ao município.” <b>Fato:</b> este
briefing não traz entrega do governo atual comprovada para responder isso; ele
registra ações de outros períodos e iniciativas regionais. <b>Fechar:</b> “Posso
conferir essa pergunta no dossiê e voltar? Sobre o trabalho documentado de Solla,
posso pedir seu voto 1313?”
</p>
</li>
<li class="qa-item">
<p class="qa-question">
<span class="qa-side">Objeção à esquerda</span>“Se o PT governa a Bahia, por que
ainda falta tanto?”
</p>
<p class="qa-answer">
<b>Reconhecer:</b> “A cobrança é legítima; ação feita não apaga o que falta.”
<b>Fato:</b> o levantamento registra serviços no município, mas também lacunas: não
localizou emenda individual de Solla para Miguel Calmon nem obra estadual nominal na
janela consultada. <b>Fechar:</b> “A proposta é cobrar sem esconder lacunas. Posso
contar com seu voto 1313?”
</p>
</li>
<li class="qa-item">
<p class="qa-question">
<span class="qa-side">Objeção à esquerda</span>“Por que falar de Jacobina se eu moro
em Miguel Calmon?”
</p>
<p class="qa-answer">
<b>Reconhecer:</b> “Você tem razão em separar cidade e região.” <b>Fato:</b> campus
da UFBA e Policlínica aparecem como iniciativas regionais em Jacobina; o material
não as chama de entrega exclusiva a Miguel Calmon. <b>Fechar:</b> “Defender
estrutura regional sem apagar o município faz sentido para você? Posso contar com o
1313?”
</p>
</li>
<li class="qa-item">
<p class="qa-question">
<span class="qa-side">Dúvida sobre entrega</span>“Ele prometeu o quê para Miguel
Calmon?”
</p>
<p class="qa-answer">
<b>Reconhecer:</b> “Promessa precisa estar registrada.” <b>Fato:</b> não foi
localizada promessa nominal para o município; há defesa regional de campus da UFBA
em Jacobina e registros de atuação em saúde. <b>Fechar:</b> “Não vou inventar
promessa. Pelo trabalho comprovado, você considera votar 1313?”
</p>
</li>
</ol>
<footer class="brief-footer">
<span
><strong>Não debata para vencer.</strong> Preserve a relação, responda o verificável e
anote a lacuna.</span
>
<span>Briefing de capacitação · 3/4</span>
</footer>
</article>
</section>
<section class="scene">
<p class="scene-label">Folha 4/4 · O que evitar + conferência + limites</p>
<article class="sheet sheet-compact" aria-label="O que evitar e o que conferir no dossiê">
<header class="brief-head">
<div>
<p class="kicker">Briefing de capacitação · Miguel Calmon</p>
<h2 class="brief-title">O que evitar</h2>
<p class="brief-subtitle">
Proteja a relação, a verdade do recorte e os limites do material
</p>
</div>
<p class="internal-label">
Insumo interno de capacitação — não publicar
<span class="page-no">folha 4/4</span>
</p>
</header>
<section class="section">
<ul class="avoid-list">
<li>
<strong>Confrontar para ganhar a discussão.</strong> Em território hostil, encerre
com respeito; não transforme contato em duelo.
</li>
<li>
<strong>Envergonhar ou expor o eleitor.</strong> Pressão pesada gera reação. Convide
ao compromisso sem constranger.
</li>
<li>
<strong>Repetir o ataque ou o mito.</strong> Não lidere pela acusação. Reconheça a
preocupação e ofereça uma explicação factual alternativa.
</li>
<li>
<strong>Trocar conversa por broadcast impessoal.</strong> WhatsApp 1-a-1 e pessoa de
confiança vêm antes de corrente ou disparo em massa.
</li>
<li>
<strong>Prometer sem lastro.</strong> Indicação não é obra; articulação não é
autoria; autorizado não é pago; região não é município.
</li>
</ul>
</section>
<div class="two-column">
<section>
<p class="eyebrow">Antes de responder</p>
<h3 class="section-title">O que conferir no dossiê</h3>
<ul class="check-list">
<li><strong>Fonte e data</strong> do fato que pretende usar.</li>
<li><strong>Alcance:</strong> município, região ou polo.</li>
<li><strong>Fase do valor:</strong> autorizado, empenhado, liquidado ou pago.</li>
<li><strong>Autoria:</strong> quem apresentou, destinou ou executou.</li>
<li>
<strong>Lacuna:</strong> o que a busca não localizou e não pode ser inferido.
</li>
</ul>
</section>
<section>
<p class="eyebrow">Consulta em campo</p>
<h3 class="section-title">Se você não souber</h3>
<ul class="check-list">
<li><strong>Diga com clareza:</strong> “Não tenho esse dado confirmado aqui.”</li>
<li><strong>Anote a pergunta</strong> sem pedir dado pessoal desnecessário.</li>
<li><strong>Combine retorno</strong> por canal 1-a-1, se a pessoa quiser.</li>
<li><strong>Leve a lacuna</strong> à coordenação para conferência no dossiê.</li>
<li>
<strong>Não improvise</strong> número, promessa, fonte ou resposta do governo.
</li>
</ul>
</section>
</div>
<section class="limits">
<p class="eyebrow">Limites e defeso</p>
<p>
Material interno de capacitação. Não publicar, encaminhar como peça, impulsionar nem
adaptar sem revisão editorial e jurídica. Sem CTA público, marca de campanha, cenário
eleitoral, estimativa de votos ou dado staff-only. Os fatos foram selecionados do
dossiê de Miguel Calmon e devem ser conferidos na fonte antes de uso público.
</p>
<p>
A evidência de mobilização citada no treinamento é majoritariamente internacional e
não mede automaticamente o Brasil. Use os princípios para orientar contato pessoal,
plano de voto e lembrança do número — nunca para prometer efeito ou misturar
resultados de estudos diferentes.
</p>
</section>
<footer class="brief-footer">
<span>Anti-padrões: Lau et al. 2007 · Ecker et al. 2022 · Debunking Handbook 2020</span>
<span>Briefing de capacitação · 4/4</span>
</footer>
</article>
</section>
</main>
</body>
</html>

View file

@ -0,0 +1,122 @@
# Briefing de capacitação Solla 1313 — até 4 páginas para quem vai pedir voto no recorte (cidade · instituição · tema)
Status: rascunho
Atualizado em: 2026-09-22
Issue: #1252
Priority: P1 (assumido — prazo de campanha 2026; a família de dossiês é P2)
Impeccable: C — fluxo/entregável novo (briefing de capacitação por recorte); design hi-fi obrigatório no gate
Design UI: docs/plans/briefing-capacitacao-solla-ui-design.html
Appetite: ~3–4 dias eng; um briefing por recorte (até 4 páginas A4) derivado do dossiê, com roteiro de pedido e Q&A
Responsável: —
## Intenção
Os dossiês dizem o que Solla **fez** e — a partir do C209 — o que ele **defende** por recorte. Falta a peça entre o documento e a pessoa que pede o voto: quem vai panfletar e pedir voto a amigos e colegas hoje improvisa o pedido e trava nas objeções ("é do PT", "não gosto do Lula", "o governo não fez nada aqui"). O pedido é um **briefing de capacitação** por recorte, **até 4 páginas**, derivado dos artefatos do dossiê — sem segunda pesquisa factual —, com roteiro de pedido de voto e perguntas prováveis × melhores respostas, dos dois lados (direita e esquerda), para transformar simpatia em compromisso nomeado com o número. É **insumo interno de capacitação**, não peça publicável: defeso 2026, sem CTA público, sem marca de campanha publicável. Não substitui o dossiê nem o boletim.
## Persona e fluxo
- **Persona / contexto:** militante/voluntário que vai panfletar e pedir voto no recorte; e quem coordena essa militância. Celular na mão, antes do contato (estudo) e durante (consulta rápida); estado de espírito: quer pedir o voto, mas teme bater de frente ou não saber responder.
- **Job principal:** sair do "vou falar bem do Solla" para **pedir o voto 1313 explicitamente**, com plano de voto e compromisso nomeado, tendo resposta pronta, honesta e ancorada em fato local para as objeções.
- **Fluxo desejado:** escolhe o recorte → lê/estuda o briefing uma vez (≤4 páginas) → ensaia o pedido e o Q&A → em campo, consulta no celular → o que não soube responder volta como lacuna para o próximo levantamento do dossiê.
- **Anti-goals de produto:** não virar peça publicável, manual de debate confrontativo, dossiê resumido, guia de promessas, nem exposição de cenário eleitoral/números staff-only.
### Esboço de fluxo (C)
```text
[escolhe o recorte] → [lê o briefing (essencial + defesas + roteiro + Q&A + evitar)]
→ [ensaia pedido explícito + plano de voto + compromisso nomeado]
→ [campo: conversa, escuta, responde sem repetir o ataque, fecha no pedido]
→ [dúvida nova → anota → próximo ciclo do dossiê]
```
### Design UI (C)
- Design UI (gate): `docs/plans/briefing-capacitacao-solla-ui-design.html` — o `designer` produz o hi-fi (PDF A4 de até 4 páginas, legível no celular) **antes** da implementação; o HTML é a fonte de verdade do port.
## Objetivo e aceite
- Um briefing por recorte (cidade · instituição · tema), PDF A4 de **até 4 páginas** + companion `.md`, derivado do dossiê daquele recorte, **sem segunda pesquisa factual**.
- **Integrado ao fluxo dos dossiês:** as três skills de dossiê passam a apontar a skill de briefing, e o fluxo do dossiê entrega o **terceiro entregável** — dossiê + boletim + briefing — na mesma invocação (a skill de briefing segue invocável sozinha por recorte).
- Rótulo literal em todas as páginas: **"Insumo interno de capacitação — não publicar"**; artefato gitignored; sem CTA público.
- Seções mínimas: identificação do recorte; "o essencial do recorte" (fatos-âncora com fonte); "o que Solla defende" (herdado da dimensão que nasce no C209); **roteiro do pedido de voto**; **perguntas prováveis × melhores respostas**; **o que evitar**; **o que conferir no dossiê** (não prometer sem lastro).
- Q&A cobre os dois lados: ataques da direita **e** da esquerda, incluindo associação PT/Lula/Jerônimo e ataques ao governo do PT **no recorte**.
- Régua de resposta: reconhecer a acusação em uma frase sem repeti-la → fato local verificável do recorte → fechar no pedido; sem confronto nem humilhação; sem prometer entrega sem lastro; sem números staff-only.
- Teto de 4 páginas **rígido**, com corte por prioridade declarada (o impl define a ordem).
- Guardrails herdados intactos: sem fonte não publica; empenho ≠ pagamento (fase por valor); esfera explícita nunca somada; leitura relativa/local (nunca % estadual absoluto); PII mínima; **nunca expor cenários de votos/estimativas staff-only**.
## Dados (intenção)
- **Vou apresentar dados?** Sim, derivado — o briefing reapresenta fatos-âncora já com fonte do dossiê para um novo consumidor (quem pede voto); não produz dado novo nem agrega.
- **Decisões desbloqueadas:** quem pede voto escolhe o que citar e o que evitar no contato; o coordenador decide onde reforçar capacitação (perguntas sem resposta boa); a comunicação vê que resposta não tem fato-âncora e vira pauta do dossiê.
- **Forma:** _adiada ao plano de implementação_ — restrições: números com fonte e contexto; esfera explícita por item, nunca somada; leitura relativa; Q&A em prosa curta, sem gráfico ou placar.
## Dados da decisão (literais)
- ID **C210** · slug `briefing-capacitacao-solla` · arquivo `docs/plans/briefing-capacitacao-solla.md` · UI `docs/plans/briefing-capacitacao-solla-ui-design.html`.
- Nome do artefato: **"Briefing de capacitação"** — nunca "Briefing por era" (colide com `.agents/skills/dossie-solla-{cidade,instituicao,tema}/SKILL.md` §"Briefing por era").
- **Integração (literal):** `.agents/skills/dossie-solla-{cidade,instituicao,tema}/SKILL.md` citam a skill `briefing-capacitacao-solla` e entregam o briefing junto do dossiê e do boletim; o fluxo reusa a mesma skill/build — nunca um segundo pipeline.
- Rótulo literal: `Insumo interno de capacitação — não publicar`; teto de **4 páginas A4**; saída PDF + companion `.md`.
- Roteiro do pedido (literais): pedido explícito **"vote 1313"** + **plano de voto** (onde/quando/como) + **compromisso nomeado** — base: Nickerson & Rogers 2010 (+4,1 p.p.).
- Princípios de persuasão como conteúdo do briefing (com citação): contato pessoal mobiliza, persuasão ≈ 0 em eleição geral (Gerber & Green 2000; Kalla & Broockman 2018); relacional amigo-a-amigo > broadcast (Schein et al. 2021; Michelson et al. 2024); entorno vota junto (~60% no outro adulto da casa, Nickerson 2008) e norma alta "a maioria vota" (Gerber & Rogers 2009); pressão leve e não humilhante — exposição pesada gera reactance (Gerber, Green & Larimer 2008; Mann 2010; Matland & Murray 2012); compromisso/coerência, prova social, afeição/unidade (Cialdini & Goldstein 2004); escuta/narrativa > argumento puro (Broockman & Kalla 2016; Kalla & Broockman 2020); credibilidade por fato local concreto e repetido — credit claiming verificável (Grimmer, Messing & Westwood 2012; Wood & Porter 2019).
- "O que evitar" (anti-padrões literais): confrontar em território hostil (Lau, Sigelman & Rovner 2007); envergonhar/expor o eleitor (reactance); repetir o ataque/mito — não liderar com o mito, dar explicação alternativa (Ecker et al. 2022; Debunking Handbook 2020); broadcast impessoal como substituto do pessoal (robocall ≈ 0, texto de massa ≈ 0,29 p.p.); inflar/antecipar entrega sem confirmação.
- Canal de campo: WhatsApp 1-a-1 e encaminhamento por pessoa de confiança > corrente em massa; lembrete perto da eleição.
- Personas internas (citar por path): `docs/research/persona-cientista-politico-campanha-ba.md:21` "Campanha não persuade; campanha organiza e orienta"; `:23` "Na Bahia, o voto do campo é de Lula e do governador antes de ser seu"; `docs/research/relatorio-entrevista-persona-campanha.md:80` "1º pedido explícito (converter simpatia em compromisso nomeado com número)"; `:241` anti-goal "persuasão de território hostil (evidência ≈ 0)"; `docs/research/persona-emendas-coordenador-campanha.md:15` "ZAP é o campo. Tudo passa pelo ZAP."; `docs/research/persona-emendas-coordenador-comunicacao.md:18` "O anúncio vale mais que o valor"; `:22` trava jurídica "gabinete não é comitê" (material de mandato ≠ campanha).
- Tensão a registrar no briefing: a evidência é estrangeira (EUA, voto facultativo) e a persona avisa "EUA ≠ Brasil"; no Brasil o análogo é orientar o número na urna; **não misturar números de mobilização de estudos distintos**.
- Reuso de voz (dono único, sem gemar): `.opencode/skills/solla-comunicacao/SKILL.md`, `referencia/tom-e-exemplos.md` (rebates reais, §Combate/resposta) e agente `.opencode/agent/solla-comunicacao.md`.
- Perguntas prováveis derivam de: (a) objeções típicas ao voto no PT/Solla; (b) contexto/temas do recorte segundo o dossiê e as notícias já pesquisadas; o impl decide a profundidade.
## Direção no codebase (hipótese)
- **Áreas prováveis:** `.agents/skills/briefing-capacitacao-solla/SKILL.md`, `.opencode/commands/briefing-capacitacao-solla.md` (frontmatter só `description:`, corpo cita a skill por nome exato + `$ARGUMENTS`, **sem** `model:`), subagente `.opencode/agent/*` (mode subagent, sem pin openai), scripts de build do briefing.
- **Reuse surface:** JSONs `data/dossie-*/<slug>.{a,b,c}.research.json` + `<slug>.narrative.json` + `<slug>.snapshot.json`; `buildDossierReport` (`scripts/lib/dossieBlocks.mjs:222`) e `bulletinFacts` (só fatos com fonte); `scripts/lib/dossieResearch.mjs:422/497-515/599`; `dossieBlocks.mjs:432-442` (`opening.authored`); PDF via `scripts/lib/buildPdf.mjs` (`emitHtmlPairPdf:224` exige `[data-page="resumo"]` e `[data-page="boletim"]` — o briefing é documento único: editar o dono, não fork). **Teto de 4 páginas não é expressável hoje** (só fit por folha) — obrigação do impl.
- **Precedentes a olhar:** specs de skill de lote `tests/unit/dossieBatchSkill.unit.spec.ts` (+ irmãos institution/theme); registry `tests/unit/opencodeCommands.unit.spec.ts:13-24` (adicionar o novo command); `.opencode/skills/solla-comunicacao/` (voz/resposta a ataque); `/relatorio-cidade` (`research.approach`, `opposition`, "Pauta das lideranças") como precedente de cenário eleitoral — não copiar o dono.
- **Risco de acoplamento:** consumir os JSONs do dossiê, nunca um segundo pipeline de pesquisa/render; não tocar schema/migration/DB; não vazar `estimatedVotes` nem cenários staff-only.
## Dependências
- Nenhuma dura. **Soft com C209** (`docs/plans/dossies-sobrios-analiticos.md`): o briefing consome a dimensão "o que defende" que nasce lá; sem C209, deriva dos mesmos JSONs de notícias/acervo — C210 não bloqueia C209 nem vice-versa.
## Fora de escopo
- Redesenho do dossiê/boletim e a própria dimensão "o que defende" (C209).
- Publicar, veicular, impulsionar, CTA público ou qualquer peça de campanha em defeso; marca publicável.
- Segunda pesquisa factual do recorte; pesquisa eleitoral/quantitativa nova; cenário de votos.
- Promessas de entrega, agenda, posição não registrada; qualquer dado staff-only.
- Schema, migration ou escrita em banco; URL público.
## Rabbit holes de produto
- **"Já que tem pesquisa, faz o manual de campanha completo".** Vira treinamento/política de campanha inteira. **Corte:** até 4 páginas, roteiro + Q&A.
- **"Responde tudo com dado".** Vira dossiê resumido e mata o teto. **Corte:** Q&A curto, cada resposta com um fato-âncora.
- **"Inclui cenário eleitoral/números de voto".** Expõe staff-only e promete o que a militância não controla. **Corte:** só fatos do dossiê; cenário é C163.
- **"Pesquisa o recorte de novo".** Segundo pipeline e fonte divergente. **Corte:** deriva do dossiê; a única pesquisa nova é a de capacitação (já compilada).
- **"Faz uma peça bonita para divulgar".** Material publicável em defeso. **Corte:** insumo interno rotulado, consulta pessoal.
## Questões em aberto (produto)
- *(decidido no gate, 2026-09-22: **A** — uma skill `/briefing-capacitacao-solla <recorte>`, **integrada ao fluxo das skills de dossiê** — elas linkam a skill e entregam o briefing junto do dossiê e do boletim.)*
- *(decidido no gate: **A** — companion `.md` sim.)*
- *(decidido no gate: **A** — sem cenário eleitoral no briefing.)*
- *(decidido no gate: **A** — P1, prazo de campanha 2026.)*
- **Reaproveitar a voz do `solla-comunicacao`?** **Opções:** A) sim, para respostas a ataque | B) redação própria. **Recomendação:** A — dono existente evita gemar tom.
- **Teto de 4 páginas rígido?** **Opções:** A) rígido, corte por prioridade declarada | B) teto mole. **Recomendação:** A — o valor é ser curto para estudar e consultar.
## Referências
- Design UI (gate): `docs/plans/briefing-capacitacao-solla-ui-design.html` (+ assets em `docs/plans/briefing-capacitacao-solla-ui-design-assets/`).
- Plano irmão e fronteira: `docs/plans/dossies-sobrios-analiticos.md` (C209).
- Skills da família: `.agents/skills/dossie-solla-{cidade,instituicao,tema}/SKILL.md`; specs `tests/unit/dossieBatchSkill.unit.spec.ts`; registry `tests/unit/opencodeCommands.unit.spec.ts`.
- Engine: `scripts/lib/dossieBlocks.mjs`, `scripts/lib/dossieResearch.mjs`, `scripts/lib/buildPdf.mjs`; builders `scripts/build-dossie-solla-*.mjs`.
- Voz: `.opencode/skills/solla-comunicacao/SKILL.md` + `referencia/tom-e-exemplos.md`; agente `.opencode/agent/solla-comunicacao.md`.
- Personas: `docs/research/persona-cientista-politico-campanha-ba.md`, `docs/research/relatorio-entrevista-persona-campanha.md`, `docs/research/persona-emendas-coordenador-campanha.md`, `docs/research/persona-emendas-coordenador-comunicacao.md`.
- `AGENTS.md` (defeso, artefato gitignored); `.agents/skills/plan-issue/ui-design-html.md` (gate de design).
## Self-score (shaping, gate ≥4)
1. **Fatia = um outcome verificável?** Sim — um briefing de capacitação por recorte, ≤4 páginas, com roteiro de pedido e Q&A. — **5/5**
2. **Appetite declarado e a intenção cabe nele?** 3–4 dias; consomem quota a derivação das respostas com lastro, o Q&A dos dois lados e o teto de páginas. — **4/5**
3. **Persona + job + aceite claros (sem jargão de stack)?** Sim — quem panfleta/pede voto e quem coordena; job e aceite por seção e régua de resposta. — **5/5**
4. **Direção no codebase é hipótese (não contrato técnico)?** Sim — paths como pista; forma de render e corte de páginas adiada ao impl. — **4/5**
5. **Zero decisões duras de engenharia no plano?** Sim — sem schema/migration/signature; literais são conteúdo, rótulo e citações de produto. — **5/5**
**Total 23/25 (média 4,6/5) — passa o gate ≥4/5.**

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,110 @@
# Dossiês e boletins Solla sóbrios e analíticos — listas, análise (o que fez × o que defende) e consulta rápida (cidade · instituição · tema)
Status: rascunho
Atualizado em: 2026-09-22
Issue: #1251
Priority: P2
Impeccable: C — redesenho de superfície existente (três variantes da mesma família, dossiê + boletim), sem fluxo novo; design hi-fi obrigatório no gate
Design UI: docs/plans/dossies-sobrios-analiticos-ui-design.html
Appetite: ~4–5 dias eng; uma linguagem visual nova para dossiês e boletins, com a dimensão "o que defende" e consulta rápida
Responsável: —
## Intenção
O humano achou o layout dos dossiês exagerado: quadrados um do lado do outro, cartões, selos coloridos, seção de gráficos. Quer um documento sóbrio, fácil de ler, organizado em listas, com mais análise do conteúdo, para que o leitor encontre rápido a informação sobre Jorge Solla de que precisa. O pedido é repaginar o design dos dossiês **do zero** — e o **boletim modelo** entra junto (decisão do gate, 2026-09-22). Além disso, o dossiê deve analisar não só o que Solla **fez**, mas o que ele **fala e defende** para aquele recorte: derivado dos registros, com pesquisa extra de notícias datadas e trechos do acervo de falas sobre o que ele defende ali. Hoje o dossiê é um inventário visual; a prioridade inverte: primeiro a leitura (o que fez, o que defende, o que se destaca, o que falta), depois a evidência completa, sempre com fonte.
## Persona e fluxo
- **Persona / contexto:** assessoria, gabinete e comunicação, na mesa ou em viagem, consultando no celular ou no notebook antes de uma fala, de uma resposta pública ou de um texto.
- **Job principal:** em segundos, achar o que Jorge Solla fez **e o que defende** naquele recorte, com fonte e fase, e saber o que não foi encontrado.
- **Fluxo desejado:** abre o dossiê, lê "O essencial" e entende o recorte em uma página; desce por era com a mesma anatomia; consulta a tabela quando quer o item exato; lê o que ele defende e confere a fonte; fecha sabendo as lacunas.
- **Anti-goals de produto:** não virar peça de campanha nem material publicável; não virar dashboard, infográfico ou relatório de vaidade; não virar inventário sem leitura; não preencher análise com inferência; não atribuir a Solla uma defesa que não tem registro.
### Esboço de fluxo (C)
```text
[abre o dossiê] → [capa + índice] → [O essencial: leitura do recorte (fez + defende)]
→ [era A/B/C: leitura + tabela Objeto/Valor/Ano/Fase/Esfera/Fonte + o que defende com lastro]
→ [região · lacunas · notícias · acervo · fontes] → [achou o dado com fonte e fase] | [confirmou a lacuna]
```
### Design UI (C)
- Design UI (gate): `docs/plans/dossies-sobrios-analiticos-ui-design.html` — cenas do dossiê (três variantes) **e** do boletim modelo sóbrio, no mesmo artefato (decisão do gate: um hi-fi da família).
## Objetivo e aceite
- Um só desenho para as três variantes (cidade, instituição, tema): mesma linguagem visual e mesma anatomia de leitura, no dossiê **e no boletim modelo**.
- Listas e tabelas são a espinha — sem grade de quadrados lado a lado, cartões decorativos, selos coloridos (esfera e fase viram texto/coluna) ou a seção de "Gráficos consolidados".
- O dossiê abre pela análise: "O essencial" (o que Solla fez, o que defende, o que se destaca, o que falta) + leitura por era + leitura entre eras (concentração, instrumentos, continuidade/ruptura, lacunas que pesam), sempre leitura dos registros com fonte — nunca inferência nem fato novo.
- **Dimensão nova "o que Solla defende"**: posições, prioridades e compromissos para o recorte, derivados de itens com fonte + **pesquisa extra** de notícias datadas e **trechos do acervo de falas** (fala/trecho identificado); análise derivada, com a mesma régua de lastro — sem registro, é lacuna.
- **Boletim modelo** no mesmo redesenho: 1 página A4, linguagem de público eleitor, sóbrio e list-based, mantendo rótulo "Modelo — insumo interno", sem declaração de fontes e sem CTA; herda apenas fatos com fonte do dossiê e **ganha um bloco "O que Solla defende"** (1–2 defesas curtas com lastro, exibidas como os fatos do boletim — sem linha de fonte).
- Consulta rápida: índice e âncoras no PDF e no companion `.md`, anatomia constante por era, cabeçalho corrente com seção e folha; o `.md` espelha a estrutura.
- Nada some e os guardrails seguem intactos: sem fonte não publica; fase por valor (autorizado/empenhado/liquidado/pago/restos); esfera explícita e nunca somada; leitura relativa; atribuição de emenda só com autoria checada; PII mínima; artefato gitignored; defeso (insumo interno, sem CTA).
## Dados (intenção)
- **Vou apresentar dados?** Sim, superfície neste item — o dossiê é leitura de registros com fonte.
- **Decisões desbloqueadas:** a comunicação escolhe o que citar e priorizar na fala/texto; escolhe o que falta buscar (lacuna vira pauta de pesquisa); a coordenação vê a cobertura do recorte para decidir onde investir levantamento.
- **Forma:** _adiada ao plano de implementação_ — restrições aqui: leitura relativa/local (nunca % estadual absoluto); valor sempre com fase; esfera explícita por item, recortes nunca somados; números em tabelas e na prosa, sem gráficos decorativos; toda análise (fez e defende) rastreável a item/trecho com URL+data.
## Dados da decisão (literais)
- ID C209 · slug `dossies-sobrios-analiticos` · arquivo `docs/plans/dossies-sobrios-analiticos.md`.
- Donos da engine (o redesenho acontece neles, sem fork): `scripts/lib/dossieUnit.mjs`, `scripts/lib/dossieBlocks.mjs`, `scripts/lib/dossieRender.mjs`, `scripts/lib/dossiePack.mjs`, `scripts/lib/dossieCareer.mjs`; builders finos `scripts/build-dossie-solla-cidade.mjs`, `scripts/build-dossie-solla-instituicao.mjs`, `scripts/build-dossie-solla-tema.mjs`; PDF via `scripts/lib/buildPdf.mjs`.
- **Boletim agora em escopo:** `scripts/lib/dossieBulletin.mjs` e `scripts/lib/dossieBulletinRender.mjs`; os três hi-fi de boletim antigos (`docs/plans/dossie-solla-{cidade,instituicao,tema}-boletim-ui-design.html`) ficam no repo como registro e são superados pelo novo artefato.
- **Boletim × defende (literal):** o bloco "O que Solla defende" do boletim traz 1–2 defesas curtas derivadas de item/notícia/trecho com lastro; sem registro = bloco omitido (nunca inventa); sem linha de fonte visível e sem CTA (regras do boletim).
- Redação e skills: `.opencode/agent/dossie-solla-{cidade,instituicao,tema}-redacao.md`; seções "Conteúdo do dossiê" de `.agents/skills/dossie-solla-cidade/SKILL.md`, `.agents/skills/dossie-solla-instituicao/SKILL.md`, `.agents/skills/dossie-solla-tema/SKILL.md`.
- **Dimensão "o que defende" (literais de produto):** derivada de itens com fonte + notícias datadas + trechos do acervo de falas sobre o recorte; todo trecho de fala entra com identificação (título/data ou id do trecho); sem notícia datada/trecho identificado = lacuna explícita; nunca atribuir defesa sem registro; a análise é leitura dos registros, não opinião do pipeline.
- Design novo (gate; supersede os hi-fi de dossiê e boletim antigos, que ficam no repo como registro): `docs/plans/dossies-sobrios-analiticos-ui-design.html`.
- Âncoras/seções a preservar (renomear só o que o design exigir): capa, carta, trajetória, resumo, síntese, era A/B/C, região, lacunas, notícias, acervo, fontes; nas variantes, abrangência e títulos/honrarias; **nova**: "o que defende". "Gráficos consolidados" deixa de existir.
- Regras fixas do desenho: sem marca de campanha (documento institucional neutro); sem imagens nem placeholders de imagem; fase e esfera como texto/coluna, nunca selo colorido.
## Direção no codebase (hipótese)
- **Áreas prováveis:** os módulos `scripts/lib/dossie*.mjs` (conteúdo, render, paginação), os três builders, os três agentes de redação e as três SKILLs; precedentes de conteúdo em `docs/plans/dossie-solla-{cidade,instituicao,tema}-impl.md` e no dossiê real de Miguel Calmon. O relatório de cidade (C163) é precedente de documento sóbrio, sem copiar o dono.
- **"O que defende" reusa a pesquisa existente:** o checklist por era ganha itens de posições/defesas e o acervo já é extraído por recorte nos três pipelines — a análise deriva dos mesmos JSONs, sem segundo pipeline de pesquisa.
- **Risco de acoplamento:** o boletim lê só o ledger de fatos do dossiê e tem folhas próprias — agora redesenhado, mas sem herdar análise/fatos novos; os specs que fixam o layout atual (render, instituição, tema, pack, blocks, bulletin e skills de lote) precisam ser atualizados pelo impl; a guarda de fit A4 e a paginação ficam como estão.
## Dependências
- Nenhuma dura. **Soft com C210** (`briefing-capacitacao-solla`): o briefing consome o dossiê — inclusive a dimensão "o que defende" que nasce aqui; C210 não bloqueia este item.
- **Coordenação de arquivos com C210:** os dois itens tocam as três SKILLs de dossiê e os specs de lote — C209 reescreve as seções de conteúdo; C210 adiciona o ponteiro para a skill de briefing. Rebase esperado; sem bloqueio (a ordem de merge segue a prioridade: C210 é P1).
- Soft/registro: Issue #1139 (C189, bloqueada) — se o redesenho eliminar caps, o débito da C188 pode ficar moot; anotar, não bloquear.
## Fora de escopo
- **Briefing de capacitação (C210)** — entregável novo, item próprio; é o C210 que liga o briefing ao fluxo das skills de dossiê. Este item só garante que o dossiê tem os fatos e as defesas que ele consome.
- Relatório de cidade (C163); qualquer schema, migration ou escrita em banco; qualquer mudança de URL público.
- Campanha, publicação, peça publicável e kit de marca 1313.
## Rabbit holes de produto
- **"Só falta um gráfico".** Completar com charts devolve o que o humano rejeitou e puxa dependência nova. **Corte:** números em tabela e prosa; se algo só se entende visualmente, decide o design, não a engine.
- **"Já que sobrou espaço, busca mais dado / faz um hi-fi por variante".** Vira nova pesquisa e família rachada. **Corte:** lê os registros existentes (o "defende" usa notícia datada + acervo); um hi-fi da família com cenas por variante.
- **"Reescreve o paginador" e "aplica a marca da campanha".** Otimização de engine disfarçada de design e peça de campanha em defeso. **Corte:** mecanismo de medição/paginação atual; documento neutro.
- **"O que defende" vira opinião editorial.** Elogio/inferência de posição sem registro. **Corte:** defesa só com notícia datada ou trecho identificado; sem registro, lacuna.
## Questões em aberto (produto)
- **Onde mora "o que defende" no dossiê?** **Opções:** A) seção própria (leitura + lista de posições/trechos com fonte), destacada também no essencial | B) diluído dentro de cada era. **Recomendação:** A — é a nova leitura que o humano pediu e precisa de lugar próprio e indexável. _(assumido — validar no design)_
- *(decidido no gate, 2026-09-22: o boletim **ganha** "O que Solla defende" — 1–2 defesas curtas com lastro, sem linha de fonte.)*
- **Nome da seção?** **Opções:** A) "O que Solla defende" | B) "O que ele diz" | C) "Posições e defesas". **Recomendação:** A — direto e fiel ao pedido.
- *(decididos no gate 2026-09-22: um item design+análise; boletim incluído; gráficos fora; documento neutro sem marca; um hi-fi da família; índice + âncoras.)*
## Referências
- Dossiê real de exemplo: `docs/research/dossie-solla-cidade/miguel-calmon-2026-09-21-dossie.pdf` + companion `.md` (checkout principal); páginas atuais em `/tmp/opencode/dossie-mc/pg-*.png`.
- Planos da família: `docs/plans/dossie-solla-cidade.md`, `docs/plans/dossie-solla-cidade-impl.md` e os pares de instituição e tema.
- Acervo de falas: `src/collections/Speech.ts`, `src/lib/speechFacets.ts` (18 áreas), `src/utilities/speech/speechListFilters.ts`; extração read-only do recorte pelo extrator do C163.
- `AGENTS.md` (artefato gitignored, defeso); `.agents/skills/plan-issue/ui-design-html.md` (gate de design); GitHub Issue #1139; plano irmão `docs/plans/briefing-capacitacao-solla.md` (C210).
## Self-score (shaping, gate ≥4)
1. **Fatia = um outcome verificável?** Sim — a família de dossiês/boletins relida como documento sóbrio e analítico (fez + defende), com design novo no gate. — **5/5**
2. **Appetite declarado e a intenção cabe nele?** Sim — 4–5 dias para um motor/linguagem (não três), com cortes declarados (gráficos, C163, briefing em item próprio, busca nova). — **4/5** (o "defende" com lastro e o port do boletim são os trechos que mais consomem quota).
3. **Persona + job + aceite claros (sem jargão de stack)?** Sim — assessoria/comunicação, "achar em segundos o que fez e o que defende, com fonte e lacuna", aceite por seções e guardrails. — **5/5**
4. **Direção no codebase é hipótese (não contrato técnico)?** Sim — caminhos como pista; forma de render/paginação adiada ao impl. — **4/5** (a lista de donos e âncoras orienta o port sem prescrever solução).
5. **Zero decisões duras de engenharia no plano?** Sim — sem schema, sem nomes de função, sem stack de chart; os literais são valores de produto/arquivo. — **5/5**
**Total 23/25 (média 4,6/5) — passa o gate ≥4/5.**