..
2026-08-13-ops44.md
OPS44: changelog por entrega + guards de docs + merge por rebase
2026-08-13 17:55:22 +00:00
2026-08-15-img-resize.md
feat(site): publica home da campanha Jorge Solla 1313
2026-08-16 00:49:24 -03:00
2026-08-16-campaign-home-responsive.md
feat(site): hero da campanha responsivo aos boards do Penpot
2026-08-16 20:33:00 -03:00
2026-08-16-ops50.md
OPS50: ajusta changelog ao formato prettier
2026-08-16 23:34:28 -03:00
2026-08-17-ops51.md
ops(OPS51): migra o banco de produção do Neon para o Postgres do homeserver (teqo_1313)
2026-08-17 22:41:18 +00:00
2026-08-17-ops53.md
ops(OPS53): etapa de deploy no CI para o homeserver (teqo-1313)
2026-08-18 00:50:41 +00:00
2026-08-17-pub5.md
feat(PUB5): slogan 'Mais saúde mais futuro' no hero e rodapé
2026-08-18 01:31:28 +00:00
2026-08-18-ops52-media-guard.md
ops(OPS52-media-guard): reconcile do media:recover exige MEDIA_RECOVER_CONFIRM=1 (guard de intenção explícita)
2026-08-18 12:45:32 -03:00
2026-08-18-ops52-media.md
feat(OPS52-media): recupera os objetos de media de produção do WordPress para o bucket (pnpm media:recover)
2026-08-18 08:20:45 -03:00
2026-08-18-ops52.md
ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3
2026-08-17 22:36:34 -03:00
2026-08-18-ops54.md
ops(OPS54): allowlist onlyBuiltDependencies migra para pnpm-workspace.yaml — fim do warning do pnpm 10 sobre o campo pnpm ignorado
2026-08-18 09:06:37 -03:00
2026-08-18-ops56.md
fix(ops OPS56): forgejo-pr-automerge — veredito de merge por re-read do PR (falso positivo 'já mergeado' com PR aberto)
2026-08-18 14:28:54 +00:00
2026-08-18-ops57.md
fix(ops OPS57): simplify — veto de draft vale em conversão mid-run; CLI valida base main; docs sem mecanismo fantasma
2026-08-18 15:24:21 +00:00
2026-08-18-ops58.md
ops(OPS58): seed de posts com dry-run e taxonomy atualizada — sync de prod com runbook
2026-08-18 12:15:05 -03:00
2026-08-18-ops59.md
ops(OPS59): pre-push sem e2e — e2e roda uma vez, no CI (gate local fica com os outros testes)
2026-08-18 17:56:41 +00:00
2026-08-18-ops60.md
chore(OPS60): guard SEED_MEDIA_CONFIRM para escrita no bucket via db:seed:posts
2026-08-18 20:11:54 +00:00
2026-08-18-ops61.md
fix(OPS61): merge do safety net com FORGEJO_API_TOKEN — 409 PushRejected do hook pre-receive
2026-08-18 18:07:55 -03:00
2026-08-18-ops62.md
fix(OPS62): services por nome na rede do job — Forgejo 9 não expande expressões em ports
2026-08-18 23:26:13 +00:00
2026-08-18-ops63.md
ops(OPS63): docs-guards no pre-push — changelog append-only, agregado e marcadores de conflito no gate:ci
2026-08-18 21:35:24 +00:00
2026-08-18-ops64.md
fix(OPS64): pin do waitForChecks contra rollup mentiroso + docs — OPS62 eliminou o secundário estruturalmente
2026-08-19 12:11:41 -03:00
2026-08-18-ops65.md
ops(OPS65): CI do main em janela de 30 min (gate .dockerignore fail-open) + matar agent-pool
2026-08-18 21:08:12 -03:00
2026-08-18-s1.md
fix(S1): revert revalidate=300 — trava o bust por tag no Next 15.4 prod
2026-08-18 05:07:26 +00:00
2026-08-18-s2.md
feat(S2): seção de conteúdos da home de campanha inclui os vídeos do YouTube
2026-08-18 15:23:50 -03:00
2026-08-18-s3.md
feat(S3): seção de conteúdos da home de campanha inclui os posts do Instagram
2026-08-18 20:29:50 -03:00
2026-08-18-s5.md
feat(S5): banda visual própria para a seção 'Acompanhe de perto' na home
2026-08-18 13:35:53 -03:00
2026-08-18-s6-followup.md
fix(S6-FOLLOWUP): test:e2e:affected rodava a suíte completa — --no-deps desliga o closure de deps dos projects em runs filtrados
2026-08-18 19:09:12 -03:00
2026-08-18-s6.md
feat(S6): home de campanha sem carrossel no desktop — grade estática em ≥1024px, mobile preservado
2026-08-18 19:32:50 +00:00
2026-08-19-c141.md
feat(C141): perfis de permissão por assessor — Visão × Edição configuráveis, enforcement fail-closed ( Closes #105 )
2026-08-20 14:25:01 -03:00
2026-08-19-c143.md
feat(C143): demandas visíveis apenas para responsáveis explícitos + candidato/coordenador
2026-08-19 23:55:07 -03:00
2026-08-19-ops62-followup.md
fix(OPS62-followup): âncora de relógio no fixture do municipalitiesWithoutUpdateTool — elimina o flake de ordenação por raiz
2026-08-19 13:07:30 -03:00
2026-08-19-ops66.md
ops(OPS66): deploy — migrate antes do build do runner (deadlock de migrations em caminho estático)
2026-08-19 10:06:00 -03:00
2026-08-19-ops67.md
ops(OPS67): retry com backoff nos fetchs do forgejo-api
2026-08-19 13:28:37 +00:00
2026-08-19-ops68.md
docs(OPS68): reescreve docs canônicos da era GitHub/Vercel para Forgejo/homeserver
2026-08-19 13:33:05 +00:00
2026-08-19-ops69.md
ops(OPS69): regenera importMap com o S3ClientUploadHandler (admin abria em branco em prod)
2026-08-19 12:45:22 -03:00
2026-08-19-ops71-fase2.md
feat(OPS71): Fase 2 — remover arquivos do fluxo Forgejo (workflows/scripts/specs) pós-validação do GitHub Actions
2026-08-20 00:20:10 +00:00
2026-08-19-ops71.md
feat(OPS71): CI/PR/deploy no GitHub Actions — tracker de Issues permanece no Forgejo ( Closes #97 )
2026-08-19 19:17:19 -03:00
2026-08-19-ops72.md
fix(OPS72): referência do guard do importMap (OPS70/#87, não #77 )
2026-08-20 02:12:39 +00:00
2026-08-19-s4.md
style: prettier nos docs do S4 (changelog + plans)
2026-08-19 12:50:26 -03:00
2026-08-19-s7.md
chore(S7): entrada no changelog agregado (OPS44)
2026-08-19 19:39:09 +00:00
2026-08-19-s8.md
feat(S8): seção 'Nossa história' na home — vídeo da trajetória embutido do YouTube ( Closes #91 )
2026-08-20 02:19:58 +00:00
2026-08-19-s9.md
feat(S9): captura de novidades da campanha na home pública (form + CTA do hero)
2026-08-20 02:19:58 +00:00
2026-08-19-s10.md
merge(OPS75): convergência Forgejo→GitHub — GitHub como fonte única
2026-08-21 01:41:18 -03:00
2026-08-19-s11.md
feat(S11): feed do Instagram configurado não aparece na home — painel de status da sincronização no admin
2026-08-20 00:54:58 -03:00
2026-08-20-ops71-flip.md
fix(OPS71-FLIP): flip pós-merge silencioso no GitHub — PAT no arm do auto-merge, dispatch de recuperação, close da Issue, retry 410
2026-08-19 22:45:29 -03:00
2026-08-20-ops71-infra.md
docs(OPS71-INFRA): runner do GitHub instalado no homeserver — runbook + changelog (Issue #113 )
2026-08-20 00:58:40 +00:00
2026-08-20-ops73.md
docs(OPS73-FOLLOWUP): plano de débitos pós-OPS73 — re-home S10 + origin homeserver + race seedUser
2026-08-20 02:12:08 -03:00
2026-08-21-c142.md
docs(C142): changelog da entrega do respeito ao perfil somente_leitura
2026-08-21 23:01:35 -03:00
2026-08-23-c88.md
feat(campaign): C88 deliberação na atualização — responsável, fio e resolvido ( Closes #397 )
2026-08-23 18:58:26 -03:00
2026-08-23-c140.md
fix(campaign): C140 — manual dispatch in 18 forms prevents React 19 form reset on error
2026-08-23 17:54:19 -03:00
2026-08-23-c142-e2e-harden.md
fix(e2e): C142 — add C106 shell-settle before write-chrome assertions to unblock deploy
2026-08-23 22:13:52 -03:00
2026-08-23-c145.md
feat(campaign): editor de permissão do assessor em modal central (desktop) + bottom drawer (mobile) no lugar do popover ( Closes #813 )
2026-08-23 20:41:29 -03:00
2026-08-23-e1.md
docs(E1): changelog da extração do useAsyncSearchOptions
2026-08-23 13:16:47 -03:00
2026-08-23-e2e-admin-login-lock.md
fix(e2e): serializa o beforeEach UI login do admin com o advisory lock 727001 ( Closes #805 )
2026-08-23 19:10:21 -03:00
2026-08-23-fix-deploy-c142.md
fix(campaign): desbloqueia deploy — gate 'writable' libera coordinator/candidate e FAB ganha data-slot do e2e (C142)
2026-08-23 16:41:40 -03:00
2026-08-23-ops46-s1.md
fix(OPS46-S1): hook ESM tenta resolução bare do next/cache antes do remap ( Closes #789 )
2026-08-23 15:02:16 -03:00
2026-08-23-ops46.md
ops(OPS46): e2e local coleta via hook ESM (next/cache + server-only) e allocator de município com registry anti-wrap ( Closes #733 )
2026-08-23 14:02:19 -03:00
2026-08-23-ops47.md
docs(OPS47): alinha plano do agent-pool à política main-based pós-OPS71
2026-08-23 15:23:52 -03:00
2026-08-23-ops73-followup.md
style(OPS73-FOLLOWUP): prettier no changelog da entrega
2026-08-23 15:54:49 -03:00
2026-08-23-ops76-docs.md
docs(OPS76-DOCS): polish do banner histórico — wrap multi-linha e line refs corretos
2026-08-23 20:06:40 -03:00
2026-08-23-ops77.md
docs(changelog): OPS77 — flip pós-merge GH_TOKEN→GITHUB_TOKEN fechado com evidência ( Closes #783 )
2026-08-24 16:41:03 -03:00
2026-08-23-ops78.md
ops(OPS78): launch do worktree opencode roteia pelo Vercel AI Gateway com variantes low/high/max ( Closes #784 )
2026-08-23 16:08:12 -03:00
2026-08-23-ops79.md
ops(OPS79): última migração de dados em produção — reconciliação da vertical campanha (Neon→teqo_1313) + migração do residual público ( Closes #797 )
2026-08-23 22:45:43 -03:00
2026-08-23-ops80.md
ops(OOPS80): cutoff fase 1 — desativar acesso pela URL antiga pt.jorgesolla.com.br (congelar a fonte)
2026-08-23 20:14:59 -03:00
2026-08-23-ops82.md
ops(OPS82): preset do launch opencode → DeepSeek V4 Flash 0731 (mais barato) + variantes low/high/max + remoção duplicata cheapest-inference ( Closes #817 )
2026-08-23 23:20:45 -03:00
2026-08-23-s12.md
fix(S12): deep link #novidades aterrissa no formulário no mobile
2026-08-23 14:27:15 -03:00
2026-08-24-766.md
fix(petition): Lead tracking não falha mais assinatura commitada — guarda interna try/catch + spec ( Closes #766 )
2026-08-24 17:52:45 -03:00
2026-08-24-b155-plus.md
feat(campanha): B155+ — migrar quick-edits de célula de lideranças para rota JSON (célula → rota)
2026-08-24 18:14:56 -03:00
2026-08-24-b160.md
style(changelog): prettier no registro B160
2026-08-24 18:00:20 -03:00
2026-08-24-b194.md
refactor(tests): B194 — extract shared SSE mock helper and migrate legacy chat specs to v7
2026-08-24 22:22:08 -03:00
2026-08-24-b195-f1-wizard-s-gate.md
test(e2e): B195-F1 — gate S: no spec do wizard Registrar pedido (cópia de stream duplica o form sob carga)
2026-08-24 18:37:33 -03:00
2026-08-24-c114-lock.md
fix(campaign): C114-LOCK — hooks do sync do Google Calendar seguram row lock por I/O de rede ( Closes #870 )
2026-08-24 22:25:23 -03:00
2026-08-24-c115-f1.md
fix(campaign): C115-F1 — snapshot de eventos do motor Google Calendar com compare-and-swap ( Closes #694 )
2026-08-24 23:34:56 -03:00
2026-08-24-c120.md
style: prettier format dos docs da entrega C120
2026-08-24 19:03:29 -03:00
2026-08-24-c121.md
fix(campaignInvite): C121 — unifica chave de lock da redenção com contact-ficha ( Closes #885 )
2026-08-24 22:51:15 -03:00
2026-08-24-c144.md
feat(campaign): C144 — forms de escrita com options de município write-scoped ( Closes #769 )
2026-08-24 18:37:59 -03:00
2026-08-24-d13.md
fix(campaign): D13 — align supporter_import_batch.actor_id schema drift ( Closes #643 )
2026-08-24 22:39:03 -03:00
2026-08-24-debt-flakes-c100.md
fix(test): DEBT-FLAKES-C100 — silence review sample 10→30 + ensureLeasedConsent ON CONFLICT idempotent ( Closes #553 )
2026-08-24 17:37:14 -03:00
2026-08-24-e2e-admin-login-lock.md
test(e2e): unificar logins do usuário de teste no helper adminHeaders com advisory lock ( Closes #767 )
2026-08-24 18:42:03 -03:00
2026-08-24-e2e-debt-s-gate.md
chore(e2e): E2E-DEBT-S-GATE — extract waitForStreamSettled helper and migrate 21 sites across 5 specs ( Closes #827 )
2026-08-24 16:01:08 -03:00
2026-08-24-e2e-flake-c113.md
test: scope C113 live feed to claimed municipality (E2E-FLAKE-C113)
2026-08-24 18:23:47 -03:00
2026-08-24-e2e-frontend-login-shadow.md
chore(e2e): #811 fechada como satisfeita por #767 — shadow de adminHeaders já unificado
2026-08-24 22:03:29 -03:00
2026-08-24-o0-ops86.md
fix(ci): curated result surfaces unmapped risk files before high-risk early-return
2026-08-24 16:52:52 -03:00
2026-08-24-ops46-s3.md
test(OPS46-S3): torna steal do allocator determinístico com SELECT do índice alvo ( Closes #790 )
2026-08-24 22:22:42 -03:00
2026-08-24-ops83-recurr.md
fix(OPS83-recurr): cast rotativa do verify #16 — serializar admin atrás do frontend (stub IG compartilhado) + notificação pula recipient sumido em vez de abortar transação
2026-08-24 15:11:39 -03:00
2026-08-24-ops83.md
fix(e2e): OPS83 — estabilizar os e2e do verify sem reduzir cobertura; AgendaFeed roda em prod ( Closes #824 )
2026-08-24 07:27:49 -03:00
2026-08-24-ops84.md
impl(OPS84): verificar valores (não só entidades) da migração — 13 tabelas, 0 diffs ( Closes #828 )
2026-08-24 15:03:31 -03:00
2026-08-24-ops85.md
feat(OPS85): matar o agregado commitado do changelog — registro por-arquivo + HISTORY congelado + leitura sob demanda ( Closes #830 )
2026-08-24 14:44:25 -03:00
2026-08-24-ops86.md
ops(OPS86): blast radius dos testes — curated e2e em high-risk, fail-closed para risco sem mapping, unit/int full na seleção vazia ( Closes #832 )
2026-08-24 15:19:52 -03:00
2026-08-24-ops87.md
test(e2e): OPS87 — migrar asserções de servidor para HTTP sem browser (Concepts + PermissionProfile + People) + medir −65% ( Closes #833 )
2026-08-24 16:57:08 -03:00
2026-08-24-ops88.md
review(OPS88): simplify — build surface do reset, contrato high-risk, erros rotulados, docs canônicos
2026-08-24 16:12:44 -03:00
2026-08-24-ops89.md
chore(OPS89): variantes Vercel AI Gateway para a config global do opencode ( Closes #836 )
2026-08-24 14:05:59 -03:00
2026-08-24-ops90.md
docs(OPS90): codificar a pirâmide de testes unit→int→e2e-com-benefício nos donos certos ( Closes #838 )
2026-08-24 14:20:59 -03:00
2026-08-24-ops91.md
ops(OPS91): sweep pós-cutover — textos vivos que apontavam o tracker ao Forgejo passam para o GitHub ( Closes #841 )
2026-08-24 15:08:14 -03:00
2026-08-24-ops92-consolidar-mcps.md
chore(OPS92): consolidar MCPs — global só jina+playwright; penpot/postgres subagentes; gh CLI; re-homed ( Closes #857 )
2026-08-24 17:18:53 -03:00
2026-08-24-ops93.md
docs(changelog): OPS93 flags de modelo no worktree CLI ( Closes #859 )
2026-08-24 17:08:39 -03:00
2026-08-24-ops94.md
fix(OPS94): fila de claim não morre mais em issue ready sem frontmatter id (skip + aviso; #659 ganha id B195-F1)
2026-08-24 17:23:59 -03:00
2026-08-24-ops95.md
fix(worktree): OPS95 — corrige mapa de modelos e remove --variant do launch do TUI ( Closes #876 )
2026-08-24 23:04:39 -03:00
2026-08-24-s2-followup-validate-youtube-itemid.md
S2-FOLLOWUP ( #775 ) — validate do itemId YouTube deixa de ser código morto
2026-08-24 23:46:57 -03:00
2026-08-24-s9-pos-consentimento.md
feat: S9+ ( #771 ) — integridade de consentimento e alinhamento das ações públicas
2026-08-25 00:13:47 -03:00
2026-08-24-s11-followup.md
fix(social-feed): deadline próprio de 5s no hook do save de credenciais encurta a janela de row lock ( Closes #762 )
2026-08-24 18:03:37 -03:00
2026-08-24-s11-polish.md
fix(social-feed): S11-POLISH rota sync 400 em não-configurado e dedup InstagramPersistDatabase ( Closes #761 )
2026-08-24 17:46:50 -03:00
2026-08-25-audit-pass6-m895.md
docs(audit-p6-m895): plan-issue intention must record literal decision data (miss #895 )
2026-08-25 11:29:03 -03:00
2026-08-25-audit-pass6-m909.md
feat(audit-p6-m909): deterministic disarm guard for /testing-audit (miss #909 )
2026-08-25 11:29:03 -03:00
2026-08-25-audit-pass6.md
docs(audit-pass6): artefatos — seção Pass 6, ledger truth-up, plano de entrega
2026-08-25 11:29:03 -03:00
2026-08-25-c146.md
fix(campanha): guarda CSRF mesma-origem proxy-aware atrás do túnel ( #913 )
2026-08-25 17:32:23 -03:00
2026-08-25-e2e-demand-decide.md
fix(campanha): restaura submitter no FormData do card de demanda ( #921 )
2026-08-25 21:48:30 -03:00
2026-08-25-ops96-testing-audit-desfecho.md
fix(ops96): changelog append-only — desfecho vira entrada própria
2026-08-25 08:24:58 -03:00
2026-08-25-ops96-testing-audit-run2.md
docs(testing-audit): relatório da run 2 + entrada de changelog (movimentos, fix do metrics, recidiva #906 )
2026-08-25 17:09:43 -03:00
2026-08-25-ops96-testing-audit.md
fix(ops96): changelog append-only — desfecho vira entrada própria
2026-08-25 08:24:58 -03:00
2026-08-25-ops97.md
refactor(OPS97): fixes do /simplify — fail-closed em PR inexistente, errata do plano, token neutro na skill
2026-08-25 02:43:31 -03:00
2026-08-25-ops98.md
docs(ops98): menções vivas (opt-out restrito audit/*), impl plan e changelog
2026-08-25 08:52:07 -03:00
2026-08-25-react-audit-run.md
docs(changelog): react-audit run 2026-08-25 — primeira varredura, 6 fixes, follow-ups #915/#916/#917
2026-08-25 13:40:32 -03:00
2026-08-26-admin-branco-importmap-s3.md
fix(admin): restaura S3ClientUploadHandler no importMap — admin em branco em prod (4ª recorrência da classe OPS69)
2026-08-26 20:27:22 -03:00
2026-08-26-bug-fix-skill.md
feat(worktree): subcomando fix + skill /bug-fix (diagnóstico → fix → verificação → prevenção → post-mortem)
2026-08-26 16:16:18 -03:00
2026-08-27-admin-branco-importmap-s3-followup.md
fix(deploy): reverte package.json para desbloquear o deploy — cache deps do BuildKit
2026-08-27 09:04:47 -03:00
2026-08-27-deploy-sharp-override.md
docs(pm): registra deploy verde ( 4d6533c0, run 33074305879) + admin verificado em prod read-only + changelog do override sharp
2026-08-27 16:15:14 -03:00
2026-08-27-OPS99.md
chore: format changelog entry
2026-08-27 16:05:36 -03:00
2026-08-27-ops100.md
ops100: worktree model flags --glm (opencode-go/glm-5.3-flash) e --free (openrouter/openrouter/free)
2026-08-27 19:29:42 -03:00
2026-09-11-instagram-midia-home.md
docs(postmortem): capas do Instagram e clamp das legendas (PR #940 )
2026-09-11 18:09:03 -03:00
2026-09-12-b201.md
chore(ai): Sollinha no nome canônico deepseek-flash (B201)
2026-09-12 02:47:25 -03:00
2026-09-12-c148.md
fix(agenda): modais usáveis no desktop — criação, sync e feed (C148)
2026-09-12 02:23:23 -03:00
2026-09-12-c149.md
feat(campaign): C149 — botão Conectar com o Google (OAuth) substitui a configuração manual da service account ( Closes #934 )
2026-09-12 19:49:24 -03:00
2026-09-12-c150.md
refactor(campaign): C150 — simplify (catch/sessão do picker, leitura única, webcal morto) + changelog e débito C156
2026-09-12 21:01:12 -03:00
2026-09-12-c151.md
feat(C151): marca atividade como evento público
2026-09-12 20:28:59 -03:00
2026-09-12-c152.md
feat(C152): piloto da fonte de vídeos e transcrição minutada da Câmara
2026-09-12 20:43:36 -03:00
2026-09-12-deploy-build-importmap.md
fix(deploy): OPS99 — envs do next build fora do prefixo da cadeia (standalone)
2026-09-12 12:47:14 -03:00
2026-09-12-deploy-verify-b196-data-vencida.md
docs(postmortem): registra CI verde do PR #943 (run 34673571340)
2026-09-12 02:17:13 -03:00
2026-09-12-ops101.md
refactor(OPS101): fixes do /simplify — guard de pin robusto, docblock e triage de débitos
2026-09-12 02:17:37 -03:00
2026-09-12-ops102.md
refactor(OPS102): fixes do /simplify — comentários vivos alinhados, pin do exit 0 com mais dentes, runbook/changelog precisos
2026-09-12 21:32:28 -03:00
2026-09-12-ops103.md
feat(OPS103): staging no homeserver com verify único e aprovações separadas ( Closes #968 )
2026-09-12 22:48:22 -03:00
2026-09-12-s13-cards-personalizados.md
feat(S13): cards personalizados da campanha no site público
2026-09-12 03:25:43 -03:00
2026-09-12-s14-cards-personalizados-ajustes.md
feat(S14): cards personalizados — ajustes de fidelidade e experiência
2026-09-12 21:01:15 -03:00
2026-09-13-c153.md
fix(C153): colisão de sourceKey, match de município e reclassificação limpa
2026-09-13 02:08:55 -03:00
2026-09-13-c154.md
feat(C154): vertical de comunicação — papel communicator e acervo pesquisável
2026-09-13 13:46:58 -03:00
2026-09-13-c155.md
docs(C155): resultado da prova viva em produção (997 discursos) no changelog, runbook e plano
2026-09-14 01:54:55 -03:00
2026-09-13-deploy-staging-migrator-corepack.md
fix(deploy): assa o pnpm na imagem do migrator — destrava o deploy staging
2026-09-13 14:12:38 -03:00
2026-09-13-deploy-verify-escopo-google-calendar.md
fix(int): escopo do espelho Google Calendar por id, não por título — destrava deploy verify
2026-09-13 12:24:10 -03:00
2026-09-14-c157.md
feat(C157): relatório de sobreposição Solla × Ceuci em Salvador ( Closes #979 )
2026-09-14 02:49:31 -03:00
2026-09-14-c158.md
feat(C158): Sollinha sugere trechos de falas do acervo para vídeos ( Closes #982 )
2026-09-14 03:41:59 -03:00
2026-09-14-c159.md
feat(C159): Sollinha na assessoria de comunicação — chat escopado ao acervo ( Closes #983 )
2026-09-14 05:45:28 -03:00
2026-09-14-c160.md
docs(C160): runbook §C160 e changelog da prova viva em produção (965 falas, 0 legadas) ( #988 )
2026-09-14 05:00:18 -03:00
2026-09-14-c161.md
feat(C161): relatório Solla × Ceuci com votos por bairro (seções e locais de votação)
2026-09-14 04:36:17 -03:00
2026-09-14-c162.md
feat(C162): player do acervo resolve o trecho sob demanda e YouTube vira default ( Closes #999 )
2026-09-14 07:09:58 -03:00
2026-09-14-ops104.md
feat(OPS104): inicia o deploy no merge, com staging automático e produção com review
2026-09-14 03:07:59 -03:00
2026-09-14-ops105.md
chore(OPS105): remove workaround de visão Qwen — visão nativa do deepseek-flash ( Closes #985 )
2026-09-14 02:37:10 -03:00
2026-09-14-ops106.md
feat(OPS106): falha do verify dispara agente autônomo de desbloqueio (single-flight)
2026-09-14 05:51:39 -03:00
2026-09-14-ops107.md
fix(OPS107): aprovação de produção não ocupa a lane do staging ( Closes #1002 )
2026-09-14 08:18:21 -03:00
2026-09-15-b32-b34-f1.md
fix(B32-B34-F1): clamp nunca esconde todos os chips + key warning do head ( Closes #1042 )
2026-09-15 21:55:30 -03:00
2026-09-15-b32-b34.md
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
2026-09-15-b202.md
feat(B202): totais do recorte no rodapé da lista de municípios ( Closes #1005 )
2026-09-15 07:37:45 -03:00
2026-09-15-c163-democracia-unificada.md
feat(C163): unifica a visualização da demografia em uma tabela
2026-09-15 10:24:27 -03:00
2026-09-15-c163-economia-transporte-diversidade.md
feat(C163): demografia complementar, atividade econômica e transporte no relatório
2026-09-15 10:24:27 -03:00
2026-09-15-c163-falas-ancora-trecho.md
fix(C163): vídeo do acervo ancorado no trecho da Câmara, com folga
2026-09-15 10:24:27 -03:00
2026-09-15-c163-falas-calibracao-video.md
fix(C163): calibra link do vídeo do acervo ao t=608s da sessão
2026-09-15 10:24:27 -03:00
2026-09-15-c163-falas-colunas.md
feat(C163): colunas mais largas no acervo de falas
2026-09-15 10:24:27 -03:00
2026-09-15-c163-falas-inicio-da-fala.md
fix(C163): vídeo do acervo abre no início da fala (speechAt − sessão)
2026-09-15 10:24:27 -03:00
2026-09-15-c163-falas-minutagem.md
feat(C163): link do vídeo do acervo na minutagem do trecho
2026-09-15 10:24:27 -03:00
2026-09-15-c163-falas-video-transcricao.md
feat(C163): vídeo e transcrição no acervo de falas
2026-09-15 10:24:27 -03:00
2026-09-15-c163-fix-relatorio-cidade.md
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
2026-09-15-c163-frente-oposicao.md
feat(C163): relatório — frente de oposição, dobradinhas, investimentos e seções dinâmicas
2026-09-15 18:38:56 -03:00
2026-09-15-c163-largura-titulo-secao-11.md
fix(C163): alarga a coluna Título da seção 11 do relatório de cidade
2026-09-15 18:09:41 -03:00
2026-09-15-c163-liderancas-acervo-fonte-inline.md
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
2026-09-15-c163-liderancas-partido.md
feat(C163): partido na lista de lideranças da cidade
2026-09-15 10:24:27 -03:00
2026-09-15-c163-relatorio-v2.md
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
2026-09-15-c163-secoes-dinamicas-dobradinhas-investimentos.md
feat(C163): relatório — frente de oposição, dobradinhas, investimentos e seções dinâmicas
2026-09-15 18:38:56 -03:00
2026-09-15-c163-ui-relatorio.md
feat(C163): total populacional e revisão de apresentação do relatório
2026-09-15 10:24:27 -03:00
2026-09-15-c163.md
feat(C163): relatório de cidade pré-viagem (agente + skill → PDF A4) ( Closes #1007 )
2026-09-15 07:10:45 -03:00
2026-09-15-c164.md
fix(C164): registra canal de push normalizando expiration string na borda
2026-09-15 06:52:50 -03:00
2026-09-15-c165-f1.md
fix(C165-F1): fecha município nulo/fora da carteira no access de update da atividade ( Closes #1030 )
2026-09-15 13:48:17 -03:00
2026-09-15-c165.md
feat(campaign): C165 — importa eventos do Google como atividades sem município ( Closes #1010 )
2026-09-15 11:54:21 -03:00
2026-09-15-c166.md
feat(C166): seleciona trecho do acervo e compartilha link no ponto + WhatsApp ( #1013 )
2026-09-15 07:51:44 -03:00
2026-09-15-c167.md
feat(C167): corta o trecho [início,fim] do acervo e publica o arquivo numa página compartilhável
2026-09-15 10:24:36 -03:00
2026-09-15-c168.md
feat(C168): biblioteca de cortes no acervo (origem, download, compartilhar, editar texto)
2026-09-15 12:56:51 -03:00
2026-09-15-c169.md
fix(C169): corte do acervo resolve o trecho com a Câmara instável e falha dizendo o porquê ( Closes #1045 )
2026-09-15 22:37:41 -03:00
2026-09-15-c171-f1.md
fix(C171-F1): troca para a Câmara preserva o ponto clicado na transcrição ( Closes #1052 )
2026-09-15 23:50:24 -03:00
2026-09-15-c171.md
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
2026-09-15-ops108.md
OPS108 — Modo autônomo por flag --auto nas skills plan-issue e work-issue
2026-09-15 16:01:47 -03:00
2026-09-15-ops109.md
feat(OPS109): painel de issues e planos no terminal (via SSH)
2026-09-15 16:24:15 -03:00
2026-09-15-ops110-f1.md
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
2026-09-15-ops110.md
feat(OPS110): sessões persistentes de agente com attach/detach ( Closes #1019 )
2026-09-15 09:31:45 -03:00
2026-09-15-ops111.md
fix(OPS111): setup-node 24 antes do pnpm/action-setup no auto-unblock ( Closes #1035 )
2026-09-15 16:02:29 -03:00
2026-09-15-ops112.md
chore(OPS112): modelos padrao do worktree --go/--zen (DeepSeek V4.1 Flash / Muse Spark 1.3 Free)
2026-09-15 23:27:04 -03:00
2026-09-15-ops113.md
refactor(OPS113): prompts enxutos, permission restrita ao artefato e frontmatter citado (Related #1056 )
2026-09-15 23:56:50 -03:00
2026-09-15-staging-tunnel.md
docs(ops): ajusta wrapping do prettier
2026-09-15 15:46:01 -03:00
2026-09-16-b203.md
B203 — Sollinha começa fechado no desktop ( Closes #1107 )
2026-09-16 21:08:25 -03:00
2026-09-16-c163-page-one-emendas.md
feat(C163): página 1 mostra os indícios de emenda e perde o "O que NÃO anunciar"
2026-09-16 21:23:45 -03:00
2026-09-16-c170.md
feat(C170): acervo sem teto de corte — 5 s até o fim da fala ( Closes #1046 )
2026-09-15 22:17:01 -03:00
2026-09-16-c172.md
fix(C172): player e link abrem no ponto certo da fala ( Closes #1082 )
2026-09-16 19:33:04 -03:00
2026-09-16-c173.md
feat(C173): pré-visualizar no player o trecho selecionado ( Closes #1083 )
2026-09-16 22:22:29 -03:00
2026-09-16-c174.md
feat(C174): encontrar cortes — navegação, na fala e na busca ( Closes #1084 )
2026-09-16 12:58:40 -03:00
2026-09-16-c175.md
feat(C175): miniatura do trecho na listagem de falas ( Closes #1085 )
2026-09-16 12:36:35 -03:00
2026-09-16-c176.md
feat(C176): página pública do corte — revisão de design ( Closes #1086 )
2026-09-16 12:36:55 -03:00
2026-09-16-c177.md
fix(C177): "Abrir fonte" do acervo só com fonte oficial ( Closes #1087 )
2026-09-16 20:06:18 -03:00
2026-09-16-c178.md
docs(C178): corrige o diagnóstico do débito OPS124 (knip sai 0, análise degradada em CI e local)
2026-09-16 19:08:00 -03:00
2026-09-16-c180.md
fix(C180): select enxuto dos loaders, teto do id in da origem e paridade busca↔VM ( Closes #1097 )
2026-09-16 20:27:36 -03:00
2026-09-16-c181.md
fix(C181): player do acervo volta a ter o YouTube in-page e espera a Câmara gerar o trecho
2026-09-16 21:08:01 -03:00
2026-09-16-c182.md
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
2026-09-16-c183.md
feat(C183): apaga um corte da biblioteca e recupera cortes falhados ( Closes #1105 )
2026-09-16 20:34:12 -03:00
2026-09-16-ops114.md
refactor(OPS114): bloco do sub-agente Designer, dono da gravação e links da doutrina (Related #1057 )
2026-09-16 00:22:34 -03:00
2026-09-16-ops115.md
docs(OPS115): designer em qualquer toque de design + crítica visual fail-closed nas skills ( Closes #1058 )
2026-09-16 01:06:48 -03:00
2026-09-16-ops116.md
feat(OPS116): painel aceita -ui-design.html com retrocompat -ui-draft.html ( Closes #1059 )
2026-09-16 01:14:21 -03:00
2026-09-16-ops117.md
chore(OPS117): guard de escrita via bash nos agentes de design ( Closes #1063 )
2026-09-16 00:55:34 -03:00
2026-09-16-ops118.md
feat(OPS118): relatório de cidade em lote + researcher por cidade ( Closes #1065 )
2026-09-16 00:47:04 -03:00
2026-09-16-ops119.md
feat(OPS119): worktree plan abre driverless sem bag e auto-envia /plan-issue <bag> ( Closes #1066 )
2026-09-16 01:00:03 -03:00
2026-09-16-ops119plus.md
chore(OPS119+): risk map das libs de launch + pin do wiring do plan ( Closes #1071 )
2026-09-16 10:18:54 -03:00
2026-09-16-ops119plusplus.md
chore(OPS119++): blast radius de scripts/ — risk map das libs + static scope ( Closes #1077 )
2026-09-16 12:12:37 -03:00
2026-09-16-ops120.md
fix(OPS120): página 1 do relatório de cidade cabe com pesquisa cheia ( Closes #1069 )
2026-09-16 01:31:41 -03:00
2026-09-16-ops121.md
chore(OPS121): verificação pós-deploy em staging no fluxo work-issue ( Closes #1079 )
2026-09-16 11:53:54 -03:00
2026-09-16-ops122.md
fix(OPS122): launch do worktree honra o modelo na sessão e o --auto ( Closes #1088 )
2026-09-16 19:09:12 -03:00
2026-09-16-ops123.md
chore(OPS123): reserva o provider openai aos agentes de design ( Closes #1091 )
2026-09-16 11:10:44 -03:00
2026-09-16-ops124.md
fix(OPS124): desabilita o plugin Payload do knip e explicita as exclusões ( Closes #1094 )
2026-09-16 19:55:07 -03:00
2026-09-17-c163-pagina-1-indicios-overflow.md
fix(C163): página 1 cabe com muitos indícios de emenda ( Closes #1130 )
2026-09-17 14:57:23 -03:00
2026-09-17-c179.md
refactor(C179): helper único da URL do thumbnail do YouTube ( Closes #1093 )
2026-09-17 01:30:43 -03:00
2026-09-17-c186.md
refactor(C186): endurece o builder e enxuga o modelo do dossiê (review) (Related #1132 )
2026-09-17 16:41:32 -03:00
2026-09-17-c187.md
feat(C187): dossiê Solla por instituição + boletim modelo (skill + builder) ( Closes #1135 )
2026-09-17 19:25:13 -03:00
2026-09-17-c188.md
feat(C188): relatórios e dossiês sem truncamento mecânico
2026-09-17 19:59:02 -03:00
2026-09-17-ops125.md
chore(OPS125): conta de teste dos agentes no staging ( Closes #1126 )
2026-09-17 02:08:57 -03:00
2026-09-17-ops126.md
fix(OPS126): auto-unblock honra o proxy do homeserver e resolve o opencode fora do PATH
2026-09-17 02:07:18 -03:00
2026-09-18-c186-c187-dossie-corrente.md
feat(C186/C187): dossiê corrente sem caps + redação, síntese e gráficos (paridade cidade × instituição)
2026-09-17 23:00:08 -03:00
2026-09-18-c190-boletim-fit.md
fix(C190): boletim de uma página cabe por medição (painel de acervo + fit)
2026-09-18 19:08:45 -03:00
2026-09-18-c190.md
feat(C190): dossiê Solla por tema/área + boletim modelo (skill + builder)
2026-09-18 17:02:56 -03:00
2026-09-18-c191-duas-series.md
feat(C191): linha de duas séries no gráfico de Instagram — valência bom/ruim, projeção e cruzamento
2026-09-18 23:12:05 -03:00
2026-09-18-c191-graficos-instagram.md
feat(C191): gráficos de dados para Instagram — skill + builder local ( Closes #1145 )
2026-09-18 17:32:48 -03:00
2026-09-18-c191-runtime-followups.md
feat(C191-runtime): cobertura do entry/PNG real e parse pt-BR explícito ( Closes #1151 )
2026-09-18 19:08:22 -03:00
2026-09-18-c192.md
feat(C192): busca semântica no acervo de falas ( Closes #1147 )
2026-09-18 17:48:28 -03:00
2026-09-18-c193-fix-rename.md
fix(C193): renomeia referência perdida do predicado da vertical de comunicação (Related #1152 )
2026-09-18 18:52:38 -03:00
2026-09-18-c193.md
feat(C193): reel privado no CMS — modelo, upload privado e kill switch ( Closes #1152 )
2026-09-18 17:48:34 -03:00
2026-09-18-c194.md
feat(C194): biblioteca de reels na vertical Comunicação ( #1153 )
2026-09-18 21:54:37 -03:00
2026-09-18-c195.md
feat(C195): ingestão do pacote do reel na biblioteca privada ( Closes #1154 )
2026-09-18 21:47:48 -03:00
2026-09-18-c196.md
feat(C196): skill /reels-tutoriais — captura mobile + composição de vídeo
2026-09-18 21:50:28 -03:00
2026-09-18-c199.md
feat(C199): gravações enviadas no acervo de comunicação ( Closes #1166 )
2026-09-18 23:42:30 -03:00
2026-09-18-fix-401-token-e-c201.md
fix: 401 do GITHUB_TOKEN local (PAT expirado) — dica acionável, testes e docs (Related #1169 )
2026-09-18 19:00:11 -03:00
2026-09-18-ops127.md
feat(OPS127): launch do worktree nasce na variante max ( Closes #1149 )
2026-09-18 16:55:08 -03:00
2026-09-18-ops128.md
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
2026-09-18-s15-card-time-de-voce.md
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
2026-09-19-automerge-pat-rotacionado.md
fix(OPS71): ready-automerge de volta — AUTOMERGE_PAT rotacionado para o token longevo do gh + contrato/verificação ( Closes #1176 , #1177 , #1184 )
2026-09-19 03:07:29 -03:00
2026-09-19-c191-delta.md
feat(C191): barra de variação (delta) no gráfico de Instagram — base e extensão por categoria, sem valência
2026-09-19 01:23:23 -03:00
2026-09-19-c191-duas-colunas-positivas.md
fix(C191): cena 02A na paleta oficial do C203 — duas colunas no mesmo #e4102f
2026-09-19 12:57:40 -03:00
2026-09-19-c197.md
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
2026-09-19-c200.md
feat(C200): separar falas por pessoa nas gravações enviadas ( Closes #1167 )
2026-09-19 12:32:46 -03:00
2026-09-19-c203-graficos-kit-1313.md
refactor(C203): seletor de chave no dono do kit, guard estrito e nomes (simplify)
2026-09-19 11:24:06 -03:00
2026-09-19-c204.md
docs(C204): kit 1313 como fonte de marca única — doutrina, ponteiros e 14 ativos ( Closes #1193 )
2026-09-19 01:21:40 -03:00
2026-09-19-c205-graficos-tres-series-marca.md
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
2026-09-19-c207-graficos-projecao-tres-series.md
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
2026-09-19-flip-remove-labels-404.md
fix(flip): removeLabels idempotente — restaura o ignoreNotFound revertido pelo C140 (descoberto no PR #1202 )
2026-09-19 11:15:34 -03:00
2026-09-19-reels-tutoriais-evolucao.md
feat(reels): navegação visível, trilho de comando e cena profile na skill de reels
2026-09-20 00:11:27 -03:00
2026-09-19-s16-card-time-de-voce-nomes-longos.md
feat(S16): banner azul dinâmico no card "Time de você" — nomes longos cabendo ( Closes #1195 )
2026-09-19 13:05:52 -03:00
2026-09-19-s17-card-time-de-voce-harmonizar-cores.md
feat(S17): controle "Harmonizar cores" no ready do card Time de você
2026-09-19 10:55:18 -03:00
2026-09-19-s18-card-cabeca-proporcional.md
feat(S18): cabeça do visitante proporcional à dos candidatos no card Time de você
2026-09-19 13:42:22 -03:00
2026-09-19-s19-imagem-do-cartao-no-origem-do-deploy.md
fix(S19): imagem do cartão no origem do deploy, não no domínio canônico
2026-09-19 16:28:32 -03:00
2026-09-19-s19.md
feat(S19): links de compartilhamento com miniatura OG ( Closes #1207 )
2026-09-19 14:02:17 -03:00
2026-09-19-s20-card-ajuste-lateral.md
feat(S20): ajuste lateral da foto do card time sem limite artificial ( Closes #1216 )
2026-09-19 16:32:33 -03:00
2026-09-19-skill-transmissao-live.md
docs(skills): adiciona skill transmissao-live com a arquitetura da transmissao ao vivo
2026-09-19 21:14:56 -03:00
2026-09-20-card-time-recorte-e-enquadramento.md
fix(cards): recorte no celular (WASM/WebGL) e volta do enquadramento S15
2026-09-20 17:07:01 -03:00
2026-09-20-s21.md
feat(S21): jingles de Jorge Solla no site público — ouvir e baixar ( Closes #1222 )
2026-09-20 01:48:20 -03:00