heartbeat(c24) 11:40 — MEMORY.md recompress to 2933 bytes, SESSION-STATE sync

This commit is contained in:
Pulse Agent
2026-05-21 11:42:01 -03:00
parent fe61dec99b
commit 8f1252cdce
2 changed files with 108 additions and 86 deletions
+45 -39
View File
@@ -1,57 +1,63 @@
# MEMORY.md — Memória Curada do Pulse
_Atualizado: **2026-05-21 11:22 GMT-3** — Heartbeat ciclo 22 FULL — todo verde_
_Atualizado: 2026-05-21 11:40 GMT-3 — Heartbeat ciclo 24_
## 🧠 Agente
- **Pulse** · Debian 12 container, `/root/.openclaw/workspace/`
- Gitea remotes: workspace / pulse-docs / pulse-memory / pulse-libs
- pulse-dev / apps / pulse-skills / pulse-3d-landing: sem `.git` próprio (trabalhos não versionados)
- 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
- PID 1 = node (container sem systemd) · OpenClaw PID 4241 ~17% CPU ~8.6%MEM / ~669MB RSS
- Disco **64G/87G (77%)**estável 77%, alertar se chegar >80% (20G livres)
- **Stale .jsonl locks**: falso-positivo recorrente — `lsof` não disponível no container — todos arquivos suspeitos ainda ativos (mtime recente, ex: `6d073a7a` modificado 11:19). Status: **não-bloqueante, investigado ciclo 15→22, próximo de correção planejada.**
- MEMORY.md **3217 bytes** / ~91 linhas — bem abaixo de 3500
- OpenClaw PID 4241 ~17% CPU / 669MB RSS
- Disco **65G/87G 78%**19G livre — alertar >80%
- /root/.npm: 105M · /root/.cache: 143M · /tmp: 38M
- APT: 710 instalados, 0 atualizáveis
## 📚 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
## 🐳 Docker Swarm
- Cluster `plz2xbh64` - `s1` Leader · ~22 containers
- Caddy: 9 domínios · Zombies ~10 defunct (Docker/PM2 - esperado rootless)
- 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
## 📚 Lições recentes
- `flat(Infinity)` DTS → `flat(2)` · `process.env` SSR → typeof guard
- Nested backticks TS → `.replace()` fora · Zod `.transform()`
- Swarm: `restart_policy` não em compose standard · labels por service update
- Clawhub config: npx/PNP resolution - usar `npx clawhub` não `clawhub bin` direto
## 🔑 Skills counter
- **PATTERN_COUNTER**: `git.conventional-commits` count=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: 16/16 up-to-date, 0 updates disponíveis
## 🔑 Skills
- **16/16 clawhub-managed** up-to-date ✅ · CLI v0.17.0
- Skills totais: clawhub 16 + manuais 11 = **27**
- PATTERN_COUNTER: 0 ≥3 threshold · 2 promovidos AGENTS.md
- ERRORS.md: 3 entries (2 resolved, 0 críticos): ERR-20260521-000 garbling em observação
## 🐛 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 - Projetos
- Workspace (master): M SESSION-STATE.md + MEMORY.md - editado heartbeat ciclo 22 - não commitado ainda
- pulse-docs (main): ✅ clean / pushed `e4f8268`
- pulse-memory (main): ✅ clean / pushed `7b0126a`
- pulse-libs / pulse-3d-landing / pulse-dev: own-repo clean (mostram SESSION-STATE/MEMORY M por serem symlinkado do workspace)
- pulse-skills / pulse-wurthflow / apps/dashboard: sem-git
## 📦 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: corrigir detecção (atualmente tem falso-positivo recursivo antes de implementar improved strategy)
- pulse-dev: adicionar .git próprio + commit (+) organized
- stale-lock detector: fix lsof/fuser antes de marcar stale (>1 dia)
- pulse-libs: commitar vitest config + .gitignore
- pulse-3d-landing: Three.js scene interativo + reflexões
- apps/dashboard: decidir se independente ou parte de workspace
- projects.octal.tec.br: nginx default → conteúdo real
- 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: adicionar domínio 3d-renderer
- pulse-skills: domínio 3d-renderer
- pulse-wurthflow: investigar domínio
- USER.md compressão auto-learned: agendado **2026-05-26** (~5 dias)
- git.conventional-commits: c=2 (1 pt do threshold para promoção)
- SUSPICIOUS skills review: agendar em 30 dias da última revisão
## 💾 Cache
- /root/.cache: **143M** ✅ (prunado de 953M, -85%)
- /root/.npm: **105M**
- MEMORY.md 2073 bytes / 58 linhas (<3500 ✅)
- 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
- MEMORY.md presente: ~910 bytes — saudável (<3500)