Commit graph

1336 commits

Author SHA1 Message Date
Francisco Solla
6480768926 feat(S30): card Time do estadual — 5º modelo com as 53 dobradinhas (Closes #1271) 2026-09-23 10:06:17 -03:00
Francisco Solla
4cfe8ee3ee docs(C211-FOLLOWUP-OEMBED): formata o impl plan (prettier)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-23 03:52:15 -03:00
Francisco Solla
c5d25035a6 docs(C211-FOLLOWUP-OEMBED): link de terceiro — oEmbed só renderiza; nada de terceiro é persistido (Closes #1263) 2026-09-23 03:52:15 -03:00
Francisco Solla
c832e51ed3 docs(S30,S31,S32): planos + designs hi-fi — cards com o estadual, colinha e analytics (Related #1271, #1272, #1273) 2026-09-23 03:38:53 -03:00
Francisco Solla
cb61cf1152 feat(C211): Central de Conteúdos interna — envio em lote, link, catalogação e publicação
Envio em lote (1 request raw-body por arquivo, fan-out ≤2, até 50 arquivos) e
adicionar por link (Instagram/YouTube; extração só pela Graph API da conta
própria, senão peça-link) em /campanha/comunicacao/conteudos. Cada peça tem
estado próprio (Processando/Pronto/Falhou + Reprocessar), transcrição/texto e
catalogação automática revisável; publicar/despublicar preserva arquivo, slug
e publishedAt.

- collections contentPiece + contentMedia (upload privado no S3) e migration
  20260923_032714_add_content_piece (slug único gerado no 1º publish,
  sourceUrl única, searchText com índice trigram)
- pipeline reusa C199 (job after() + reaper + retry condicional, transcrição
  DeepInfra, ffmpeg/chunk), o classificador de facetas do acervo e o
  institutionCatalog; curatedFields impede o job de sobrescrever curadoria
- gate único canReadCommunicationCatalog (advisor/leader negados); delete
  só pelo admin; sem Consent novo
- UI portada do design aprovado (lista desktop + cards mobile, diálogo de
  lote com progresso por arquivo, diálogo de link, ficha editável, kill
  switch); nav/chrome/column-picker/manifest atualizados
- instagramFeed expõe mediaUrl; revalidateTag ganha wrapper seguro fora de
  request (fixtures/scripts)
- testes: 2 unit specs, 1 int spec (16 casos) e 7 e2e na vertical
- follow-up de engenharia: #1267 (docs/plans/escala-dry-pos-c211.md)

Closes #1254
2026-09-23 02:25:15 -03:00
Francisco Solla
9aea5d5ebc docs(S29): plano + design hi-fi — link com destino trocável e página de anúncio (Related #1268) 2026-09-23 01:43:49 -03:00
Francisco Solla
ba3584bb20 docs(C209): prettier no plano e no changelog (Related #1251)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-22 22:17:27 -03:00
Francisco Solla
3a1878691b feat(C209): dossiês e boletins Solla sóbrios e analíticos — O essencial, defesa e consulta rápida (Closes #1251) 2026-09-22 22:17:27 -03:00
Francisco Solla
f63e5cb9b4 feat(C210): briefing de capacitação — até 4 páginas por recorte (3º entregável dos dossiês) (Closes #1252) 2026-09-22 21:30:50 -03:00
Francisco Solla
6e1406c812 docs(C212): achados da varredura do Instagram — API oficial viável; scraping fora (#1256) 2026-09-22 21:16:44 -03:00
Francisco Solla
6baec42d26 feat(jingles): carousel mobile e cards menores
- Modificado JingleCards.tsx para layout de carrossel horizontal no mobile e grid de 3 colunas no desktop.
- Reduzido tamanho dos cards no mobile.
- Removido textos explicativos no mobile.
- Ajustado espaçamento mobile.
- Adicionado scrollbar-hide para esconder barra de rolagem visual.
- Adicionado changelog e plano de implementação.
2026-09-22 21:06:38 -03:00
Francisco Solla
6d721ec709 style: format impl plan 2026-09-22 20:36:10 -03:00
Francisco Solla
bff12f7c67 fix(radio): remove gray background from logo in player
- Remove bg-(--campaign-band) from logo container in RadioPlayer.tsx
- Logo now appears circular without gray square behind it
- Layout remains intact on mobile (390px) and desktop (1280px)

Closes #1247
2026-09-22 20:36:10 -03:00
Francisco Solla
c6b97de164 docs(C211,S27,C212,S28,C213): planos + designs hi-fi — Central de Conteúdos (Peça voto pra Solla 1313) 2026-09-22 20:24:43 -03:00
Francisco Solla
4123cd4b78 docs(C209,C210): prettier nos planos (Related #1251, #1252) 2026-09-22 20:07:33 -03:00
Francisco Solla
a56fb22606 docs(C209,C210): planos + designs hi-fi (dossiês sóbrios; briefing de capacitação) (Related #1251, #1252) 2026-09-22 20:07:33 -03:00
Francisco Solla
412466af03 Add plan and design for jingles mobile carousel 2026-09-22 19:50:01 -03:00
Francisco Solla
fc07f610b8 Add plan and design for radio logo background removal 2026-09-22 19:47:52 -03:00
Francisco Solla
7db19066ff Add plan and design for radio logo background removal 2026-09-22 19:47:52 -03:00
Francisco Solla
65bc0da0f7 feat(S25): logo oficial da rádio no player — NEEDS ASSET do gate fechado (Related #1243)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-21 13:39:42 -03:00
Francisco Solla
bb550cebff feat(S25): player próprio da Rádio 1313 na home — exclusividade, share e fail-soft (Closes #1239) 2026-09-21 13:39:42 -03:00
Francisco Solla
77edfc191f feat(C208): artes da Rádio Jorge Solla 1313 — logo, capa e website card (Closes #1243)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-21 12:53:29 -03:00
Francisco Solla
8a5e271f6d feat(S26): título completo e crédito do artista no card do jingle (Closes #1240) 2026-09-21 12:50:17 -03:00
Francisco Solla
162dc8d017 docs(S25,S26): planos + designs — player próprio da Rádio 1313 e crédito do artista (Related #1239 #1240) 2026-09-21 12:01:07 -03:00
Francisco Solla
5aefb2f3ba feat(S24): rádio na home — embed direto do zeno.fm, sem facade (Closes #1235)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-20 22:36:25 -03:00
Francisco Solla
908a31eea4 feat(S23): card Time de você no celular — drawer até o topo e nada sobre a imagem (Closes #1234) 2026-09-20 21:54:41 -03:00
Francisco Solla
9d2be30ef2 style(S23,S24): formata designs hi-fi com prettier (Related #1234 #1235) 2026-09-20 20:35:36 -03:00
Francisco Solla
a27729c6e4 docs(S23,S24): planos + designs hi-fi — drawer mobile do card e rádio embed direto (Related #1234 #1235) 2026-09-20 20:35:36 -03:00
Francisco Solla
d86b3aa0a1 feat(S22): jingles e rádio na home — a seção de som (Closes #1228)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-20 18:29:47 -03:00
Francisco Solla
33a8f53e20 OPS71: tornar worktree fix (sem argumento) driverless 2026-09-20 17:35:51 -03:00
Francisco Solla
43fbb16d8a docs(S22): plano + design hi-fi — jingles e rádio na home (Related #1228) 2026-09-20 16:39:37 -03:00
Francisco Solla
e17aee0b3b Related #1226 2026-09-20 16:33:39 -03:00
Francisco Solla
c7eeb5dbd8 feat(S21): jingles de Jorge Solla no site público — ouvir e baixar (Closes #1222)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-20 01:48:20 -03:00
Francisco Solla
8e431bd876 feat(reels): navegação visível, trilho de comando e cena profile na skill de reels
- captura: swipe de toque real, scrollIntoView suave visível, upload de foto
  (fixture.photo) e cursor centralizado na origem
- shot list: bloco graphics (hook/cta/profile/cover) como fonte da mensagem,
  badge de rótulo e distance do swipe validados
- superfície: port do design revisado (trilho de comando + cap, hook com
  pattern/coração, CTA com punho, capa) e cena nova profile (avatar IG/WA)
- reel foto-de-perfil draft (8 cenas, 30,2s) + fixture sintética sem PII
- testes unit do schema e changelog da evolução
2026-09-20 00:11:27 -03:00
Francisco Solla
8bb3523408 docs(S21): plano + design hi-fi — jingles no site público (Related #1222) 2026-09-19 23:17:26 -03:00
Francisco Solla
c5ec692929 style(S20): formata impl plan com prettier (Related #1216)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-19 16:32:33 -03:00
Francisco Solla
e652f0ae45 feat(S20): ajuste lateral da foto do card time sem limite artificial (Closes #1216) 2026-09-19 16:32:33 -03:00
Francisco Solla
ca59523759 feat(C207): projeção no último período do trio do gerador de gráficos (gate 2026-09-19) 2026-09-19 16:00:59 -03:00
Francisco Solla
5be9a1af4d style(S20): formata plano e design com prettier (Related #1216) 2026-09-19 15:34:12 -03:00
Francisco Solla
b4db67da87 docs(S20): plano de intenção — ajuste lateral da foto sem limite artificial (Related #1216) 2026-09-19 15:34:12 -03:00
Francisco Solla
468f33e5b2 feat(S19): links de compartilhamento com miniatura OG (Closes #1207) 2026-09-19 14:02:17 -03:00
Francisco Solla
cde96b26d0 feat(S18): cabeça do visitante proporcional à dos candidatos no card Time de você
- FaceDetector (blaze_face_full_range, Apache-2.0, lazy/on-device) mede o maior rosto no canvas do recorte; math pura frameCardPhotoOnFace escala a face à referência TEAM_CARD_FACE_REFERENCE_SIZE=103 (mediana das 5 caixas da arte-mestre).
- Piso do time CARD_TEAM_PHOTO_MIN_ZOOM=0.2 com clamp contain/cover por eixo (minZoom opcional preserva os 3 modelos S13/S14); fallback silencioso ao enquadramento S15 sem rosto/falha.
- Stub e2e estendido ('noface'); unit novo da math e da seleção do rosto; craft com retrato real 86-98px vs 103 (±20%); crítica Tier 1 certificada.

Closes #1197
2026-09-19 13:42:22 -03:00
Francisco Solla
ca19b2c86f feat(C205): linha de três séries e marca maior no rodapé do gerador de gráficos (Closes #1212) 2026-09-19 13:35:01 -03:00
Francisco Solla
dbd9ecdfd4 feat(S16): banner azul dinâmico no card "Time de você" — nomes longos cabendo (Closes #1195) 2026-09-19 13:05:52 -03:00
Francisco Solla
88d6ff3f1c fix(C191): cena 02A na paleta oficial do C203 — duas colunas no mesmo #e4102f
Re-decisão do designer sob a paleta do kit 1313: as duas categorias positivas compartilham o vermelho oficial (sem segundo vermelho, sem hierarquia); ordem de entrada, nunca o maior valor. Rebase em cima do C203 e peça re-renderizada na marca oficial.
2026-09-19 12:57:40 -03:00
Francisco Solla
384cfe98e8 feat(C191): coluna de comparação entre categorias e variante duas colunas positivas — unidade %, kicker pela relação
Skill, núcleo (chartData), renderer (columnBody/CSS), design CENA 02A com sign-off humano e testes.
Entrega: docs/research/graficos-instagram/a-maioria-dos-internados-nos-dois-hospitais-de-v-2026-09-19-feed.png (worktree work/21, sem claim).
2026-09-19 12:57:40 -03:00
Francisco Solla
0d6518c3d1 feat(C200): separar falas por pessoa nas gravações enviadas (Closes #1167) 2026-09-19 12:32:46 -03:00
Francisco Solla
0dae7d4ac1 refactor(C203): seletor de chave no dono do kit, guard estrito e nomes (simplify)
- readKitAssets({ keys }) lê só o ativo pedido; o entry pede namePositive (não falha por ativo alheio)
- guard do brandLogo com regex estrita de data URI PNG/base64 (vazio/aspas fora)
- helper brandMark (sem colisão com a opção brandLogo); JSDoc @param/@returns no dono
- entry-spec: teste dedicado do ativo com repoRoot tmp; stub base64 válido; helper tipado
- triage pós-simplify no impl plan (S9 defer com gatilho; S10 explicitamente fora)
2026-09-19 11:24:06 -03:00
Francisco Solla
258fd22379 feat(C203): gráficos do Instagram na marca e paleta oficiais do kit 1313
- rodapé com jorge-solla-positivo.png (data URI, frame 286×90) no lugar do lockup tipográfico; renderer fail-closed sem a marca
- paleta oficial: destaque/valência boa #e4102f, sinal de marca #184e92; amarelo/verde só nos ativos
- dono único da leitura do kit (scripts/lib/campaignKitAssets.mjs; root por import.meta.url) reusado pelo reel
- lineChart default alinhado ao vermelho oficial; CHART_COLORS/dossiê intactos
- skill/command e pinos de prosa/teste atualizados; SCRIPTS_SPEC_PINNED + impl plan + changelog
2026-09-19 11:24:06 -03:00
Francisco Solla
1bb32ad1a9 docs(S19): plano de intenção — links de compartilhamento com miniatura OG (Related #1207) 2026-09-19 11:22:56 -03:00
Francisco Solla
d7d4258cd7 feat(S17): controle "Harmonizar cores" no ready do card Time de você
Ajuste local de brilho/contraste/saturação (clamps fixos ≤12%, alpha byte-a-byte) para aproximar a selfie do tom da arte-mestre; variante gerada 1× no ready do useCardCutout e escolhida pelo toggle no mesmo canvas da prévia e do PNG. Sem migration/Consent/rede/persistência; os 3 modelos e o recorte intocados. Crítica do designer certificada no tier primário (artefato revalidado sem DEGRADED).
2026-09-19 10:55:18 -03:00
Francisco Solla
4ac68de29c feat(C191): barra de variação (delta) no gráfico de Instagram — base e extensão por categoria, sem valência
Skill, núcleo (chartData), renderer (deltaBody/CSS), design CENA 02C com sign-off humano e testes.
Entrega: docs/research/graficos-instagram/equipes-saude-vdc-2020-2026-feed.png (worktree work/20, sem claim).
2026-09-19 01:23:23 -03:00
Francisco Solla
9ad4658ffd docs(C204): kit 1313 como fonte de marca única — doutrina, ponteiros e 14 ativos (Closes #1193) 2026-09-19 01:21:40 -03:00
Francisco Solla
8480868059 chore(S16,S17,S18): formata artefatos ui-design (prettier) para o gate 2026-09-19 01:07:14 -03:00
Francisco Solla
eadaf6f64f docs(S16,S17,S18): planos de intenção — ajustes pós-UAT do card Time de você (Related #1195, #1196, #1197) 2026-09-19 01:07:14 -03:00
Francisco Solla
ebee7c0a7a docs(C203,C204): planos de intenção — kit 1313 na marca oficial (Related #1192, #1193) 2026-09-19 00:48:29 -03:00
Francisco Solla
31ebb932af feat(C197): narração rascunho (TTS pt-BR) + transcrição sempre no pacote do reel (Closes #1156) 2026-09-19 00:33:37 -03:00
Francisco Solla
c0760f4234 docs(OPS128): remove verificação pós-deploy em staging do fechamento do work-issue (Closes #1188) 2026-09-19 00:29:23 -03:00
Francisco Solla
78598906de docs(OPS128): plano de intenção — remover verificação pós-deploy em staging do work-issue (Related #1188) 2026-09-18 23:45:29 -03:00
Francisco Solla
d0f606a55d feat(C199): gravações enviadas no acervo de comunicação (Closes #1166) 2026-09-18 23:42:30 -03:00
Francisco Solla
5b27bfa0c2
Merge pull request #1183 from fsolla/C196-skill-de-geracao-de-reels-captura-composicao-do-video
C196 — skill /reels-tutoriais: captura + composição do vídeo (kit oficial 1313)
2026-09-18 23:40:06 -03:00
Francisco Solla
8bf79ff4cc feat(C191): linha de duas séries no gráfico de Instagram — valência bom/ruim, projeção e cruzamento
Skill, núcleo (chartData), desenho (dualLineChart/renderer), design CENA 02B certificado e testes.
2026-09-18 23:12:05 -03:00
Francisco Solla
83092adabf chore(C196): merge origin/main (resolve SCRIPTS_SPEC_PINNED com reel-ingest do C195) 2026-09-18 22:55:52 -03:00
Francisco Solla
a8a5ed324f
C195 — Ingestão do pacote do reel na biblioteca privada (#1182)
C195 — Ingestão do pacote do reel na biblioteca privada
2026-09-18 22:30:57 -03:00
Francisco Solla
8041f64b0b chore(C196): merge origin/main (resolve lista de commands) 2026-09-18 22:24:21 -03:00
Francisco Solla
560f2e494a feat(S15): card "Time de você" — quarto modelo auto-serviço no funil público (Closes #1161) 2026-09-18 22:17:52 -03:00
Francisco Solla
7079c63949 Merge remote-tracking branch 'origin/main' into C195-ingestao-do-pacote-do-reel-na-biblioteca-privada
# Conflicts:
#	src/lib/reel.ts
2026-09-18 22:01:32 -03:00
Francisco Solla
448f3845a2 feat(C194): biblioteca de reels na vertical Comunicação (#1153)
Lista publicados-only com capas 9:16, detalhe com player 9:16 e painel de
downloads (vídeo sem áudio primário; com áudio, mp3 e .srt quando existem;
transcrição em texto) e kill switch reversível: despublicar tira da lista e
bloqueia a mídia (C193 decision B), republicar reativa e re-carimba publishedAt.

Fiação: gate communicationCatalog (rename do speechCatalog), 3º sub-item da
vertical no nav, rule da lista no chrome, paths e loader próprios; sem
migration, sem Consent, sem tocar Media.read ou a rota de mídia do C193.

Design tier: DEGRADED — crítica final do designer indisponível no tier
primário (limite de uso); requer sign-off humano antes de push/PR.
2026-09-18 21:54:37 -03:00
Francisco Solla
8504b3b13a feat(C196): skill /reels-tutoriais — captura mobile + composição de vídeo
- skill + command finos: shot list é a fonte única; ajuste regenera, nada publica
- scripts/build-reel.mjs + scripts/lib/reel*.mjs: captura CDP com timestamps de
  parede (sem drift), cursor/halo DOM-injected, zoompan do log de cliques,
  legendas queimadas, capa 1080x1350-safe, concat H.264 1080x1920/30fps
- ffmpeg: FFMPEG_PATH -> PATH -> @ffmpeg-installer (registry-only) com probe fail-closed
- kit oficial da campanha: public/campaign-kit (marcas positiva/negativa, numero,
  estrela) + manual em docs/campaign-kit + README de regras; skill e agente de
  design referenciam o material
- 26 testes unit novos + pin do command; changelog 2026-09-18-c196

Closes #1155
2026-09-18 21:50:28 -03:00
Francisco Solla
5afa16c33b feat(C195): ingestão do pacote do reel na biblioteca privada (Closes #1154) 2026-09-18 21:47:48 -03:00
Francisco Solla
11a38d9c04 docs(C201): impl plan da verificação do typecheck da main (Related #1169) 2026-09-18 21:39:08 -03:00
Francisco Solla
ddfd8b31f3 feat(C191-runtime): cobertura do entry/PNG real e parse pt-BR explícito (Closes #1151) 2026-09-18 19:08:22 -03:00
Francisco Solla
bdaf3c7cbb feat(C193): reel privado no CMS — modelo, upload privado e kill switch (Closes #1152) 2026-09-18 17:48:34 -03:00
Francisco Solla
45eef25b1a feat(C192): busca semântica no acervo de falas (Closes #1147)
Modo "Por tema" no acervo de falas: expansão determinística do tema via
DeepSeek (generateObject, timeout, fallback null) alimenta o motor lexical
existente (searchText/keywords OR), mantendo facetas AND, paginação por fala,
o OR de cortes do C174 e o access control intacto. Resultado de tema mostra
selo e "Por que apareceu" com trecho real (frase contínua), sem score;
degradação honesta para termo exato com aviso e vazio honesto com saídas.

- URL: mode=tema (default omitido; canonicaliza sem q), seletor otimista
- ai/expandSpeechSearchTheme + lib/speechThemeTerms (sanitiza saída do modelo)
- view model com themeMatchTerm + espelho speechMatchesSearchTerm
- UI do card de tema (selos, proveniência, ações) e aviso degradado
- sem migration/Consent/exposição pública; gate de leitura inalterado
- testes unit/int/e2e; design hi-fi estendido e certificado pelo designer
2026-09-18 17:48:28 -03:00
Francisco Solla
af6fa698db docs(C199,C200): planos + designs hi-fi — gravações enviadas no acervo (Related #1166, #1167) 2026-09-18 17:46:24 -03:00
Francisco Solla
e91dea637f feat(C191): gráficos de dados para Instagram — skill + builder local (Closes #1145) 2026-09-18 17:32:48 -03:00
Francisco Solla
b5666d6647 docs(S15): plano + design hi-fi do card "Time de você" (Related #1161) 2026-09-18 17:31:35 -03:00
Francisco Solla
e5e1ae7ee8 feat(C190): dossiê Solla por tema/área + boletim modelo (skill + builder)
Terceira variante da família de dossiês: recorte pela área canônica do
acervo (SPEECH_TOPICS), com o pipeline C186/C187 generalizado para a forma
subject via THEME_UNIT (generalização aditiva; C186/C187 byte-idênticos).

- resolveSpeechTopic no dono speechFacets (fail-closed, sem slug inventado)
- themeSnapshot + extract-theme-snapshot (THEME_REPORT_CONFIRM=1, read-only)
- build-dossie-solla-tema (pack medido, PDF A4 + .md + boletim 1 página)
- skill/comando/2 subagentes (researcher por era + redator) + specs
- cenas theme-only no descritor (acervo universo/amostra, abrangência,
  lacunas, hierarquia de fontes, pills do boletim) certificadas pelo designer

Closes #1143
2026-09-18 17:02:56 -03:00
Francisco Solla
fd68014edc feat(OPS127): launch do worktree nasce na variante max (Closes #1149) 2026-09-18 16:55:08 -03:00
Francisco Solla
161c49a260 docs(C193,C194,C195,C196,C197): planos + designs hi-fi — reels de tutoriais do site (skill + biblioteca privada)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
Related #1152,#1153,#1154,#1155,#1156
2026-09-18 16:45:28 -03:00
Francisco Solla
5f8233c7e9 docs(plan): OPS127 — launch do worktree --go em variante max (Related #1149) 2026-09-18 16:20:59 -03:00
Francisco Solla
f55996328c docs(C192): plano + design hi-fi da busca semântica no acervo (Related #1147) 2026-09-18 16:10:40 -03:00
Francisco Solla
444c5830e2 style(C191): formata o design hi-fi conforme Prettier 2026-09-18 15:52:39 -03:00
Francisco Solla
fcfbc68604 docs(C191): plano + design hi-fi da skill de gráficos de dados para Instagram (Related #1145) 2026-09-18 15:52:39 -03:00
Francisco Solla
a014894341 docs(C190): plano + designs hi-fi do dossiê Solla por tema/área (Related #1143) 2026-09-18 09:50:44 -03:00
Francisco Solla
5644a9f947 feat(C186/C187): dossiê corrente sem caps + redação, síntese e gráficos (paridade cidade × instituição)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
Revisão de produto a partir do uso real (UFBA): as seções deixam de ser
capadas e fluem por quantas folhas precisarem, com packing medido
(probe → grow/shrink por folha, scripts/lib/dossiePack.mjs) e guarda de A4
no emit; o dossiê ganha redação de abertura (narrative.json escrito por
sub-agente e auditado pelo orquestrador), parágrafo de consolidação por
era, páginas de síntese e gráficos (recursos com fase, abrangência,
trajetória) e acervo como amostra declarada. O dono (dossieBlocks/
dossieRender/dossieUnit/buildPdf) foi generalizado e o ramo cidade adotou
as mesmas decisões; skills, comandos, agentes redatores, specs e designs
hi-fi re-sincronizados.
2026-09-17 23:00:08 -03:00
Francisco Solla
4b00a8778a feat(C188): relatórios e dossiês sem truncamento mecânico
Dono único de orçamento de texto em reportText.mjs (capList,
excerptDeepDive, joinWithRemainder, summaryText/summarySurfaceText,
summaryListText), reusado por C163 e C186. Contrato summary por item nos
dois arquivos de pesquisa; superfície de resumo nunca corta com "…" e
aponta o aprofundamento; toda lista capada mostra contador; builders com
2 passadas guard-gated (integral → ponteiro → die fail-closed).

Closes #1136
2026-09-17 19:59:02 -03:00
Francisco Solla
cb5854d17e feat(C187): dossiê Solla por instituição + boletim modelo (skill + builder) (Closes #1135)
Generaliza aditivamente o pipeline C186 (default município; specs verdes) via o
descritor scripts/lib/dossieUnit.mjs (municipality|institution), extrai o emit
A4/fit-guard para scripts/lib/buildPdf.mjs e a receita read-only para
scripts/lib/readOnlyExtract.mjs.

- Catálogo fail-closed src/lib/institutionCatalog.ts + institutionNameAliases.ts
  (seed UFBA/Correios/Enfermagem; escape one-off --slug/--name; dedup).
- Skill/command/subagente /dossie-solla-instituicao; eras A/B/C reusadas.
- Abrangência instituição × setor × rede nunca somada; era sem fonte vira página
  de lacuna explícita; lista capada declara "e mais N" (regra C188 no dono).
- Boletim modelo 1×A4 com fase junto ao valor, sem fontes, sem CTA; herda apenas
  fatos com fonte do dossiê (incl. falas do acervo read-only).
- Sem schema/migration/DB write; artefatos gitignored.
2026-09-17 19:25:13 -03:00
Francisco Solla
ef87c68a18 style(C187): prettier nos artefatos de plano (gate format) 2026-09-17 17:48:35 -03:00
Francisco Solla
30124db224 docs(C187,C188): planos + designs hi-fi (dossiê instituição; sem truncamento) 2026-09-17 17:48:35 -03:00
Francisco Solla
4364ca203a docs(C186): registra a triage dos débitos de review no impl (Related #1132) 2026-09-17 16:41:32 -03:00
Francisco Solla
264fbb8864 feat(C186): dossiê Solla por cidade + boletim modelo — skill + builder (Closes #1132) 2026-09-17 16:41:32 -03:00
Francisco Solla
b9de38212c docs(C186): plano + designs hi-fi do dossiê Solla por cidade (Related #1132)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-17 15:16:00 -03:00
Francisco Solla
10b58afe4c chore(OPS125): conta de teste dos agentes no staging (Closes #1126)
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
2026-09-17 02:08:57 -03:00
Francisco Solla
f70c5e2d0b refactor(C179): helper único da URL do thumbnail do YouTube (Closes #1093) 2026-09-17 01:30:43 -03:00
Francisco Solla
bdd2b0dbf0 docs(OPS125): plano de conta de teste dos agentes em staging (Related #1126) 2026-09-17 01:29:09 -03:00
Francisco Solla
f8b0d5ecac feat(C173): pré-visualizar no player o trecho selecionado (Closes #1083) 2026-09-16 22:22:29 -03:00
Francisco Solla
45738b16f0 docs(C173): impl plan aprovado + extensão do artefato (trigger a) 2026-09-16 22:22:29 -03:00
Francisco Solla
b1beb07f2a fix(C182): acervo mostra o frame do meio de cada fala, não a capa da sessão (Closes #1104) 2026-09-16 21:42:36 -03:00
Francisco Solla
a84c0183b1 B203 — Sollinha começa fechado no desktop (Closes #1107) 2026-09-16 21:08:25 -03:00