Files
pulse-libs/MEMORY.md
T

54 lines
3.0 KiB
Markdown

# 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.br``localhost: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`