docs: handoff completo encerramento faxina pré-deploy (2026-05-09)#113
Conversation
Documenta o estado FINAL após: - Onda 5 completa (164 → 0 errors em 4 PRs: #109, #110, #111, #112) - 8 dependabots resolvidos (3 mergeados, 5 fechados, 1 preservation closed) Estado atual: - HEAD main: f1b3eab - ESLint: 0 errors, 1330 warnings - Branches remotas: 2 (main + preserve) - PRs OPEN: 0 Conteúdo do handoff (718 linhas): - TL;DR + estado atual com métricas - Quem é Joaquim e workflow - Histórico cronológico de TODOS os PRs (Schemas, Faxina pré-Onda, Ondas 1, 2, 5) - Faxina de branches (491 → 2) - Resolução técnica dos 8 dependabots - Decisões técnicas-chave (React 18, Vite reject, Sentry accept, etc) - 20 lições aprendidas - Catálogo de notes em /workspace/notes/ - Pendências pré-deploy (Backup Supabase, RabbitMQ 69GB, Drift, Deploy VPS, FX-DEP-02) - Backlogs de review skipped - Como retomar (instruções pra próximo Claude) - Apêndices: comandos úteis, infra VPS, Vercel, workflow Este doc serve como ponto de retomada pra próxima sessão Claude sem perder contexto.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughHandoff de encerramento da sessão Onda 5 que consolida o estado do repositório, histórico de PRs resolvidos, 8 dependabots processados, decisões técnicas sobre React/Vite/Sentry/ESLint, roadmap crítico pré-deploy e instruções operacionais para próximo Claude. Documento de referência puro com metadados, arquitetura, lições aprendidas e apêndices. ChangesDocumentação de Transição Onda 5
Estimated Code Review Effort🎯 1 (Trivial) | ⏱️ ~3 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c270d0694
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| | Container | ID | Image | Função | | ||
| |---|---|---|---| | ||
| | `swarm-task-guardian` | `22e7ded16c4f` | alpine:3.19 | **TEM `docker.sock` montado** — usado pra comandos privilegiados | |
There was a problem hiding this comment.
Remove privileged production container details
Because this handoff is committed to the repository, anyone with repo access can now see the exact production Swarm container that has docker.sock mounted and is intended for privileged commands. In any environment where the repo is shared beyond the small ops group or later becomes public, this materially helps an attacker with a limited foothold identify the highest-value container to target; keep these operational details in private runbooks/notes instead of versioned app docs.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Adds a comprehensive “handoff” document under docs/ capturing the current repository/infra status after the pre-deploy cleanup sessions (08–09/05/2026), intended to serve as the next-session restart point.
Changes:
- Adds a single, large handoff markdown document with repo status metrics, PR chronology, branch/dependabot cleanup summary, and a prioritized pre-deploy roadmap.
- Documents operational context (Supabase backup issue, RabbitMQ disk usage, Supabase drift) and suggested next steps.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## Quem é Joaquim e como trabalhar com ele | ||
|
|
||
| **Joaquim** é dono da **Promo Brindes** (CNPJ 36.835.552/0001-67). É **NÃO-developer**, mas pensa estrategicamente. Comunica em **português**. É o decisor final. |
| - `wpp2` (551146375517) vira "Atendimento" shared (atualmente OFFLINE intencionalmente) | ||
| - `wpp_pink_test` (556484450900) continua teste |
|
|
||
| - **Comando merge consolidado:** `gh pr merge <N> --repo adm01-debug/zapp-web --squash --admin --delete-branch` | ||
| - **Identidade git:** `user.email=adm01@promobrindes.com.br`, `user.name=adm01-debug` | ||
| - **Husky:** usar `--no-verify` quando necessário |
|
|
||
| #### 1. Backup Supabase quebrado | ||
|
|
||
| **Problema:** Stack 124 `supabase-backup` tem `PGHOST=10.0.1.179` HARDCODED como env var. Quando o stack `supabase` redeployou, Swarm atribuiu novo IP ao container (passou de `.179` pra `.35`). Backup tenta conectar no IP velho → `Host is unreachable` → `pg_dump` produz nada → `gzip` cria só header (20 bytes). |
| | Container | ID | Image | Função | | ||
| |---|---|---|---| | ||
| | `swarm-task-guardian` | `22e7ded16c4f` | alpine:3.19 | **TEM `docker.sock` montado** — usado pra comandos privilegiados | | ||
| | `supabase-backup_backup` | `dd7115a6b58d` | postgres:15-alpine | Stack 124 (backup quebrado) | | ||
| | `supabase_db` | dinâmico | supabase/postgres:15.8.1.085 | PostgreSQL principal | | ||
| | `supabase_functions` | `8f07953a3bf6` | supabase/edge-runtime:v1.70.3 | Edge Functions | | ||
| | `claude-code` | dinâmico | claude-code | Container deste Claude | |
| ``` | ||
| Team: juca1 | ||
| Project: zapp-web | ||
| projectId: prj_Nu7K6Co8YXuBxFiRSnE3u7fYdIYO |
| supabase_db → 10.0.1.59 (VIP do Swarm) ⭐ | ||
| tasks.supabase_db → IP do container atual | ||
| db → 10.0.1.59 (alias) | ||
|
|
||
| IPs voláteis (NÃO usar como hardcoded): | ||
| 10.0.1.179 → IP velho que causou bug do backup |
| db → 10.0.1.59 (alias) | ||
|
|
||
| IPs voláteis (NÃO usar como hardcoded): | ||
| 10.0.1.179 → IP velho que causou bug do backup |
📋 Handoff exaustivo do encerramento da faxina
Documenta TUDO que foi realizado nas sessões 08-09/05/2026 e o estado atual do repo, salvo no próprio repositório (em
docs/) para servir como ponto de retomada pra próximas sessões Claude.Conteúdo (718 linhas)
/workspace/notes/Estado capturado
f1b3eab0aPor que está nesse PR e não em /workspace/notes/?
Notes em
/workspace/notes/ficam só no container Claude Code. Este doc tem que estar no repositório para que:Cópia também salva em
/workspace/notes/handoff-2026-05-09-encerramento-faxina.mdpara acesso direto durante sessões.🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes