teqo/docs/plans
Francisco Ignácio Fontoura Solla 31fcc20ffd E9 /simplify: consolidate duplicated helpers, dead passthrough, comment drift
Cross-checked by parallel code-quality/performance/reuse reviewers against
the E9 commit. Behavior-preserving:

- laterTimestamp/resolveMunicipalityLastSignalAt were the same "latest of
  two ISO timestamps" written twice; both now delegate to a new
  latestIsoTimestamp in campaignTime.ts, which documents the fixed-width
  UTC invariant that makes the string compare sound.
- Hoisted the frescor comparator's Date.now() out of the per-comparison
  accessor so the sort key stops drifting mid-sort.
- Deleted the unread baseTotal/growthFactor/belowBase passthrough from the
  statewide goal entry point and fixed a comment citing a symbol
  (goalDecompositionBelowBase) that never existed; renamed
  computeStatewideGoalDecomposition -> computeStatewideSuggestedGoals now
  that nothing is proportionally decomposed.
- Collapsed the advisor badge's two copies (desktop table vs mobile card)
  into one AdvisorStatusBadge; they had quietly diverged on which icon
  renders for the "no advisor" state.
- Renamed the sort-menu's stale "Cobertura" label for advisor coverage to
  "Assessoria" (E8 already renamed the list column for the same reason);
  derived the sort-key set from the label record instead of a third
  parallel list.
- Consolidated three zeroed-scenario-record literals into one
  zeroByVoteEstimateScenario() factory in voteEstimate.ts.
- Routed three separate votesByYear[2022] reads through one votesInYear
  helper in municipalityPotential.ts.
- Gated the goal card's empty-state copy on !usesMesaEstimate so it stops
  telling a município with an existing mesa estimate to enter one.
- Swapped a test assertion pinned to a raw Tailwind token for a stable
  data-signal="cold" hook, and tightened the "desert" test's bound to
  check against the actual growth factor (the old bound was true for
  every slug regardless of the formula).

Left alone (roadmap decision, not cleanup): sanityCheckSuggestedGoalsByTerritory
has no production caller yet (deferred to E11/E12); comment shortened
instead of deleting the dead-but-documented code.

