Files
pulse-libs/MEMORY.md
T

3.0 KiB

MEMORY.md — Memória Curada

🧠 Agente OpenClaw

  • Debian 12 container, /root/.openclaw/workspace/
  • Projeto: @pulse-libs/core — 136/136 testes | React/Vue, TS strict, Vitest, Pino/Zod, tsup v8, Docker multi-stage

⚙️ Infra

  • Disco 65%, 87G total — monitorando tendência (66%→76%→65%)
  • Sem systemd (container Docker)
  • Gitea: git.octal.tec.brlocalhost:3000 (Caddy) — Swarm stack git
  • User: Roberto (betotn91@gmail.com), SSH ~/.ssh/id_ed25519_gitea
  • Repos: pulse-memory, pulse-skills, pulse-docs, pulse-projects — clonados via HTTPS

🐳 Docker Swarm + Portainer (inventariado 2026-05-20)

  • Node s1 (Leader, Docker 29.4.3) · Cluster plz2xbh64yzhgy88jb9stm0pc
  • 22 containers · overlay 10.0.0.0/8
  • 10 stacks: bot/code/database/design/dock/git/project/proxy
  • Portainer CE v2.19.4 — https://dock.octal.tec.br — stack dock
  • Senha admin: *** — login via /api/auth retorna JWT HS256
  • Stack project (ID=12) registrada via API Portainer (type=2&endpointId=1&method=string) — SwarmStack gerenciável
  • ⚠️ pulse-libs 0/1 replicas (crash — imagem não disponível no registry)

Domínios Caddy (6 ativos)

dock/portainer · git/gitea · ai/beebot · manager/leantime · games/games-demo · test/test-octal

Redes Overlay

ingress:10.0.0.0/24 | public:10.0.1.0/24 | dbn:10.0.2.0/24 mongo-cluster:10.0.3.0/24 | leantime:10.0.4.0/24 | design:10.0.5.0/24 | proxy:10.0.6.0/24

Detalhes → pulse-docs/docs/docker-swarm-stacks.md

🔑 Lições High-Signal

  • flat(Infinity) quebra tsup DTS → usar flat(2)
  • process.env direto quebra SSR → typeof window !== 'undefined'
  • Backticks aninhadas TS → .replace() por fora
  • Zod: .transform(v => v.replace(...)) não .replace() direto
  • vi.useFakeTimers() não usar globalmente
  • fireEvent.change jsdom: value precisa writable
  • getByRole('textbox') brook no jsdom puro → container.querySelector
  • Portainer ptr_ token ≠ JWT admin — /api/status OK, /api/endpoints 401
  • docker stack deploy compose v3: restart_policy não é propriedade válida no deploy spec
  • deploy.labels do compose não vira container labels no Swarm → docker service create --label diretamente
  • imagens locais (sem registry): warning "could not be accessed on a registry" — usar --with-registry-auth
  • agent-browser CLI não estava instalado no PATH — usar curl/API diretamente

Decisões Recentes

  • react.testing-library (≥3) + vitest.jsdom.mocks (≥3) → promoted AGENTS.md
  • tsup.flat2-not-flatinfinity pattern criada
  • caddy-docker-proxy modelo replicado na stack proxy
  • 6 domínios Caddy mapeados via labels | https://test.octal.tec.br live
  • Stack projects removida → project criada (games-demo + projects-landing OK, pulse-libs 0/1)
  • docker stack deploy preferido para migrations em massa; docker service update --label-add limitado
  • docs Portainer cru salvos em pulse-docs/docs/portainer-docs.md