Francisco Solla
83f30dfc82
fix(C171): player do acervo toca ou oferece a saída em um clique — nunca beco de signin ( Closes #1047 )
2026-09-15 22:27:28 -03:00
Francisco Solla
c010cf815b
feat(C170): acervo sem teto de corte — 5 s até o fim da fala ( Closes #1046 )
2026-09-15 22:17:01 -03:00
Francisco Solla
44e4502978
feat(C163): pauta das lideranças, acervo por região/tema e fonte inline no relatório de cidade
2026-09-15 22:12:19 -03:00
Francisco Solla
28c3b3a0fe
fix(B32-B34-F1): clamp nunca esconde todos os chips + key warning do head ( Closes #1042 )
2026-09-15 21:55:30 -03:00
Francisco Solla
2e389365a3
docs(plan): C169 + C170 + C171 + OPS112 — acervo (corte confiável, sem teto, player) e modelos do worktree (Related #1045 , #1046 , #1047 , #1048 )
2026-09-15 21:22:55 -03:00
Francisco Solla
ee9c9ca068
fix(B32-B34): fixture e2e não pode apagar lideranças vivas (or vazio = match-all) + pin do semantic ( Closes #1036 )
2026-09-15 19:06:36 -03:00
Francisco Solla
e72677bee7
fix(B32-B34): estabiliza e2e de lideranças — settle/poll, colapso por conteúdo e waiter diagnóstico ( Closes #1036 )
2026-09-15 19:06:36 -03:00
Francisco Solla
d46360d1dc
feat(C163): relatório — frente de oposição, dobradinhas, investimentos e seções dinâmicas
...
- Frente de oposição: lista de pesquisa 'opposition' (fato publicado com URL+data, sem inferir culpa) renderizada na seção 2, com nota de guardrail e URLs na seção de fontes.
- Dobradinhas: lista 'alliances' (com quem Solla soma na cidade) como bloco na seção de rede, insumo direto da abordagem.
- Investimentos: lista 'investments' (Solla, estado e federal, município e região; empenho ≠ pagamento) como bloco na conjuntura.
- Seções dinâmicas: numeração por posição; Sinais recentes e Demandas e visitas omitidas quando vazias (lacuna explícita só onde é produto).
Skill, changelog e testes unit cobrindo validador e builder.
2026-09-15 18:38:56 -03:00
Francisco Solla
afd5f137ac
fix(C163): alarga a coluna Título da seção 11 do relatório de cidade
...
A tabela "Notícias internas e imprensa local" não tinha larguras: o layout automático dava ~2.000px à coluna Link (URL crua, sem espaços) e estourava a página (tabela de 2.261px), espremendo o Título a 64px. Larguras explícitas (Data 9 · Veículo 14 · Título 49 · Link 28) tornam a tabela table-fixed, quebram a URL dentro da célula e dão ao Título — o texto mais longo — a maior fatia. Decisão persistida no script e na skill relatorio-cidade, com entrada em docs/changelog.
2026-09-15 18:09:41 -03:00
Francisco Solla
c2ee60dd6a
feat(OPS109): painel de issues e planos no terminal (via SSH)
2026-09-15 16:24:15 -03:00
Francisco Solla
9e00de36c9
fix(OPS111): setup-node 24 antes do pnpm/action-setup no auto-unblock ( Closes #1035 )
2026-09-15 16:02:29 -03:00
Francisco Solla
46f659147d
OPS108 — Modo autônomo por flag --auto nas skills plan-issue e work-issue
2026-09-15 16:01:47 -03:00
Francisco Solla
a164961344
docs(ops): ajusta wrapping do prettier
2026-09-15 15:46:01 -03:00
Francisco Solla
b9052f37bb
docs(ops): staging.jorgesolla1313.com.br vivo no túnel Cloudflare (ingress zero; runbook atualizado)
2026-09-15 15:46:01 -03:00
Francisco Solla
36d9abe8c0
docs(plans): OPS111 auto-unblock setup + B32/B34 lideranças verify (Related #1035 , Related #1036 )
2026-09-15 15:34:31 -03:00
Francisco Solla
13aeb9bb36
chore(OPS110-F1): flags desconhecidas falham alto, single-flight do start pinado e help/list completos ( Closes #1026 )
2026-09-15 14:36:54 -03:00
Francisco Solla
8dece9cd32
fix(C165-F1): fecha município nulo/fora da carteira no access de update da atividade ( Closes #1030 )
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-15 13:48:17 -03:00
Francisco Solla
77216481d8
feat(C168): biblioteca de cortes no acervo (origem, download, compartilhar, editar texto)
...
Lista + detalhe em /campanha/comunicacao/acervo/cortes: busca por título/descrição,\norigem da fala, player do MP4, edição de título/descrição e kill switch de\npublicar/despublicar no mesmo /corte/<id>. Gate speechCatalog fail-closed para\nadvisor/leader. Sem collection/migration nova.
2026-09-15 12:56:51 -03:00
Francisco Solla
897154b58b
feat(campaign): C165 — importa eventos do Google como atividades sem município ( Closes #1010 )
2026-09-15 11:54:21 -03:00
Francisco Solla
352801853f
feat(C167): corta o trecho [início,fim] do acervo e publica o arquivo numa página compartilhável
...
Seleção do C166 ganha "Cortar vídeo": título/descrição por IA (editáveis, com fallback determinístico), job assíncrono com ffmpeg por re-encode exato e polling dos quatro passos, e página pública unlisted /corte/<id> (noindex, OG, crédito CC BY) servindo o mesmo MP4. Collection speechCut com access canReadSpeechCut (advisor/leader negados) e kill switch por status; ffmpeg entra só no runner da imagem com FFMPEG_PATH para teste.
2026-09-15 10:24:36 -03:00
Francisco Solla
19c403f0dc
fix(C163): calibra link do vídeo do acervo ao t=608s da sessão
2026-09-15 10:24:27 -03:00
Francisco Solla
bbd147fffb
fix(C163): vídeo do acervo ancorado no trecho da Câmara, com folga
2026-09-15 10:24:27 -03:00
Francisco Solla
68efa6eef6
fix(C163): vídeo do acervo abre no início da fala (speechAt − sessão)
2026-09-15 10:24:27 -03:00
Francisco Solla
ebf484c984
feat(C163): link do vídeo do acervo na minutagem do trecho
2026-09-15 10:24:27 -03:00
Francisco Solla
e8f85f6a83
feat(C163): vídeo e transcrição no acervo de falas
2026-09-15 10:24:27 -03:00
Francisco Solla
0f0f9a6eab
feat(C163): unifica a visualização da demografia em uma tabela
2026-09-15 10:24:27 -03:00
Francisco Solla
7a17798cda
feat(C163): total populacional e revisão de apresentação do relatório
2026-09-15 10:24:27 -03:00
Francisco Solla
18069dd074
feat(C163): demografia complementar, atividade econômica e transporte no relatório
2026-09-15 10:24:27 -03:00
Francisco Solla
5b801c4b52
feat(C163): colunas mais largas no acervo de falas
2026-09-15 10:24:27 -03:00
Francisco Solla
05d4ac42d5
feat(C163): partido na lista de lideranças da cidade
2026-09-15 10:24:27 -03:00
Francisco Solla
63b60ca7a6
feat(C163): concorrentes, falas descritivas, indícios de emenda, abordagem e links clicáveis no relatório (Related #1025 )
2026-09-15 10:24:27 -03:00
Francisco Solla
85de335cc3
fix(C163): emendas por localidade, fontes compactas na página 1 e datas pt-BR (Related #1025 )
2026-09-15 10:24:27 -03:00
Francisco Solla
ab9c164615
feat(OPS110): sessões persistentes de agente com attach/detach ( Closes #1019 )
2026-09-15 09:31:45 -03:00
Francisco Solla
93416cd5ef
feat(C166): seleciona trecho do acervo e compartilha link no ponto + WhatsApp ( #1013 )
2026-09-15 07:51:44 -03:00
Francisco Solla
0c0725835b
feat(B202): totais do recorte no rodapé da lista de municípios ( Closes #1005 )
2026-09-15 07:37:45 -03:00
Francisco Solla
e579406b1f
feat(C163): relatório de cidade pré-viagem (agente + skill → PDF A4) ( Closes #1007 )
2026-09-15 07:10:45 -03:00
Francisco Solla
f41ef92473
docs(plan): OPS108 + OPS109 + OPS110 — modo --auto nas skills, painel TUI de issues e sessões de agente persistentes (Related #1018 , #1020 , #1019 )
2026-09-15 07:08:31 -03:00
Francisco Solla
5097e8cb90
docs(plan): C166 + C167 + C168 — compartilhar trechos do acervo (link, corte e biblioteca) (Related #1013 , #1014 , #1015 )
2026-09-15 06:53:22 -03:00
Francisco Solla
fc6846ebea
fix(C164): registra canal de push normalizando expiration string na borda
...
O events.watch serializa o expiration (int64 epoch ms) como string JSON;
o client tipava number|null e o motor lancava RangeError: Invalid time
value no new Date(...).toISOString(), gravando pushChannelError sem
persistir o canal.
- parseGoogleWatchExpiration (borda do client) normaliza string|number
para number|null com teto do range do Date; malformado cai no fallback
de PUSH_CHANNEL_TTL_SECONDS, nunca lanca.
- pushChannelError ganha a causa do fetch (error.cause) preservada no
teto de 500 chars.
- Unit: stub de transporte modela /watch (string real) + matriz do
parser; int: caminho number->ISO, fallback null->now+TTL e causa.
Closes #1009
2026-09-15 06:52:50 -03:00
Francisco Solla
45617356ee
docs(plan): C164 + C165 — canal de push do Google Calendar e importação automática de eventos (Related #1009 , #1010 )
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-14 15:17:07 -03:00
Francisco Solla
ba7aa50346
style(plan): C163 — formata rascunho A4 (Related #1007 )
2026-09-14 14:44:00 -03:00
Francisco Solla
455498c07a
docs(plan): C163 — relatório de cidade pré-viagem (Related #1007 )
2026-09-14 14:44:00 -03:00
Francisco Solla
7ba31bbc03
docs(plan): B202 — aplica prettier aos artefatos do plano (Related #1005 )
2026-09-14 14:39:32 -03:00
Francisco Solla
e8536e646e
docs(plan): B202 — totais do recorte na lista de municípios (votos 2022 + expectativas 2026) (Related #1005 )
2026-09-14 14:39:32 -03:00
Francisco Solla
119b8980fb
fix(OPS107): aprovação de produção não ocupa a lane do staging ( Closes #1002 )
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-14 08:18:21 -03:00
Francisco Solla
8fe3331687
docs(plan): OPS107 — aprovação de produção escolhida (Related #1002 )
2026-09-14 07:28:28 -03:00
Francisco Solla
d6f86a693c
style(C162): formata gatilhos no impl plan
2026-09-14 07:09:58 -03:00
Francisco Solla
d69e5cd90a
docs(C162): registra gatilhos de revisitação do simplify no impl plan
2026-09-14 07:09:58 -03:00
Francisco Solla
6854ede261
refactor(C162): dono único da elegibilidade VOD, start inicial do YouTube e mídia em early-returns (simplify)
2026-09-14 07:09:58 -03:00
Francisco Solla
fbe67f0358
feat(C162): player do acervo resolve o trecho sob demanda e YouTube vira default ( Closes #999 )
2026-09-14 07:09:58 -03:00