Verified: tsc --noEmit, pnpm lint (0 warnings), 337 unit + 366 integration
tests, pnpm build all green.
2026-07-25 02:24:18 -03:00
..
aproximar-mapa-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
backtest-pos-eleicao.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
baseline-eleitoral-tse.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
cadastro-nominal-apoiadores.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
camada-territorios-identidade.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
cenario-junto-filtros-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
cenarios-estimativa-votos.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
classificacao-territorial-relativa.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
compartilhar-pagina.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
conta-da-cadeira.md E9 /simplify: consolidate duplicated helpers, dead passthrough, comment drift 2026-07-25 02:24:18 -03:00
demandas-campanha.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
documentacao-conceitos-campanha.md E18: documentação de conceitos de inteligência de campanha 2026-07-25 01:37:37 -03:00
dossie-municipio.md E9 /simplify: consolidate duplicated helpers, dead passthrough, comment drift 2026-07-25 02:24:18 -03:00
edicao-rapida-lista-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-a4.md Deliver A7 Fase 2 cityCode TSE geography filters and absorb simplify debts. 2026-07-19 22:48:08 -03:00
escala-dry-pos-a8.md Deliver A8 IBGE voter profile on Eleitorado tab with post-simplify scale plan. 2026-07-19 23:05:27 -03:00
escala-dry-pos-a9.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-b2.md Deliver A8 IBGE voter profile on Eleitorado tab with post-simplify scale plan. 2026-07-19 23:05:27 -03:00
escala-dry-pos-b3.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-c2.md Deliver C8 scale/DRY for supporters and register C9 follow-ups. 2026-07-19 00:31:06 -03:00
escala-dry-pos-c3.md Add missing C7 modules and register C11 simplify follow-ups. 2026-07-19 03:52:22 -03:00
escala-dry-pos-c6.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-c7.md Implement C12 campaign foundation records 2026-07-24 19:27:15 -03:00
escala-dry-pos-c8.md Deliver C9 scale/DRY for supporters and register C10 follow-ups. 2026-07-19 03:23:25 -03:00
escala-dry-pos-c9.md Deliver C9 scale/DRY for supporters and register C10 follow-ups. 2026-07-19 03:23:25 -03:00
escala-dry-pos-e1.md Mark E4 spreadsheet import as cut in roadmap and project docs. 2026-07-19 22:06:25 -03:00
escala-dry-pos-e2.md Deliver A5 mobilization insight and absorb E7 F2 int follow-up. 2026-07-19 22:34:35 -03:00
escala-dry-pos-field-desk.md Refactor campaign dashboard UX and add product discovery artifacts. 2026-07-19 21:56:01 -03:00
escala-dry-pos-onda0.md Add allowlisted global cache revalidation for Onda 0 F1. 2026-07-19 22:21:16 -03:00
escala-dry-pos-reset-senha-perfil.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-dry-pos-visitados-recentemente.md Refactor campaign dashboard UX and add product discovery artifacts. 2026-07-19 21:56:01 -03:00
escala-percentual-mapa-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
escala-relativa-mapa.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
estimativa-votos-praca.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
eventos-agenda-mobilizacao.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
exportar-csv-assinaturas.md Add admin CSV export for signatures and contacts. 2026-07-23 00:53:04 -03:00
field-desk-ux-pos-critique.md Refactor campaign dashboard UX and add product discovery artifacts. 2026-07-19 21:56:01 -03:00
fila-de-alocacao.md E9: Fila de alocação (déficit como default do staff, frescor, coluna da vergonha) 2026-07-25 02:24:17 -03:00
filtros-auto-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
filtros-no-header-lista-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
filtros-salvos-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
gerenciar-assessores.md Register B19 plan for managing advisors in /campanha. 2026-07-24 20:15:03 -03:00
hover-mapa-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
icone-prioridade-lista-municipios.md Register fill-in to replace the priority badge with an icon+tooltip on the municipalities list. 2026-07-24 18:25:36 -03:00
import-planilha-projecao.md Import projection-sheet strategy columns into municipalities (E4R fase 2) 2026-07-24 15:58:06 -03:00
insight-alavancagem-chapa.md Deliver A5 ticket leverage and flip insights with simplify cleanup. 2026-07-19 17:34:06 -03:00
insight-classificacao-territorial.md Deliver A5-2 territorial classification insight and absorb review debts. 2026-07-19 18:15:07 -03:00
insight-dobradinha-2026.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
insight-inteligencia-competitiva.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
insight-mobilizacao-brancos-nulos.md Deliver A5 mobilization insight and absorb E7 F2 int follow-up. 2026-07-19 22:34:35 -03:00
insight-taxa-conversao.md Deliver A5 slice 1 conversion-rate insight and absorb review debts. 2026-07-19 14:05:11 -03:00
inteligencia-campanha.md E8 follow-up: touch-friendly metric tooltips, 2014/2018 majoritarian seed, E18 docs plan 2026-07-24 22:55:51 -03:00
mapa-bahia-geometrias.md Deliver B3 Leaflet choropleth maps and register post-simplify follow-ups. 2026-07-19 17:13:27 -03:00
mapa-pracas-filtrado.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
mapa-projecao-municipios.md Ship E4R: always-overwrite seed of projection spreadsheet into voteGoals and priority. 2026-07-24 13:13:46 -03:00
motor-de-sugestoes.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
municipio-mais-proximo.md Register B14 nearest-municipality geolocation shortcut on the campaign home. 2026-07-24 12:45:18 -03:00
niveis-de-envolvimento.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
notifications.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
onda-0-ripd-nota-mvp.md Deliver Onda 0 MVP: provisional Consent, privacy policy, and /privacidade. 2026-07-19 03:38:21 -03:00
onda-0.md Sync roadmap and intel plans with the 2026-07-23 field session; add E4R/A11/E16/E17 plans 2026-07-24 02:54:28 -03:00
ordenacao-colunas-lista-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
overview-lista-nucleos.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
perfil-eleitorado-ibge.md Deliver A8 IBGE voter profile on Eleitorado tab with post-simplify scale plan. 2026-07-19 23:05:27 -03:00
pixel-meta-abaixo-assinado.md Add Meta Pixel tracking to public petition pages. 2026-07-21 10:51:47 -03:00
planejador-de-giros.md Sync roadmap and intel plans with the 2026-07-23 field session; add E4R/A11/E16/E17 plans 2026-07-24 02:54:28 -03:00
poligonos-pracas-zona.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
pwa-campanha.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
ranking-votos-municipio.md E9: Fila de alocação (déficit como default do staff, frescor, coluna da vergonha) 2026-07-25 02:24:17 -03:00
registro-fundacao.md Implement C12 campaign foundation records 2026-07-24 19:27:15 -03:00
remodelagem-municipios.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
remodelagem-pracas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
reordenar-colunas-lista-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
reset-senha-foto-perfil.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
seletor-colunas-lista-municipios.md Register B16–B18 municipality list UX plans and mark column reorder out of scope. 2026-07-24 19:14:01 -03:00
tabela-ti-inicio.md Add comparative Identity Territory table to campaign dashboard (E17) 2026-07-24 17:17:31 -03:00
territorio-multi-municipio-bairro.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
visitados-recentemente.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00
whatsapp-canal-fundacao.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
whatsapp-envio-liderancas.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
whatsapp-interno-campanha.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
whatsapp-sugestao-atualizacoes.md Sync all project docs with the deployed remodel and hardening; compile roadmap 2026-07-24 02:04:45 -03:00
zonas-por-municipio.md Restore full roadmap detail and align project documentation. 2026-07-19 16:19:36 -03:00