Commit graph

1549 commits

Author SHA1 Message Date
Francisco Solla
e3e8d3fb4a plans(C110+): débitos pós-critique do preview do arrasto — chevron, dots do mês, gradiente 2026-08-10 19:22:39 -03:00
Francisco Solla
4baa617c01
Merge pull request #610 from fsolla/C110-agenda-mobile-feedback-visual-do-arrasto-reveal-do-peri
C110 — feedback visual do arrasto na agenda mobile (reveal do período adjacente + commit/snap-back)
2026-08-10 15:02:53 -03:00
Francisco Solla
cd76cbcb59
Merge pull request #609 from fsolla/OPS31-worktree-plan-abre-o-opencode-com-plan-issue-ja-enviad
OPS31 — Worktree plan abre o opencode com /plan-issue já enviado
2026-08-10 14:48:44 -03:00
Francisco Solla
3b81431d39 refactor(C110): simplify — helpers de dominância/clamp, seed e2e generalizado, CSS sem regras mortas 2026-08-10 14:42:54 -03:00
Francisco Solla
9dd8022b6a feat(OPS31): worktree plan abre o opencode com /plan-issue já enviado 2026-08-10 14:36:27 -03:00
Francisco Solla
0830653b8c
Merge pull request #608 from fsolla/plans/plan-issue-29
docs(plan): B196 — municípios mobile: omnibox colado ao header e card denso
2026-08-10 14:36:20 -03:00
Francisco Solla
536051bcd2 docs(plan): B196 — municípios mobile: omnibox colado ao header e card denso (pós-B193/B184) 2026-08-10 14:29:00 -03:00
Francisco Solla
9311c1623c
Merge pull request #541 from fsolla/C100-pessoas-lista-unificada-da-campanha-rota-campanha-pesso
feat(C100): lista unificada de pessoas em /campanha/pessoas
2026-08-10 14:22:57 -03:00
Francisco Solla
549d3f8167
Merge pull request #606 from fsolla/OPS29-busca-global-sem-sugestoes-mostra-regiao-em-branco-est
plans(OPS37): container Postgres compartilhado é recriado por outro worktree — mata dev+e2e em voo
2026-08-10 14:10:01 -03:00
Francisco Solla
cfa7c458b9 plans(OPS37): container Postgres compartilhado é recriado por outro worktree — mata dev+e2e em voo (Closes #605) 2026-08-10 13:58:45 -03:00
Francisco Solla
b23a323f83 feat(C110): feedback visual do arrasto na agenda mobile — reveal do período adjacente + commit/snap-back 2026-08-10 13:51:55 -03:00
Francisco Solla
cc7dff88c4 feat(C100): lista unificada de pessoas em /campanha/pessoas
Merge por Contact (uma linha por pessoa física) de lideranças,
dobradinhas e staff, com capacidades como colunas; omnibox com
capacidade/município/apoio + filtros salvos (2º call site do B18 via
factory createSavedFilterStore); apagar pessoa com manifest de
confirmação e cascata transacional; mobile edge-to-edge (omnibox sem
bordas, cards com divisórias, salvar filtro no header). Sem migration.

Closes #495
2026-08-10 13:45:46 -03:00
Francisco Solla
89e7292529
Merge pull request #580 from fsolla/OPS22-ci-main-e2e-da-agenda-mobile-vermelho-desde-o-merge-do
OPS22 — fix: settle do chat desktop não vaza drawer para a visita mobile da mesma aba (CI main / deploy desbloqueado)
2026-08-10 13:35:07 -03:00
Francisco Solla
0fefbd0490
Merge pull request #604 from fsolla/OPS29-busca-global-sem-sugestoes-mostra-regiao-em-branco-est
fix(OPS29): estado vazio honesto na busca global sem sugestões curadas
2026-08-10 13:31:03 -03:00
Francisco Solla
7d970dfce5 style(OPS22): prettier no CHANGELOG 2026-08-10 13:13:24 -03:00
Francisco Solla
04ce091b14 style(OPS22): prettier — ordena imports no provider do chat 2026-08-10 13:12:12 -03:00
Francisco Solla
6fbb71c7e7 chore(OPS22): mapeia o domínio do Sollinha no e2e-affected manifest (chat specs acordam com mudanças no chat) 2026-08-10 13:12:12 -03:00
Francisco Solla
5bc154dd20 fix(OPS22): settle do chat desktop não vaza drawer para a visita mobile da mesma aba — CI main verde (deploy desbloqueado) 2026-08-10 13:12:12 -03:00
Francisco Solla
fb7f85cd59 fix(OPS29): estado vazio honesto na busca global sem sugestões curadas (Closes #585)
- HomeSearchResultsShell renderiza 'Nenhuma sugestão ainda — priorize
  municípios na planilha de projeção' quando o suggest responde success
  sem hits (Início e FAB overlay compartilham o shell; SSR initialSuggest
  e POST cobertos); gateada por !isFetching para não falar sob o skeleton
- B126 e2e determinístico: pin um município priority alta claimado;
  testes OPS29 novos usam advisor sem carteira (scoped, imune a alta
  global de workers paralelos); settle de animação do overlay no B126
- unit: 3 casos novos no shell + overlap skeleton/mensagem
2026-08-10 12:54:16 -03:00
Francisco Solla
7b044ff6ef
Merge pull request #603 from fsolla/OPS32-work-issue-no-paradigma-de-issue-ja-claimada-model-sel
OPS32: work-issue no paradigma de Issue já claimada + model-selection só-Cursor
2026-08-10 12:53:36 -03:00
Francisco Solla
4e5f9e738e OPS32: work-issue no paradigma de Issue já claimada + model-selection só-Cursor
- work-issue reescrita como fluxo próprio do humano: sem claim/verificações
  (contexto via $ARGUMENTS, 1 pergunta de fallback, validação gh issue view,
  nunca claim); plano de intenção do body da Issue (contrato extractPlanPath)
- desacoplada de agent-work-issue; Passos 4-6 extraídos para
  execution-pipeline.md compartilhado com deltas por ator
- model-selection volta ao cardápio único Cursor (remove model-local e o
  mapeamento canônico model:->DeepSeek)
- correlatos: claim brief (metadata consultiva + footer sem stage), pool
  prompt, command description, AGENT-OPS, plan-issue, rebase-on-main,
  CHANGELOG-AGENTS
2026-08-10 12:50:18 -03:00
Francisco Solla
a7221cb711
Merge pull request #602 from fsolla/plans/plan-issue-e2e-velocidade
plans(OPS34-OPS36): acelerar o processo de verificação e2e
2026-08-10 12:32:44 -03:00
Francisco Solla
52ad9d8f85 plans(OPS34-OPS36): acelerar o processo de verificação e2e — paralelizar job CI, paradigma HTTP sem browser, journeys seriais 2026-08-10 12:29:42 -03:00
Francisco Solla
e20069ea1b
Merge pull request #598 from fsolla/D9-test-database-lease-consent-flake
docs(plan): D9 — flake do consent restore do testDatabaseLease sob carga
2026-08-10 12:10:42 -03:00
Francisco Solla
21056eb384
Merge pull request #597 from fsolla/plans/plan-issue-27
plans: OPS31-OPS33 — worktree plan envia /plan-issue, work-issue no paradigma claimado, next claima deterministicamente
2026-08-10 12:08:06 -03:00
Francisco Solla
5e339dc68b style(plan): prettier no plano D9 2026-08-10 12:07:55 -03:00
Francisco Solla
e8cc702ad3 docs(plan): D9 — flake do consent restore do testDatabaseLease sob carga 2026-08-10 12:06:37 -03:00
Francisco Solla
13a10d9069 plans(OPS31-OPS33): claim determinístico no worktree next + work-issue no paradigma claimado + /plan-issue no launch do plan 2026-08-10 12:05:02 -03:00
Francisco Solla
677f80c3f0
Merge pull request #592 from fsolla/plans/plan-issue-registrar-pedido
plan(B195): finalizar wizard Registrar pedido (A5) — campo único + título por IA
2026-08-10 12:03:40 -03:00
Francisco Solla
4dbba7c713 format(B195): prettier no plano 2026-08-10 12:01:39 -03:00
Francisco Solla
a97bf1a010 plan(B195): finalizar wizard Registrar pedido (A5) — campo único + título por IA 2026-08-10 11:59:06 -03:00
Francisco Solla
880235ce0f
Merge pull request #588 from fsolla/OPS27-worktree-new-worktree-generico-sem-funcao-pre-definida
OPS27: worktree new — worktree neutro sem função pré-definida
2026-08-10 11:57:48 -03:00
Francisco Solla
ee0f0554fa
Merge pull request #581 from fsolla/B193-card-de-municipio-mobile-composicao-densa-edit-where-yo
B193 — Card de município mobile: composição densa + edit-where-you-see + última atualização expandível
2026-08-10 11:48:43 -03:00
Francisco Solla
2bbc6a403e style(OPS27): prettier em AGENTS.md e worktree spec 2026-08-10 11:29:15 -03:00
Francisco Solla
da5dced89d style(OPS27): prettier no trabalho 2026-08-10 11:24:52 -03:00
Francisco Solla
06d34ed23b OPS27: worktree new — worktree neutro sem função pré-definida (work/<bag>) 2026-08-10 11:24:52 -03:00
Francisco Solla
2b8213eff6 test(B193): adapta o e2e C109 do main ao contrato do card novo — rodapé expandível após registrar
O teste C109 (merge do main via rebase) esperava o CTA 'Registrar atualização'
sempre visível no card; o card B193 troca o rodapé para a linha expandível
'Última atualização' após o primeiro registro (CTA dentro da expansão). A
cobertura da C109 (abrir/registrar/fechar/reabrir + sheet de nível) é mantida.
2026-08-10 11:23:49 -03:00
Francisco Solla
5d38bed12f test(B193): e2e robustos — cards ancorados pelo link exato do nome e C106 com timestamps determinísticos
- '?q=' casa prefixos de nome ('Coribe' também retorna 'São Félix do Coribe'):
  os cards B193 são ancorados por has:{ link do nome exato }.
- C106: os 8 updates seedados podiam compartilhar o mesmo now() de transação,
  tornando o sort -createdAt instável (flake '#8 no topo'); createdAt
  explícito e crescente.
2026-08-10 11:23:49 -03:00
Francisco Solla
b210939226 refactor(B193): simplify fixes pós-revisão — mapper único de updates, API de trigger uniforme, grupos de relação extraídos, hardening do sheet host
- Extrai toMunicipalityUpdateViewModel/loadUpdateAuthorNames compartilhados
  (feed + batch da lista); remove avatarClassName morto.
- MunicipalityRelationTriggerProps compartilhado nos 3 wrappers; triggerClassName
  no ExpectedVotesControl; ChipLabel/RelationGroup/CityDash no card.
- Sheet host: cleanup de unmount no overlay (sem drawer órfão), registerFooter
  valida open, branch nulo do handleOpenChange limpa footer; chrome freeze
  documentado.
- A11y/UX: ícone de alerta no rodapé frio (WCAG 1.4.1), iniciais de avatar
  aria-hidden, chip sem_base sem target morto, label da cidade com Tendência,
  aria-label da barra anuncia os 3 cenários, card layout 'colocação · votos'.
- E2E: settleStream no B184 (flake da cópia transitória do streaming), cards
  ancorados por hasText (q= casa prefixos), cor da borda via classe do token.
2026-08-10 11:23:49 -03:00
Francisco Solla
3d8dbae61f feat(B193): card de município mobile denso com edit-where-you-see e rodapé de atualização expandível
- Card denso (wireframe): posição de voto à direita, barra de cenários com
  marcador do ativo, chips classe/tendência/nível (label à esquerda), 3 grupos
  de avatares com wrap (um por entidade), rodapé Última atualização + chevron
  que expande revelando o último card de atualização + CTA registrar; sem
  atualização → CTA direto; prioridade = borda lateral direita 6px primary.
- Controles ganham prop trigger/triggerClassName (precedente RelationChipCell);
  MunicipalityRelationAvatarStack ganha modo wrap.
- C109 (sheet quebra ao abrir) corrigida: sessões do sheet host keyed por id
  (imune à identidade dos callbacks recriados por render) e footer customizado
  renderizado pelo host dentro da árvore do Drawer (portal perdia o Dialog
  context — reproduzido digitando no sheet).
- Dado: MunicipalityListViewModel.lastUpdate (batch por página, scoped).
- E2E novos (barra/votos, chip nível, borda prioridade, expansão/CTA vazio).
Sem migration/access/Consent.
2026-08-10 11:23:49 -03:00
Francisco Solla
dc2f76e1a1
Merge pull request #590 from fsolla/plans/plan-issue-26
plans(C110): feedback visual do arrasto da agenda mobile
2026-08-10 11:19:32 -03:00
Francisco Solla
7f7eaa8e58 plans(C110): feedback visual do arrasto da agenda mobile (reveal do período adjacente + commit/snap-back) 2026-08-10 11:16:01 -03:00
Francisco Solla
4551a4e997
Merge pull request #583 from fsolla/OPS26-worktree-go-abre-o-opencode-com-pre-selecoes-deepseek-
OPS26: worktree next/plan no terminal abrem o opencode com presets (DeepSeek V4 Flash, auto-approve, skill inicial)
2026-08-10 11:11:56 -03:00
Francisco Solla
3550c1ba4f
Merge pull request #587 from fsolla/plans/plan-issue-23
plans(OPS28-30): flaky e2e — seed no worktree, estado vazio do suggest, hardening dev
2026-08-10 11:10:40 -03:00
Francisco Solla
b95682da9f plans(OPS28-30): flaky e2e — paridade de seed no worktree, estado vazio do suggest, hardening dev compile-frio (Related #584 #585 #586) 2026-08-10 11:07:25 -03:00
Francisco Solla
da20ed6190 refactor(OPS26): simplify fixes do /simplify — marcador TEQO_ prefixado, helper printLaunchDirective, IFS pinado no launch, docs reconciliadas 2026-08-10 10:58:55 -03:00
Francisco Solla
344fe843df feat(OPS26): worktree next/plan no terminal abrem o opencode com presets (modelo deepseek-v4-flash, auto-approve, skill inicial) 2026-08-10 10:51:19 -03:00
Francisco Solla
865c451f6f
Merge pull request #579 from fsolla/OPS25-opencode-comandos-work-issue-e-plan-issue-atalho-diret
OPS25: comandos opencode /work-issue e /plan-issue (atalho direto às skills)
2026-08-10 10:34:59 -03:00
Francisco Solla
7a4279b281 feat(OPS25): comandos opencode /work-issue e /plan-issue como atalhos diretos às skills
Dois comandos novos (.opencode/commands/) que instruem o agente a
carregar a skill de mesmo nome pela ferramenta de skills e seguir o
fluxo dela ponta a ponta, com $ARGUMENTS repassado. Frontmatter com
description (autocomplete do TUI) e model deepseek/deepseek-v4-flash
(alinhado ao launch da OPS26). Guard unit pina o acoplamento
comando↔skill para renomes não quebrarem silenciosamente.
2026-08-10 10:25:26 -03:00
Francisco Solla
ab35996f14
Merge pull request #578 from fsolla/OPS24-worktree-cli-go-vira-o-padrao-escape-stay-kill-volta-a
OPS24 — Worktree CLI: --go vira o padrão (escape --stay) + kill volta ao main
2026-08-10 10:23:36 -03:00