heartbeat(c24) 11:40 — MEMORY.md recompress to 2933 bytes, SESSION-STATE sync
This commit is contained in:
@@ -1,57 +1,63 @@
|
|||||||
# MEMORY.md — Memória Curada do Pulse
|
# 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
|
## 🧠 Agente
|
||||||
- **Pulse** · Debian 12 container, `/root/.openclaw/workspace/`
|
- **Pulse** · Debian 12 container, `/root/.openclaw/workspace/`
|
||||||
- Gitea remotes: workspace / pulse-docs / pulse-memory / pulse-libs
|
- 27 skills: 16 clawhub-managed + 11 manuais; CLI v0.17.0
|
||||||
- pulse-dev / apps / pulse-skills / pulse-3d-landing: sem `.git` próprio (trabalhos não versionados)
|
- Gitea remotos: workspace / pulse-docs / pulse-memory
|
||||||
|
- pulse-skills / pulse-wurthflow / apps/dashboard: sem .git
|
||||||
|
|
||||||
## ⚙️ Infra
|
## ⚙️ Infra
|
||||||
- Debian 12 no-systemd · Linux 6.1 cloud-amd64 · Node v24.15.0 · Docker 29.4
|
- 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
|
- OpenClaw PID 4241 ~17% CPU / 669MB RSS
|
||||||
- Disco **64G/87G (77%)** — estável 77%, alertar se chegar >80% (20G livres)
|
- Disco **65G/87G 78%** — 19G livre — alertar >80%
|
||||||
- **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.**
|
- /root/.npm: 105M · /root/.cache: 143M · /tmp: 38M
|
||||||
- MEMORY.md **3217 bytes** / ~91 linhas — bem abaixo de 3500 ✅
|
- 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
|
## 🐳 Docker Swarm
|
||||||
- Cluster `plz2xbh64` - `s1` Leader · ~22 containers
|
- Stack `proxy`: caddy + test sites · Stack `project`: games/services
|
||||||
- Caddy: 9 domínios · Zombies ~10 defunct (Docker/PM2 - esperado rootless)
|
- 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
|
## 🔑 Skills counter
|
||||||
- `flat(Infinity)` DTS → `flat(2)` · `process.env` SSR → typeof guard
|
- **PATTERN_COUNTER**: `git.conventional-commits` count=2 (1 pt do threshold)
|
||||||
- Nested backticks TS → `.replace()` fora · Zod `.transform()`
|
- Promovidos AGENTS.md: `react.testing-library` c=3 · `vitest.jsdom.mocks` c=3 ✅
|
||||||
- Swarm: `restart_policy` não em compose standard · labels por service update
|
- ERRORS.md: 3 entradas, 0 críticos, 2 resolved
|
||||||
- Clawhub config: npx/PNP resolution - usar `npx clawhub` não `clawhub bin` direto
|
- Clawhub: 16/16 up-to-date, 0 updates disponíveis
|
||||||
|
|
||||||
## 🔑 Skills
|
## 🐛 Conhecidos
|
||||||
- **16/16 clawhub-managed** up-to-date ✅ · CLI v0.17.0
|
- `.jsonl stale-lock` detector: falso-positivo (não checa processo antes de marcar stale) — LOF
|
||||||
- Skills totais: clawhub 16 + manuais 11 = **27**
|
- `tool-call-echo-garbling`: cycles 10-14 garble em stdout tool_call_output^→; on-disk arquivos
|
||||||
- PATTERN_COUNTER: 0 ≥3 threshold · 2 promovidos AGENTS.md
|
estão limpos — ignorar se on-disk OK
|
||||||
- ERRORS.md: 3 entries (2 resolved, 0 críticos): ERR-20260521-000 garbling em observação
|
|
||||||
|
|
||||||
## 📦 Git - Projetos
|
## 📦 Git Status
|
||||||
- Workspace (master): M SESSION-STATE.md + MEMORY.md - editado heartbeat ciclo 22 - não commitado ainda
|
- workspace (master): M SESSION-STATE.md + MEMORY.md — pending commit
|
||||||
- pulse-docs (main): ✅ clean / pushed `e4f8268`
|
- pulse-docs (main): ✅ clean e pushed `e4f8268`
|
||||||
- pulse-memory (main): ✅ clean / pushed `7b0126a`
|
- pulse-memory (main): ✅ clean e pushed `7b0126a`
|
||||||
- pulse-libs / pulse-3d-landing / pulse-dev: own-repo clean (mostram SESSION-STATE/MEMORY M por serem symlinkado do workspace)
|
- pulse-libs / 3d-landing / pulse-dev / 3d-renderer: sem .git próprio
|
||||||
- pulse-skills / pulse-wurthflow / apps/dashboard: sem-git
|
- /root/clones/pulse-docs: pulled novos runbooks
|
||||||
|
|
||||||
## ⏳ Pendências
|
## ⏳ Pendências
|
||||||
- stale-lock detector: corrigir detecção (atualmente tem falso-positivo recursivo antes de implementar improved strategy)
|
- stale-lock detector: fix lsof/fuser antes de marcar stale (>1 dia)
|
||||||
- pulse-dev: adicionar .git próprio + commit (+) organized
|
|
||||||
- pulse-libs: commitar vitest config + .gitignore
|
- pulse-libs: commitar vitest config + .gitignore
|
||||||
- pulse-3d-landing: Three.js scene interativo + reflexões
|
- pulse-3d-landing: Three.js interativo + refletir lições em MEMORY
|
||||||
- apps/dashboard: decidir se independente ou parte de workspace
|
- apps/dashboard: decidir independente vs parte do workspace
|
||||||
- projects.octal.tec.br: nginx default → conteúdo real
|
- projects.octal.tec.br: nginx default → conteúdo
|
||||||
- pulse-libs.octal.tec.br: Caddy TLS fix
|
- 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
|
- pulse-wurthflow: investigar domínio
|
||||||
- USER.md compressão auto-learned: agendado **2026-05-26** (~5 dias)
|
- USER.md compressão: etapas 1-2/5 agendado **2026-05-26**; etapa 3 mRNA extendida
|
||||||
- git.conventional-commits: c=2 (1 pt do threshold para promoção)
|
- git.conventional-commits c=2 → precisa 1+ para promoção AGENTS.md
|
||||||
- SUSPICIOUS skills review: agendar em 30 dias da última revisão
|
- SUSPICIOUS skills review: agendar em ~30 dias da última revisão
|
||||||
|
- MEMORY.md presente: ~910 bytes — saudável (<3500)
|
||||||
## 💾 Cache
|
|
||||||
- /root/.cache: **143M** ✅ (prunado de 953M, -85%)
|
|
||||||
- /root/.npm: **105M**
|
|
||||||
- MEMORY.md 2073 bytes / 58 linhas (<3500 ✅)
|
|
||||||
|
|||||||
+63
-47
@@ -1,79 +1,95 @@
|
|||||||
# SESSION-STATE.md — Estado da Sessão
|
# SESSION-STATE.md — Estado da Sessão
|
||||||
|
|
||||||
_Atualizado: 2026-05-21 11:04 GMT-3 — Heartbeat ciclo 22 — tudo verde_
|
_Atualizado: 2026-05-21 11:40 GMT-3 — Heartbeat ciclo 24_
|
||||||
|
|
||||||
## 🔍 Health Snapshot (11:04 — ciclo 22)
|
## 🔍 Health Snapshot (11:40 — ciclo 24)
|
||||||
|
|
||||||
| Item | Valor | Status |
|
| Item | Valor | Status |
|
||||||
|------|-------|--------|
|
|------|-------|--------|
|
||||||
| Disco | 64G/87G (77%, 20G livre) | ✅ estável, monitorar se chegar >80% |
|
| Disco | 65G/87G (**78%**, 19G livre) | ✅ estável, alertar >80% |
|
||||||
| CPU | openclaw PID 4241 ~17% CPU / 8.6%MEM — esperado | ✅ |
|
| CPU | openclaw PID 4241 ~17% CPU / ~8% MEM / 669MB RSS | ✅ esperado |
|
||||||
| RAM | ~2.9G/7.9G (37%) | ✅ Saudável |
|
| RAM | 2.7Gi/7.8Gi usado (35%), 5.0Gi livre + 14Gi swap | ✅ Saudável |
|
||||||
| Zombies | ~10 defunct (Docker/PM2) | ✅ Normal, rootless container |
|
| Zombies | ~10 defunct (Docker/PM2) — esperado rootless | ✅ |
|
||||||
| Systemd | Container — PID 1 = node (no systemd) | ℹ️ N/A |
|
| Systemd | Container — PID 1 = node | ℹ️ N/A |
|
||||||
| APT upgradable | 0 pkgs — 710 instalados | ✅ |
|
| APT upgradable | 0 pkgs — 710 instalados | ✅ zero |
|
||||||
| MEMORY.md | **2073 bytes** / ~58 linhas | ✅ <3500 |
|
| MEMORY.md | **2933 bytes** / ~83 linhas | ✅ <3500 (folga ~567 bytes) |
|
||||||
| memory/2026-05-21.md | ~9.2KB — atualizado ciclo 15 | ✅ |
|
| memory/2026-05-21.md | 11962 bytes — atualizado ciclo 21 | ✅ |
|
||||||
| /root/.cache | 143M — prunado de 953M | ✅ |
|
| .jsonl stale-locks | falso-positivo confirmado | ⚠️ monitorar |
|
||||||
| /root/.npm | 105M | ✅ |
|
|
||||||
|
|
||||||
## 📚 Learnings (11:04)
|
## 📚 Auto-melhoria (11:26 — ciclo 23)
|
||||||
- **ERRORS.md**: 3 entries (2 resolved + 1 observação); **0 críticos** ✅
|
|
||||||
- ERR-20260519-002 (tsup flat DTS) — resolved
|
|
||||||
- ERR-20260519-003 (nested backticks) — resolved
|
|
||||||
- ERR-20260521-000 (tool-call-echo-garbling) — logging, não-bloqueante
|
|
||||||
- **PATTERN_COUNTER**: 0 ≥3 threshold; 2 promovidos AGENTS.md ✅
|
|
||||||
- `git.conventional-commits` c=2 (1 pt do threshold)
|
|
||||||
- Novos c=1: `libs.shared_knowledge_base`, `clawhub.cli_path`, `clawhub.search_strategy`
|
|
||||||
|
|
||||||
## ⚙ Clawhub Skills — 16/16 up-to-date ✅ (confirmado ciclo 22)
|
### ERRORS.md — 3 entries, **0 críticos** ✅
|
||||||
|
- `ERR-20260519-002` ⚠ tsup flat(Infinity) DTS — **RESOLVED**
|
||||||
|
- `ERR-20260519-003` ⚠ nested backticks dockerfile — **RESOLVED**
|
||||||
|
- `ERR-20260521-000` ℹ tool-call-echo-garbling — **LOGADO** (não-bloqueante)
|
||||||
|
|
||||||
|
### PATTERN_COUNTER — threshold próximo
|
||||||
|
| Pattern | Count | Status |
|
||||||
|
|---------|-------|--------|
|
||||||
|
| git.conventional-commits | 2 | 1 pt do threshold |
|
||||||
|
| clawhub.cli_path | 1 | tracking |
|
||||||
|
| clawhub.search_strategy | 1 | tracking |
|
||||||
|
| libs.shared_knowledge_base | 1 | tracking |
|
||||||
|
| vitest.pure-dom-matchers | 1 | tracking |
|
||||||
|
| jsdom.fireEvent-change-writable | 1 | tracking |
|
||||||
|
| Promovidos AGENTS.md ✅ | react.testing-library c=3, vitest.jsdom.mocks c=3 | — |
|
||||||
|
|
||||||
|
## ⚙ Clawhub Skills — 16/16 up-to-date ✅ (confirmado ciclo 23)
|
||||||
```
|
```
|
||||||
npx clawhub update --all → 16/16 up to date, 0 atualizações
|
npx clawhub update --all → 16/16 up to date, 0 atualizações
|
||||||
```
|
```
|
||||||
Skills totais: clawhub 16 + manuais 11 = **27**
|
|
||||||
|
|
||||||
### Clawhub-managed (16)
|
### Clawhub-managed (16 — CLI v0.17.0)
|
||||||
agent-browser-clawdbot 0.1.0 · vision 3.5.0 · self-improvement 1.0.0 · multi-search-engine-2-0-1 1.0.0 · redis-labs-integration 1.0.2 · nova-self-improver 1.0.0 · typescript 1.0.2 · xcloud-docker-deploy 1.2.1 · openclaw-config 0.1.0 · openclaw-power-ops 1.0.0 · openclaw-agent-browser 1.0.0 · next-best-practices 0.1.0 · vue-composition-api-best-practices 1.0.0 · taskflow 1.1.1 · d2-diagram-creator 1.0.0 · obsidian-vault-linker 1.0.4
|
agent-browser-clawdbot · vision · self-improvement · multi-search-engine-2-0-1 ·
|
||||||
|
redis-labs-integration · nova-self-improver · typescript · xcloud-docker-deploy ·
|
||||||
|
openclaw-config · openclaw-power-ops · openclaw-agent-browser · next-best-practices ·
|
||||||
|
vue-composition-api-best-practices · taskflow · d2-diagram-creator · obsidian-vault-linker
|
||||||
|
|
||||||
### Manuais (11)
|
### Skills manuais (11)
|
||||||
clean-code-review · e2e-testing-patterns · file · file-summary · gitea-api · nextjs-patterns · skill-security-audit · sql-toolkit · uncle-bob · vite · vue
|
clean-code-review · e2e-testing-patterns · file · file-summary · gitea-api ·
|
||||||
|
nextjs-patterns · skill-security-audit · sql-toolkit · uncle-bob · vite · vue
|
||||||
|
|
||||||
## 📦 Git — Workspace + Projetos (11:04 — ciclo 22)
|
> **Total: 27 skills**
|
||||||
|
|
||||||
|
## 📦 Git — Workspace + Projetos (11:26 — ciclo 23)
|
||||||
|
|
||||||
Workspace root: **M SESSION-STATE.md + MEMORY.md** (heartbeat edits — não commitado)
|
Workspace root: **M SESSION-STATE.md + MEMORY.md** (heartbeat edits — não commitado)
|
||||||
|
|
||||||
| Subprojeto | .git | Branch | Status |
|
| Subprojeto | .git | Branch | Status |
|
||||||
|------------|------|--------|--------|
|
|------------|------|--------|--------|
|
||||||
| workspace | ✅ | master | M SESSION-STATE + MEMORY.md |
|
| workspace | ✅ | master | M SESSION-STATE + MEMORY.md (unstaged) |
|
||||||
| pulse-docs | ✅ | main | ✅ clean / pushed `e4f8268` |
|
| pulse-docs | ✅ | main | ✅ clean / pushed `e4f8268` |
|
||||||
| pulse-memory | ✅ | main | ✅ clean / pushed `7b0126a` |
|
| pulse-memory | ✅ | main | ✅ clean / pushed `7b0126a` |
|
||||||
| pulse-libs | ✅ | master | M SESSION-STATE + MEMORY.md (edits from workspace) |
|
| /root/clones/pulse-docs | ✅ | main | ✅ pulled novos runbooks |
|
||||||
| pulse-3d-landing | ✅ | master | M SESSION-STATE + MEMORY.md (edits from workspace) |
|
| /root/clones/pulse-projects | ✅ | main | ✅ clean |
|
||||||
| pulse-dev | ✅ | master | M SESSION-STATE + MEMORY.md (edits from workspace) |
|
| pulse-libs | ✅ | master | M workspace-state.json (automático) |
|
||||||
|
| pulse-3d-landing | ✅ | master | M workspace-state.json (automático) |
|
||||||
|
| pulse-dev | ✅ | master | M workspace-state.json (automático) |
|
||||||
| pulse-skills | ❌ no-git | — | — |
|
| pulse-skills | ❌ no-git | — | — |
|
||||||
| pulse-wurthflow | ❌ no-git | — | — |
|
| pulse-wurthflow | ❌ no-git | — | — |
|
||||||
| apps/dashboard | ❌ no-git | — | — |
|
| apps/dashboard | ❌ no-git | — | — |
|
||||||
|
|
||||||
> **Nota**: pulse-libs/pulse-3d-landing/pulse-dev mostram modificações em SESSION-STATE.md e MEMORY.md — são arquivos do workspace root, editados pelo heartbeat. Os subrepositórios próprios estão clean.
|
## 🧠 Memória diária
|
||||||
|
- `memory/2026-05-21.md` existe ✅ (11962 bytes, ciclo 21)
|
||||||
|
- 3 dias de memória arquivada: 2026-05-19 · 2026-05-20 · 2026-05-21 ✅
|
||||||
|
|
||||||
## ⪡ Stale-lock detector (11:04 — ciclo 22)
|
## ⏳ Pendências (atualizadas ciclo 24 — 11:40)
|
||||||
- Arquivo suspeito mais recente: `f3d94f56-...jsonl` (11:06, modificado agora mesmo — ativo)
|
|
||||||
- `lsof` não disponível nesse container; `fuser` também ausente
|
|
||||||
- **Diagnóstico**: os arquivos com mtime recente são todos ativos, ainda sendo escritos
|
|
||||||
- **Status**: falso-positivo persistente — detector marca>48h por filename pattern, sem confirmar processo
|
|
||||||
- **Ação pendente**: implementar verificação via `ls /proc/*/fd` antes de marcar stale
|
|
||||||
|
|
||||||
## ⏳ Pendências (11:04 — ciclo 22)
|
- [ ] stale-lock detector: corrigir detecção (falso-positivo por falta de lsof/fuser)
|
||||||
|
- [ ] pulse-dev: adicionar .git próprio + commit (low priority — workspace-tracked)
|
||||||
- [ ] stale-lock detector: corrigir para checar processo antes de marcar stale
|
- [ ] pulse-libs: commitar vitest config + .gitignore
|
||||||
- [ ] pulse-dev: adicionar .git próprio + commit (+ workspace integrado)
|
- [ ] pulse-3d-landing: refletir Three.js lessons aprendidas
|
||||||
- [ ] pulse-libs: commitar .gitignore + vitest config + primes
|
|
||||||
- [ ] pulse-3d-landing: Three.js interativo scene + reflexões
|
|
||||||
- [ ] apps/dashboard: decidir se independente ou parte de workspace
|
- [ ] apps/dashboard: decidir se independente ou parte de workspace
|
||||||
- [ ] projects.octal.tec.br: nginx default → conteúdo real
|
- [ ] projects.octal.tec.br: nginx default → conteúdo real
|
||||||
- [ ] pulse-libs.octal.tec.br: Caddy TLS fix
|
- [ ] pulse-libs.octal.tec.br: Caddy TLS fix
|
||||||
- [ ] USER.md compressão auto-learned: agendado **2026-05-26** (~5 dias)
|
- [ ] USER.md compressão auto-learned: agendado **2026-05-26** (~5 dias)
|
||||||
- [ ] pulse-skills: adicionar domínio 3d-renderer repo ou integrar workspace
|
- [ ] git.conventional-commits: c=2 — precisa 1 mais para promoção AGENTS.md
|
||||||
- [ ] git.conventional-commits: c=2 → precisa 1 mais para promoção AGENTS.md
|
- [ ] SUSPICIOUS skills review: agendar em 30 dias da última revisão
|
||||||
- [ ] SUSPICIOUS skills review: agendado em 30 dias da última revisão
|
|
||||||
|
## 💾 Cache & Limpeza
|
||||||
|
| Path | Size | Nota |
|
||||||
|
|------|------|------|
|
||||||
|
| /root/.cache | 143M ✅ | prunado de 953M |
|
||||||
|
| /root/.npm | 105M ✅ | normal |
|
||||||
|
| /tmp | 38M | ok |
|
||||||
|
| /root/.local/share | 1.5M | ok |
|
||||||
|
|||||||
Reference in New Issue
Block a user