Francisco Solla
456c088d36
plan(OPS66): deploy — build de geração estática lê schema novo antes do passo migrate
PR Ready + auto-merge / ready-automerge (pull_request) Failing after 3m3s
CI (PR) / scope (pull_request) Successful in 54s
CI (PR) / lint (pull_request) Successful in 55s
CI (PR) / docs-guards (pull_request) Successful in 9s
CI (PR) / plans-only-closes (pull_request) Successful in 8s
CI (PR) / format (pull_request) Successful in 1m6s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 2s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 12s
Agent pool supervisor / tick (pull_request) Successful in 29s
2026-08-18 17:08:28 -03:00
Francisco Solla
085a69e6e1
docs(S6-FOLLOWUP): plano com evidência empírica do bug de filtros do Playwright (-- e -g)
CI / static (push) Successful in 2m24s
CI / int (push) Successful in 2m38s
CI / build (push) Successful in 3m29s
CI / e2e (1) (push) Successful in 6m9s
CI / e2e (2) (push) Successful in 5m51s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Failing after 3m59s
2026-08-18 19:32:50 +00:00
Francisco Solla
cacb6165ad
feat(S6): home de campanha sem carrossel no desktop — grade estática em ≥1024px, mobile preservado
2026-08-18 19:32:50 +00:00
Francisco Solla
8cc9e078ae
plan(OPS65): CI do main em janela de 30 min + matar o agent-pool
CI / static (push) Successful in 2m45s
CI / int (push) Successful in 2m59s
CI / build (push) Successful in 3m57s
CI / e2e (1) (push) Successful in 4m34s
CI / e2e (2) (push) Successful in 5m4s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Failing after 3m36s
2026-08-18 19:10:18 +00:00
Francisco Solla
fe5b11cf24
feat(S2): seção de conteúdos da home de campanha inclui os vídeos do YouTube
...
CI (PR) / e2e (1) (pull_request) Successful in 5m9s
CI / build (push) Successful in 2m20s
CI (PR) / e2e (2) (pull_request) Successful in 5m18s
PR Ready + auto-merge / ready-automerge (pull_request) Failing after 30m17s
CI / e2e (1) (push) Successful in 4m5s
CI (PR) / scope (pull_request) Successful in 32s
CI / deploy homeserver (teqo-1313) (push) Has been cancelled
CI (PR) / lint (pull_request) Successful in 42s
CI (PR) / cycles (pull_request) Successful in 34s
CI (PR) / format (pull_request) Successful in 55s
CI (PR) / docs-guards (pull_request) Successful in 8s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
CI (PR) / typecheck (pull_request) Successful in 30s
CI (PR) / knip (pull_request) Successful in 31s
CI (PR) / unit (pull_request) Successful in 50s
CI (PR) / checks (pull_request) Successful in 2s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Agent pool supervisor / tick (pull_request) Successful in 27s
CI / static (push) Successful in 1m48s
CI / e2e (2) (push) Successful in 4m7s
CI (PR) / int (pull_request) Successful in 1m49s
CI / int (push) Successful in 1m57s
CI / checks (push) Successful in 2s
CI (PR) / build (pull_request) Successful in 2m31s
Board "Acompanhe de perto" (S1) ganha o feed automático do canal oficial:
global SocialFeedSettings (admin-only, kill switch + toggle + maxItems +
exclusões por item), loader src/utilities/youtubeFeed.ts (Data API v3
search→statistics, unstable_cache tag social-feed + revalidate 300,
fail-closed com snapshot persistido via SQL direto — revalidateTag dentro
de unstable_cache lança no Next 15.4), card generalizado
(CampaignArticleCard → CampaignContentCard, external com noopener) e merge
por recência com o grande = mais recente elegível. Stub HTTP do YouTube no
webServer do Playwright (porta dev+1000) + 4 e2e novos no describe serial.
Migration 20260818_111748_add_social_feed_settings (não destrutiva).
Closes #18
2026-08-18 15:23:50 -03:00
Francisco Solla
50749270d6
style: prettier nos planos OPS62/OPS63
CI / static (push) Successful in 2m5s
CI / int (push) Successful in 2m12s
CI / build (push) Successful in 3m25s
CI / e2e (1) (push) Successful in 5m3s
CI / e2e (2) (push) Successful in 4m0s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Successful in 35s
2026-08-18 18:17:08 +00:00
Francisco Solla
d5f48ea9db
plan(OPS62): CI fail-fast no Forgejo — upgrade do servidor + watchdog cancela o run em qualquer job vermelho
...
plan(OPS63): doc-guard no pre-push — changelog append-only, agregado e marcadores de conflito no gate local
2026-08-18 18:17:08 +00:00
Francisco Solla
7bd9c9504f
ops(OPS59): pre-push sem e2e — e2e roda uma vez, no CI (gate local fica com os outros testes)
CI / static (push) Successful in 1m56s
CI / int (push) Successful in 2m3s
CI / build (push) Successful in 2m20s
CI / e2e (1) (push) Successful in 5m11s
CI / e2e (2) (push) Successful in 4m38s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Successful in 8m16s
2026-08-18 17:56:41 +00:00
Francisco Solla
a60b3880ca
feat(S5): banda visual própria para a seção 'Acompanhe de perto' na home
CI (PR) / scope (pull_request) Successful in 44s
CI (PR) / lint (pull_request) Successful in 1m3s
CI (PR) / format (pull_request) Successful in 1m16s
CI (PR) / docs-guards (pull_request) Successful in 9s
CI (PR) / plans-only-closes (pull_request) Successful in 9s
CI (PR) / typecheck (pull_request) Successful in 48s
CI (PR) / knip (pull_request) Successful in 51s
CI (PR) / cycles (pull_request) Successful in 50s
CI (PR) / unit (pull_request) Successful in 1m19s
CI (PR) / int (pull_request) Successful in 2m41s
CI (PR) / e2e (1) (pull_request) Failing after 2s
PR Ready + auto-merge / ready-automerge (pull_request) Failing after 9m19s
CI (PR) / build (pull_request) Successful in 3m44s
CI (PR) / e2e (2) (pull_request) Successful in 1m24s
CI (PR) / checks (pull_request) Successful in 2s
2026-08-18 13:35:53 -03:00
Francisco Solla
228d5da9c8
ops(OPS52-media-guard): reconcile do media:recover exige MEDIA_RECOVER_CONFIRM=1 (guard de intenção explícita)
CI (PR) / scope (pull_request) Successful in 32s
CI (PR) / lint (pull_request) Successful in 46s
CI (PR) / docs-guards (pull_request) Successful in 9s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / format (pull_request) Successful in 47s
CI (PR) / typecheck (pull_request) Successful in 28s
CI (PR) / knip (pull_request) Successful in 32s
CI (PR) / cycles (pull_request) Successful in 34s
CI (PR) / unit (pull_request) Successful in 45s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / int (pull_request) Successful in 1m34s
CI (PR) / checks (pull_request) Successful in 1s
PR Ready + auto-merge / ready-automerge (pull_request) Failing after 19m21s
CI / checks (push) Blocked by required conditions
CI / deploy homeserver (teqo-1313) (push) Blocked by required conditions
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Agent pool supervisor / tick (pull_request) Successful in 29s
CI / static (push) Successful in 2m15s
CI / int (push) Successful in 2m48s
CI / build (push) Successful in 2m37s
CI / e2e (2) (push) Successful in 5m56s
CI / e2e (1) (push) Failing after 17m21s
2026-08-18 12:45:32 -03:00
Francisco Solla
1dfad8ac99
docs(OPS61): evidência da raça do waitForChecks (merge com CI vermelho na PR #52 ) absorvida no plano
CI / deploy homeserver (teqo-1313) (push) Blocked by required conditions
CI / checks (push) Blocked by required conditions
CI / static (push) Successful in 3m21s
CI / int (push) Successful in 3m47s
CI / build (push) Successful in 4m48s
CI / e2e (2) (push) Failing after 20m11s
CI / e2e (1) (push) Failing after 22m41s
2026-08-18 15:38:44 +00:00
Francisco Solla
7b8e37e162
fix(ops OPS57): simplify — veto de draft vale em conversão mid-run; CLI valida base main; docs sem mecanismo fantasma
CI / static (push) Successful in 4m6s
CI / int (push) Successful in 4m17s
CI / build (push) Successful in 5m23s
CI / e2e (1) (push) Successful in 9m28s
CI / e2e (2) (push) Has been cancelled
CI / deploy homeserver (teqo-1313) (push) Has been cancelled
CI / checks (push) Has been cancelled
2026-08-18 15:24:21 +00:00
Francisco Solla
393b8c9991
ops(OPS58): seed de posts com dry-run e taxonomy atualizada — sync de prod com runbook
...
CI (PR) / scope (pull_request) Successful in 50s
CI (PR) / docs-guards (pull_request) Successful in 9s
CI (PR) / lint (pull_request) Successful in 1m9s
CI (PR) / plans-only-closes (pull_request) Successful in 10s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / format (pull_request) Successful in 1m21s
CI (PR) / int (pull_request) Has been skipped
PR Ready + auto-merge / ready-automerge (pull_request) Successful in 1m32s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 16s
Agent pool supervisor / tick (pull_request) Successful in 47s
CI / static (push) Successful in 3m42s
CI / int (push) Successful in 4m5s
CI (PR) / checks (pull_request) Successful in 3s
CI / build (push) Successful in 5m11s
CI / e2e (1) (push) Has been cancelled
CI / e2e (2) (push) Has been cancelled
CI / checks (push) Has been cancelled
CI / deploy homeserver (teqo-1313) (push) Has been cancelled
- scripts/seed-posts.mjs: modo --dry-run (plan-only, echo do alvo, zero
escrita) e 4 slugs novos no CLASSIFICATION (3 com tag eleitoral — lock de
visibilidade eleitoral do repo)
- docs: impl plan com runbook do homeserver, changelog, nota AGENTS.md
2026-08-18 12:15:05 -03:00
Francisco Solla
87a81c29fd
chore(ops OPS57): alargar o gatilho do forgejo-pr-automerge para todas as PRs same-repo (draft não-cursor/* = veto)
CI (PR) / scope (pull_request) Successful in 41s
PR Ready + auto-merge / ready-automerge (pull_request) Successful in 1m20s
CI (PR) / docs-guards (pull_request) Successful in 10s
CI (PR) / plans-only-closes (pull_request) Successful in 9s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 16s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
CI (PR) / lint (pull_request) Successful in 1m5s
Agent pool supervisor / tick (pull_request) Successful in 43s
CI (PR) / format (pull_request) Successful in 1m19s
CI / static (push) Successful in 3m39s
CI / int (push) Successful in 3m57s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 2s
CI / build (push) Successful in 5m14s
CI / e2e (1) (push) Successful in 7m58s
CI / e2e (2) (push) Successful in 6m27s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Successful in 4m44s
2026-08-18 11:50:48 -03:00
Francisco Solla
094dbe6b5d
plan(OPS59): pre-push sem e2e — e2e roda uma vez no CI
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 8s
CI (PR) / plans-only-closes (pull_request) Successful in 8s
CI (PR) / scope (pull_request) Successful in 46s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / lint (pull_request) Successful in 1m3s
CI (PR) / format (pull_request) Successful in 1m17s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 2s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 16s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 15s
Agent pool supervisor / tick (pull_request) Successful in 43s
CI / static (push) Successful in 3m13s
CI / int (push) Successful in 3m27s
CI / build (push) Successful in 4m36s
CI / e2e (2) (push) Has been cancelled
CI / e2e (1) (push) Has been cancelled
CI / checks (push) Has been cancelled
CI / deploy homeserver (teqo-1313) (push) Has been cancelled
2026-08-18 11:45:03 -03:00
Francisco Solla
71cf477f6e
plan(OPS58): atualizar artigos de produção com novos posts do jorgesolla.com.br
CI / static (push) Successful in 2m14s
CI / int (push) Successful in 2m37s
CI / build (push) Successful in 3m39s
CI / e2e (1) (push) Successful in 5m42s
CI / e2e (2) (push) Successful in 4m53s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Successful in 4m52s
2026-08-18 14:32:00 +00:00
Francisco Solla
b78a390371
fix(ops OPS56): forgejo-pr-automerge — veredito de merge por re-read do PR (falso positivo 'já mergeado' com PR aberto)
CI / static (push) Successful in 2m4s
CI / int (push) Successful in 2m21s
CI / e2e (2) (push) Has been cancelled
CI / e2e (1) (push) Has been cancelled
CI / build (push) Has been cancelled
CI / deploy homeserver (teqo-1313) (push) Has been cancelled
CI / checks (push) Has been cancelled
2026-08-18 14:28:54 +00:00
Francisco Solla
f12bd6474b
docs(OPS52-media): runbook atualizado com o fix de infra real (E3 = firewall do host; 38/40 servindo 200)
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 8s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / scope (pull_request) Successful in 35s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / lint (pull_request) Successful in 48s
CI (PR) / format (pull_request) Successful in 57s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 2s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
Agent pool supervisor / tick (pull_request) Successful in 31s
CI / static (push) Successful in 2m2s
CI / int (push) Successful in 2m23s
CI / build (push) Successful in 3m40s
CI / e2e (1) (push) Successful in 5m13s
CI / e2e (2) (push) Successful in 4m12s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Successful in 4m47s
2026-08-18 10:45:27 -03:00
Francisco Solla
64ea0dbab9
ops(OPS54): allowlist onlyBuiltDependencies migra para pnpm-workspace.yaml — fim do warning do pnpm 10 sobre o campo pnpm ignorado
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 8s
CI (PR) / scope (pull_request) Successful in 34s
CI (PR) / lint (pull_request) Successful in 46s
CI (PR) / format (pull_request) Successful in 56s
CI (PR) / typecheck (pull_request) Successful in 38s
CI (PR) / knip (pull_request) Successful in 39s
CI (PR) / cycles (pull_request) Successful in 37s
CI (PR) / unit (pull_request) Successful in 53s
CI (PR) / int (pull_request) Successful in 2m37s
CI (PR) / build (pull_request) Successful in 3m39s
CI (PR) / e2e (2) (pull_request) Successful in 5m25s
CI (PR) / e2e (1) (pull_request) Successful in 5m43s
CI (PR) / checks (pull_request) Successful in 1s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
Agent pool supervisor / tick (pull_request) Successful in 34s
CI / static (push) Successful in 2m35s
CI / int (push) Successful in 2m45s
CI / build (push) Successful in 3m31s
CI / e2e (1) (push) Successful in 5m28s
CI / e2e (2) (push) Successful in 4m14s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Successful in 8m57s
2026-08-18 09:06:37 -03:00
Francisco Solla
45e29a7785
feat(OPS52-media): recupera os objetos de media de produção do WordPress para o bucket (pnpm media:recover)
...
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 8s
CI (PR) / scope (pull_request) Successful in 51s
CI (PR) / lint (pull_request) Successful in 1m4s
CI (PR) / format (pull_request) Successful in 1m14s
CI (PR) / typecheck (pull_request) Successful in 39s
CI (PR) / knip (pull_request) Successful in 40s
CI (PR) / cycles (pull_request) Successful in 39s
CI (PR) / unit (pull_request) Successful in 1m0s
CI (PR) / int (pull_request) Successful in 2m39s
CI (PR) / build (pull_request) Successful in 4m2s
CI (PR) / e2e (2) (pull_request) Successful in 6m2s
CI / e2e (1) (push) Successful in 6m39s
CI (PR) / e2e (1) (pull_request) Successful in 7m26s
CI (PR) / checks (pull_request) Successful in 7s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 19s
Agent pool supervisor / tick (pull_request) Successful in 42s
CI / int (push) Successful in 2m52s
CI / static (push) Successful in 2m57s
CI / build (push) Successful in 3m52s
CI / e2e (2) (push) Successful in 5m34s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Successful in 8m27s
- scripts/recover-media.mjs: CLI de reconciliação (reconcile/--dry-run/--verify)
— lê rows de media + posts.coverImage, resolve a capa com a mesma lógica do
seed (featured media, senão 1ª imagem inline), PutObject com key = filename;
DB nunca escrito; fail-closed (S3_* completas, ALLOW_REMOTE_DB, echo do alvo,
timeouts curtos, covers só do origin WP e image/*)
- scripts/lib/wpArticles.mjs: fetch ao vivo do WordPress extraído do seed
(sem twin), helpers puros de resolução + row→cover mapping (unit-testados)
- seed-posts.mjs: importa o fetch da lib (comportamento idêntico) e usa
resolveCoverSource em processContent
- runbook de execução no homeserver (impl plan), nota no AGENTS.md, changelog
Closes #10
2026-08-18 08:20:45 -03:00
Francisco Solla
fbe3da1acf
style(plans S6): prettier no rascunho UI
CI / static (push) Successful in 2m39s
CI / int (push) Successful in 3m2s
CI / build (push) Successful in 3m57s
CI / e2e (1) (push) Successful in 5m53s
CI / e2e (2) (push) Successful in 4m14s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Successful in 30s
2026-08-18 10:59:57 +00:00
Francisco Solla
c3dde67e91
plan(S6): home de campanha sem carrossel no desktop — grade 3x2 nas bandeiras
2026-08-18 10:59:57 +00:00
Francisco Solla
a4ae631157
plans(S5): separação visual da seção Acompanhe de perto (Related #33 )
CI / static (push) Successful in 1m58s
CI / int (push) Successful in 2m9s
CI / build (push) Has been cancelled
CI / e2e (2) (push) Has been cancelled
CI / e2e (1) (push) Has been cancelled
CI / deploy homeserver (teqo-1313) (push) Has been cancelled
CI / checks (push) Has been cancelled
2026-08-18 10:56:23 +00:00
Francisco Solla
ffab9e97fb
plan(OPS52-media): recuperar arquivos de media de produção (capas dos artigos)
CI / static (push) Successful in 2m0s
CI / int (push) Successful in 2m13s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 2s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI / build (push) Successful in 3m45s
CI (PR) / scope (pull_request) Successful in 31s
CI / e2e (1) (push) Successful in 5m26s
CI (PR) / lint (pull_request) Successful in 42s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 14s
CI (PR) / format (pull_request) Successful in 53s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 12s
CI / e2e (2) (push) Successful in 3m58s
CI / deploy homeserver (teqo-1313) (push) Successful in 31s
Agent pool supervisor / tick (pull_request) Successful in 31s
CI / checks (push) Successful in 1s
2026-08-18 07:26:11 -03:00
Francisco Solla
beea467816
fix(S1): revert revalidate=300 — trava o bust por tag no Next 15.4 prod
...
CI / static (push) Successful in 1m55s
CI / int (push) Successful in 2m2s
CI / build (push) Successful in 2m53s
CI / e2e (1) (push) Successful in 4m12s
CI / e2e (2) (push) Successful in 3m39s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Successful in 4m54s
Medido em probe: com export const revalidate, revalidateTag('posts') para
de regenerar a home (a rota /artigos, sem o export, convergia; a home
ficava stale para sempre). Remove o export e resolve o congelamento da
label relativa por threshold: relativa < 48h, data absoluta além (nunca
mente congelada). Spec: polling positivo do HTML da home pós-revalidate
(ISR serve stale uma vez sob carga) e about:blank antes do cleanup
(prefetch prod de links apagados = 404 no guard).
2026-08-18 05:07:26 +00:00
Francisco Solla
41dbb564c6
feat(S1): seção de conteúdos na home de campanha (artigos)
...
Bento 1+4 no desktop e carrossel 1/tela no mobile (~390px) lendo o post
collection com isPostVisible fail-closed; seção some inteira sem posts
visíveis. Zero migration/Consent; home vira ISR com tag posts +
revalidate=300 (label relativa não congela).
2026-08-18 05:07:26 +00:00
54058da059
OPS52 — Migrar a media de produção do Vercel Blob para o Garage S3
...
CI / static (push) Successful in 2m19s
CI / int (push) Successful in 2m21s
CI / build (push) Successful in 3m11s
CI / e2e (1) (push) Successful in 4m49s
CI / e2e (2) (push) Successful in 4m12s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Successful in 8m54s
Merge pull request #27 from fsolla/OPS52-migrar-a-media-de-producao-do-vercel-blob-para-o-garag
OPS52 — Migrar a media de produção do Vercel Blob para o Garage S3 (Closes #3 )
2026-08-18 02:45:52 +00:00
Francisco Solla
a34cd9b68a
fix(ops OPS53): deploy — compose run consome o stdin do bash -s (migrate com </dev/null); build via --network host + proxy socat (BuildKit recusa rede bridge custom)
CI / static (push) Successful in 2m5s
CI / int (push) Successful in 2m18s
CI / build (push) Successful in 3m17s
CI / e2e (1) (push) Successful in 5m28s
CI / e2e (2) (push) Successful in 4m35s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Successful in 4m39s
2026-08-18 01:59:17 +00:00
Francisco Solla
dabc00f46c
ops(OPS52): migra a media de produção do Vercel Blob para o Garage S3
...
- payload.config.ts: vercelBlobStorage -> s3Storage (@payloadcms/storage-s3)
com endpoint Garage (forcePathStyle, region garage); bucket privado — o
staticHandler do plugin streama os objetos em /api/media/file/<filename>,
mantendo o contrato de URL relativa das 40 rows pré-existentes
- src/utilities/mediaStorage.ts: resolveS3StorageEnv fail-closed (S3_* parcial
-> throw no boot com a lista exata; nenhuma -> storage local dev/test)
- seed-posts: remove pre-delete do @vercel/blob (S3 sobrescreve nativamente)
- worktree-env.mjs: s3EnvCopiedLines all-or-nothing (unit-testada)
- envs S3_BUCKET/S3_ENDPOINT/S3_REGION/S3_ACCESS_KEY_ID/S3_SECRET_ACCESS_KEY
no .env.example/.env.test; cloud-setup.sh sem o sed morto do blob
- deps: -storage-vercel-blob -@vercel/blob +storage-s3; importMap regenerado
- docs: impl plan (revisão A->B: Garage v2 sem acesso anônimo na API S3),
AGENTS.md, changelog 2026-08-18-ops52
2026-08-17 22:36:34 -03:00
Francisco Solla
0aec0d5040
feat(PUB5): slogan 'Mais saúde mais futuro' no hero e rodapé
CI / e2e (1) (push) Successful in 11m3s
CI / static (push) Successful in 2m8s
CI / int (push) Successful in 2m15s
CI / build (push) Successful in 2m58s
CI / e2e (2) (push) Successful in 4m41s
CI / checks (push) Successful in 2s
CI / deploy homeserver (teqo-1313) (push) Failing after 5s
2026-08-18 01:31:28 +00:00
Francisco Solla
8854fcb85b
style(plans S1-S4): prettier nos planos e no rascunho UI (format pós-commit do lote)
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / scope (pull_request) Successful in 1m2s
Agent pool supervisor / tick (pull_request) Successful in 40s
CI (PR) / lint (pull_request) Successful in 1m18s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 16s
CI (PR) / format (pull_request) Successful in 1m27s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 15s
CI / static (push) Successful in 2m22s
CI / int (push) Successful in 2m38s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI / build (push) Successful in 3m40s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 2s
CI / e2e (1) (push) Successful in 6m3s
CI / e2e (2) (push) Successful in 5m11s
CI / checks (push) Successful in 1s
CI / deploy homeserver (teqo-1313) (push) Failing after 10s
2026-08-17 22:02:14 -03:00
Francisco Solla
02c922eac8
docs(ops OPS53): falha conhecida do runner — PATH dos containers quebra com runner.envs.PATH só de host
CI / static (push) Failing after 1m24s
CI / int (push) Successful in 2m39s
CI / build (push) Successful in 3m47s
CI / e2e (2) (push) Successful in 5m45s
CI / e2e (1) (push) Successful in 7m24s
CI / checks (push) Failing after 4s
CI / deploy homeserver (teqo-1313) (push) Has been skipped
2026-08-18 00:50:41 +00:00
Francisco Solla
6a3f61f968
ops(OPS53): etapa de deploy no CI para o homeserver (teqo-1313)
...
Job deploy em ci.yml (runs-on host na workstation) streama
scripts/deploy-homeserver.sh para o homeserver via SSH: build dos stages
runner+migrator com secrets do teqo-1313.env, push no registry local,
migrate pelo serviço de maintenance antes do rollout, up + smoke. Zero
secrets novos no Forgejo; HEAD guard + flock; rollback automático com
backup do compose; runbook docs/ops/teqo-1313-deploy.md; invariantes
unit do script (bash -n + estrutura).
2026-08-18 00:50:41 +00:00
Francisco Solla
87410ccc63
plan(S1-S4): seção de conteúdos na home de campanha — artigos, YouTube, Instagram + compartilhar WhatsApp
CI / int (push) Failing after 2s
CI / static (push) Failing after 1m41s
CI / e2e (1) (push) Has been cancelled
CI / build (push) Has been cancelled
CI / e2e (2) (push) Has been cancelled
CI / checks (push) Has been cancelled
2026-08-18 00:47:52 +00:00
Francisco Solla
346da3896e
style(plan): prettier no rascunho UI do PUB5
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 10s
CI (PR) / plans-only-closes (pull_request) Successful in 11s
CI (PR) / scope (pull_request) Successful in 57s
CI (PR) / lint (pull_request) Successful in 1m5s
Agent pool supervisor / tick (pull_request) Successful in 40s
CI (PR) / format (pull_request) Successful in 1m14s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 20s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 16s
CI / static (push) Successful in 2m30s
CI / int (push) Successful in 2m50s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 1s
CI / build (push) Successful in 3m41s
CI / e2e (1) (push) Successful in 7m51s
CI / e2e (2) (push) Successful in 5m54s
CI / checks (push) Successful in 1s
2026-08-17 21:34:27 -03:00
Francisco Solla
220142cc75
plan(PUB5): slogan da campanha 'Mais saúde mais futuro' no hero e rodapé
2026-08-17 21:33:12 -03:00
Francisco Solla
dfd57344e3
plan(OPS54): silencia o warning do pnpm sobre pnpm.onlyBuiltDependencies ignorado
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / scope (pull_request) Successful in 31s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / lint (pull_request) Successful in 40s
CI (PR) / format (pull_request) Successful in 49s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 1s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 14s
Agent pool supervisor / tick (pull_request) Successful in 41s
CI / static (push) Successful in 1m52s
CI / int (push) Successful in 2m6s
CI / build (push) Successful in 2m54s
CI / e2e (1) (push) Successful in 4m30s
CI / e2e (2) (push) Successful in 3m57s
CI / checks (push) Successful in 1s
2026-08-17 21:03:43 -03:00
Francisco Solla
e03ba1f83b
ops(OPS51): migra o banco de produção do Neon para o Postgres do homeserver (teqo_1313)
...
CI / static (push) Successful in 1m45s
CI / int (push) Successful in 2m2s
CI / build (push) Successful in 2m38s
CI / e2e (1) (push) Successful in 4m10s
CI / e2e (2) (push) Successful in 3m39s
CI / checks (push) Successful in 1s
Dump pg_dump -Fc do Neon no homeserver (/srv/hdd/backups/teqo-neon-pre-migracao/),
restore como a role teqo_1313 (o container já lia o banco preparado — sem mudança
de config). Neon intacto como rollback. Divergência da intenção (A/B validada como
B): destino = teqo_1313, não teqo_prod. Débito de media registrado (#10 → OPS52).
2026-08-17 22:41:18 +00:00
Francisco Solla
5afb54b692
chore(OPS53): prettier no plano
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 12s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Successful in 12s
Agent pool supervisor / tick (pull_request) Successful in 29s
CI / static (push) Successful in 1m41s
CI / int (push) Successful in 1m55s
CI / build (push) Successful in 2m37s
CI / e2e (1) (push) Successful in 4m8s
CI / e2e (2) (push) Successful in 3m43s
CI / checks (push) Successful in 1s
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / scope (pull_request) Successful in 30s
CI (PR) / lint (pull_request) Successful in 43s
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / format (pull_request) Successful in 53s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Successful in 1s
2026-08-17 16:06:05 -03:00
Francisco Solla
8cc4900cf0
plan(OPS53): etapa de deploy no CI para o homeserver (container teqo-1313)
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / scope (pull_request) Successful in 31s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / lint (pull_request) Successful in 42s
CI (PR) / format (pull_request) Failing after 48s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Failing after 1s
2026-08-17 16:01:21 -03:00
Francisco Solla
f151376641
ops(OPS50): remove deploy Vercel do pipeline — produção é self-hosted no homeserver (jorgesolla1313.com.br); ci.yml vira verificador puro (sem deploy/requeue), apaga vercel-promote.yml, scripts/tests/vercel.json e secrets VERCEL_*
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
CI (PR) / scope (pull_request) Successful in 32s
CI (PR) / lint (pull_request) Successful in 40s
CI (PR) / format (pull_request) Failing after 47s
CI (PR) / typecheck (pull_request) Successful in 31s
CI (PR) / knip (pull_request) Successful in 32s
CI (PR) / cycles (pull_request) Successful in 32s
CI (PR) / unit (pull_request) Successful in 46s
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (1) (pull_request) Has been skipped
CI (PR) / e2e (2) (pull_request) Has been skipped
CI (PR) / checks (pull_request) Failing after 1s
2026-08-17 13:17:17 -03:00
Francisco Solla
2f538e396b
OPS50: ajusta changelog ao formato prettier
2026-08-16 23:34:28 -03:00
Francisco Solla
f20305759a
OPS50: port CI e scripts de agentes do GitHub para o Forgejo
...
Workflows nativos em .forgejo/workflows/ (ci, ci-pr, agent-pool,
automerge, issue-transition, plan-issue, vercel-promote, archive),
removendo .github/workflows e .github/actions. Runner Forgejo v13 com
services Postgres por porta + DB_HOST via gateway do bridge. Libs de
agente sobre o novo cliente forgejo-api.mjs (zero dependências,
GITHUB_SERVER_URL/FORGEJO_API_URL), helpers de workflow plain-Node.
pnpm issue corrigido (await em função sync) e validado ao vivo. Testes:
forgejoApi.unit.spec.ts novo, pin do matrix do ci.yml atualizado.
Closes #1 (parte 1 — docs/issues/pool seguem na parte 2)
2026-08-16 23:32:20 -03:00
Francisco Solla
8d16b8a0cb
plan(OPS50-52): planos de intenção — CI Forgejo, DB Neon→homeserver, Blob→Garage
...
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / scope (pull_request) Failing after 4s
CI (PR) / lint (pull_request) Failing after 3s
CI (PR) / format (pull_request) Failing after 4s
CI (PR) / docs-guards (pull_request) Failing after 3s
CI (PR) / plans-only-closes (pull_request) Failing after 4s
CI (PR) / typecheck (pull_request) Has been skipped
CI (PR) / knip (pull_request) Has been skipped
CI (PR) / cycles (pull_request) Has been skipped
CI (PR) / unit (pull_request) Has been skipped
CI (PR) / int (pull_request) Has been skipped
CI (PR) / build (pull_request) Has been skipped
CI (PR) / e2e (pull_request) Has been skipped
CI (PR) / checks (pull_request) Failing after 2s
Agent pool supervisor / tick (pull_request) Failing after 5s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Failing after 3s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Failing after 3s
CI / static (push) Failing after 3s
CI / int (push) Failing after 4s
CI / build (push) Failing after 3s
CI / e2e (2) (push) Failing after 3s
CI / checks (push) Failing after 2s
CI / deploy (push) Has been skipped
CI / requeue (push) Failing after 4s
CI / e2e (1) (push) Failing after 4s
Related #1 #2 #3
2026-08-16 21:54:25 -03:00
Francisco Solla
665157a0c0
feat(site): hero da campanha responsivo aos boards do Penpot
...
A primeira dobra da home pública agora acompanha as referências do Penpot
em 393, 768, 1024, 1280, 1366 e 1920 px. No desktop, a escala e a posição
horizontal das fotos dependem somente da largura: Solla, Lula e Wagner
ficam ancorados ao rodapé real do hero mesmo quando o conteúdo aumenta a
seção, e um palco centralizado de 1920 px preserva a proximidade entre
retrato e texto em monitores ultrawide. E2E fixa a geometria das seis
referências, transições de proporção, desktops baixos, ultrawide e os
overrides da WCAG 1.4.12; o caso de regressão também roda no Firefox.
2026-08-16 20:33:00 -03:00
Francisco Solla
98b1f5c089
style(site): formata artefatos da campanha
2026-08-16 00:50:07 -03:00
Francisco Solla
7ddc281f22
feat(site): publica home da campanha Jorge Solla 1313
2026-08-16 00:49:24 -03:00
Francisco Solla
d6df8c6360
Merge pull request #741 from fsolla/C139-contatos-pagina-da-entidade-contact-lista-desktop-cards
...
C139 — Contatos — página da entidade Contact (lista desktop + cards mobile)
2026-08-13 19:27:17 +00:00
Francisco Solla
d4342a96d7
docs(C139): plano C140 — form reset do React 19 em formulários de campanha
...
Débito colhido no simplify do C139: ~21 forms com action={submitAction}
apagam o digitado em erro (provado na sessão). Registrado como #740 com
depends em #728 .
2026-08-13 15:20:39 -03:00
Francisco Solla
a06f810a40
Merge pull request #739 from fsolla/C134-e2e-agenda-dia-hardcoded-17-de-agosto-de-2026-no-teste-
...
test(C134): e2e agenda deriva o dia do picker de término de hoje + 1 (sem data hardcoded)
2026-08-13 18:17:27 +00:00