diff --git a/.cursor/rules/projects/nucleos-eleitorais.mdc b/.cursor/rules/projects/nucleos-eleitorais.mdc index 35a4673d..27f8a866 100644 --- a/.cursor/rules/projects/nucleos-eleitorais.mdc +++ b/.cursor/rules/projects/nucleos-eleitorais.mdc @@ -7,6 +7,7 @@ alwaysApply: false ## Status +- **Sessão observada CG 2026-07-29 (Bloco B):** 1º hands-on ~54 min. Achados U1–U8 / O9–O11 — não rola; mental model **Ação→Local→Quem**; confirmações invisíveis; forms precisam ser contínuos; hit = lista sem assessor × votos 2022; mapa ≠ mesa de trabalho. Pivot: tabelas=bulk; operação=fluxos lineares tipo Nubank. Snapshot [`sessao-observada-coordenador-2026-07-29-snapshot.md`](../../../docs/plans/sessao-observada-coordenador-2026-07-29-snapshot.md); CUSTOMER.md/OST atualizados. Prazo soft: manejável até reunião assessoria **03/08**. - **E12+ entregue em código (2026-07-29):** escala/DRY pós-E12 — F1 forçada: `src/lib/metropolitanoTerritoryPeers.ts` unifica constantes, filtros Salvador vs demais RMS e `catalogPeersForSlug` (rollup E17/E12, `slugsForMetropolitanoSubRow`, benchmark T4). F2 não entrou — `benchmarkBySlug` já memoiza por slug. Spec `metropolitanoTerritoryPeers.unit.spec.ts`. Sem migration/UI. Plano: [`escala-dry-pos-e12.md`](../../../docs/plans/escala-dry-pos-e12.md). - **B17+ entregue em código (2026-07-29):** Escala/DRY pós-B17 — F1: `readCampaignColumnVisibility` antes do `Promise.all` e `loadLeadershipOptions` / `loadStateDeputyOptions` só quando a coluna de relação está visível (`resolveVisibleColumns`). F2: `CampaignListEmptyState` na prop `empty` de `CampaignTable` (e `SupporterList`) em demandas, organizações e apoiadores, para o botão "Colunas" sobreviver com zero linhas. Plano: [`escala-dry-pos-b17.md`](../../../docs/plans/escala-dry-pos-b17.md). - **Fill-in remover coluna Tipo entregue em código (2026-07-29):** em `/campanha/municipios`, sumiram a coluna "Tipo", o filtro single-select no header (B16), o ramo mobile em `MunicipalityFilters`, a sort key `kind` e o param `?kind=` em `municipalityListUrl` / `buildMunicipalityListWhere` / `payloadSortFieldByKey` — bookmarks antigos ignoram `kind` no parse. `municipalityKindLabels` permanece para detalhe, mapa e dossiê. `MunicipalityHeaderFilter` ficou só com filtros multi (`singleRows`/`applyMunicipalityKindFilter` deletados). B17: 11 colunas staff; e2e do picker usa Território; B18 usa `?priority=alta`. Sem migration/action/Consent. Plano: [`remover-coluna-tipo-municipios.md`](../../../docs/plans/remover-coluna-tipo-municipios.md). diff --git a/docs/IMPROVE-APP-PLAN.md b/docs/IMPROVE-APP-PLAN.md index f487713b..380cb4e4 100644 --- a/docs/IMPROVE-APP-PLAN.md +++ b/docs/IMPROVE-APP-PLAN.md @@ -19,7 +19,7 @@ | Phase | Skill | Status | Artifact | Date | | ----- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------- | ---------- | | 1 | jobs-to-be-done | done | CUSTOMER.md | 2026-07-19 | -| 2 | ux-heuristics | pending — destravada 2026-07-23 (evidência da sessão âncora em CUSTOMER.md; Bloco B de uso observado ainda sem registro) | DESIGN.md, EXPERIMENTS.md | 2026-07-23 | +| 2 | ux-heuristics | pending — evidência de uso 2026-07-29 (O9–O11; above-the-fold; ação-primeiro). Mirar fluxos do delta do dia, não polish. | DESIGN.md, EXPERIMENTS.md | 2026-07-29 | | 3 | design-everyday-things | pending | DESIGN.md, EXPERIMENTS.md | | | 4 | refactoring-ui | pending | DESIGN.md, EXPERIMENTS.md | | | 5 | microinteractions | pending | DESIGN.md, EXPERIMENTS.md | | @@ -34,26 +34,28 @@ Statuses: pending · in-progress · awaiting-evidence · done · deferred: \