Files
pulse-libs/MEMORY.md
T

64 lines
3.5 KiB
Markdown

# 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
- `process.exit()` com booleano → Node 24 exige número (0/1) — Type/ERR_INVALID_ARG_TYPE
- Docker Swarm healthcheck: callback assíncrono precisa esperar `res.on('end')` antes de `process.exit()` — task morreu exit 137 por unhealthy
## 🐳 Docker Swarm
- 10 stacks (bot/code/database/design/dock/git/pro/project/proxy)
- Stack `project`: games-demo(1/1) · projects-landing(1/1) · pulse-libs(1/1 fix healthcheck)
- Domínios: games.octal.tec.br · projects.octal.tec.br · pulse-libs.octal.tec.br · test.octal.tec.br
- `--restart-condition` no stack deploy (não compose v3 restart policy padrão)
- Labels Caddy por service — pulse-libs fix health + label pulselibs.octal.tec.br
## 🔑 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-3d-landing: Three.js interativo + refletir lições em MEMORY
- apps/dashboard: decidir independente vs parte do workspace
- 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