Commit graph

847 commits

Author SHA1 Message Date
Francisco Solla
1f31d1b628 test(OPS35): modo e2e full-stack sem browser (paradigma HTTP) + migração da família Territórios (Closes #600) 2026-08-10 19:30:29 -03:00
Francisco Solla
b4278f1632
Merge pull request #620 from fsolla/C110-agenda-mobile-feedback-visual-do-arrasto-reveal-do-peri
plans(C110+): UX pós-critique do preview do arrasto da agenda
2026-08-10 22:24:54 +00:00
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
0047d2637c ops28(OPS28): worktrees rodam o seed mínimo no provisionamento — e2e local espelha a CI
- scripts/worktree.mjs: provision() aplica migrate + db:seed:minimal nos
  bancos dev e test (paridade com a CI, que roda o par antes do e2e);
  --no-migrate pula os dois (o seed depende do catálogo migrado); fallback
  sem Docker também migra+seeda o teqo/teqo_test compartilhado (com warning
  de sobrescrita dos pins).
- Guard de regressão tests/e2e/seedParity.setup.e2e.spec.ts no projeto setup:
  falha cedo com mensagem clara se o banco de teste não estiver seedado;
  evidência = users do seed (MINIMAL_CAMPAIGN_USERS), não os pins de priority
  — o cleanup dos fixtures e2e reseta priority por round-robin persistente.
- scripts/lib/test-affected-core.mjs: scripts/worktree.mjs em HIGH_RISK_EXACT.
- Docs: AGENTS.md, skill local-database, CHANGELOG-AGENTS.md, impl plan.

Closes #584
2026-08-10 16:11:27 -03:00
Francisco Solla
91a0aca5f0
Merge pull request #613 from fsolla/OPS34-ci-e2e-paralelizar-o-job-cadeia-serial-so-em-dev-shard
refactor(OPS34): fixes do /simplify — fallback e2e_shards, timeout webServer, pin anti-drift
2026-08-10 15:58:10 -03:00
Francisco Solla
4ae8f96242 refactor(OPS34): fixes do /simplify — fallback e2e_shards, timeout webServer CI-only, pin anti-drift, docs 2026-08-10 15:37:11 -03:00
Francisco Solla
b9c0bf639b
Merge pull request #612 from fsolla/OPS34-ci-e2e-paralelizar-o-job-cadeia-serial-so-em-dev-shard
docs(OPS34): medição pós-merge do job e2e no changelog
2026-08-10 15:26:43 -03:00
Francisco Solla
2850733579 docs(OPS34): medição pós-merge do job e2e (shards 326/369s) no changelog 2026-08-10 15:25:06 -03:00
Francisco Solla
97be0c28d6
Merge pull request #611 from fsolla/OPS34-ci-e2e-paralelizar-o-job-cadeia-serial-so-em-dev-shard
chore(OPS34): e2e CI em 2 shards e cadeia de projetos dev-only
2026-08-10 15:07:51 -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
f955c6a7fe chore(OPS34): e2e CI em 2 shards e cadeia de projetos dev-only (Closes #599) 2026-08-10 14:39:39 -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
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
06d34ed23b OPS27: worktree new — worktree neutro sem função pré-definida (work/<bag>) 2026-08-10 11:24:52 -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
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
152d0a1473 OPS24: worktree CLI default-go (--stay escape) + kill volta ao main
next/plan imprimem 'cd <dir>' na última linha por padrão; --stay suprime;
--go segue aceito como no-op. kill imprime 'cd <main>' como última linha
(depois do drop dos bancos) e recusa --stay. Superfícies: worktree.sh
aplica o cd por padrão; comando /worktree do opencode idem. Docs
(AGENTS.md, skills, CHANGELOG) atualizadas.
2026-08-10 10:21:08 -03:00