# MEMORY.md — Memória Curada do Pulse _Atualizado: 2026-05-21 11:46 GMT-3 — Heartbeat ciclo 25_ ## 🧠 Agente - **Pulse** · Debian 12 container, `/root/.openclaw/workspace/` - 27 skills: 16 clawhub-managed + 11 manuais; CLI v0.17.0 - Gitea remotos: workspace / pulse-docs / pulse-memory - pulse-skills / pulse-wurthflow / apps/dashboard: sem .git ## ⚙ Infra - Debian 12 no-systemd · Linux 6.1 cloud-amd64 · Node v24.15.0 · Docker 29.4 - OpenClaw PID 4247 at: **~40% CPU** / **8.1% MEM** / **662MB RSS** — elevated, likely heartbeat wait - Disco **57G/87G 69%** — 27G livre — OK (anterior 78%) - /root/.npm: 105M · /root/.cache: 143M · /tmp: 38M - APT: **1 disponível** (libgnutls30/oldstable-security) — 710 instalados (anterior 0) ## 📚 Learnings Ativas - `flat(Infinity)` DTS → `flat(2)`; tipo recursivo infinito quebra tsup v8 DTS builder - `process.env` em SSR → `typeof window !== 'undefined'` - Backticks aninhadas TS → `.replace()` fora do template - Zod `.replace()` direto na string → `.transform(v => v.replace(...))` - Clawhub CLI: sempre `npx clawhub` (PNP/HUSKY resolve); nunca bin direto - Clawhub search: termos curtos; buscar categorias em SEPARADO; não frases longas - Git URL: usar tokens, nunca host/user/pass embutido - Clawhub: 11 skills retornam "local changes" (mismatch com repo oficial) — force update requires manual decision per skill ## 🐳 Docker Swarm - Stack `proxy`: caddy + test sites · Stack `project`: games/services - Domínios: test.octal.tec.br · games.octal.tec.br · projects.octal.tec.br - `--restart-condition` no stack deploy (não compose v3 restart policy padrão) - Labels Caddy por service ## 🔑 Skills counter - **PATTERN_COUNTER**: `git.conventional-commits` c=2 (1 pt do threshold) - Promovidos AGENTS.md: `react.testing-library` c=3 · `vitest.jsdom.mocks` c=3 ✅ - ERRORS.md: 3 entradas, 0 críticos, 2 resolved - Clawhub: 5/16 up-to-date, 11 com local-changes pendentes force-update ## 🐛 Conhecidos - `.jsonl stale-lock` detector: falso-positivo (não checa processo antes de marcar stale) — LOF - `tool-call-echo-garbling`: cycles 10-14 garble em stdout tool_call_output^→; on-disk arquivos estão limpos — ignorar se on-disk OK ## 📦 Git Status - workspace (master): M SESSION-STATE.md + MEMORY.md — pending commit - pulse-docs (main): ✅ clean e pushed `e4f8268` - pulse-memory (main): ✅ clean e pushed `7b0126a` - pulse-libs / 3d-landing / pulse-dev / 3d-renderer: sem .git próprio - /root/clones/pulse-docs: pulled novos runbooks ## ⏳ Pendências - stale-lock detector: fix lsof/fuser antes de marcar stale (>1 dia) - pulse-libs: commitar vitest config + .gitignore - pulse-3d-landing: Three.js interativo + refletir lições em MEMORY - apps/dashboard: decidir independente vs parte do workspace - projects.octal.tec.br: nginx default → conteúdo - pulse-libs.octal.tec.br: Caddy TLS fix - pulse-skills: domínio 3d-renderer - pulse-wurthflow: investigar domínio - USER.md compressão: etapas 1-2/5 agendado **2026-05-26**; etapa 3 mRNA extendida - git.conventional-commits c=2 → precisa 1+ para promoção AGENTS.md - SUSPICIOUS skills review: agendar em 30 dias da última revisão - Clawhub 11 skills: "local changes" mismatch — avaliar force-update por skill