diff --git a/MEMORY.md b/MEMORY.md index 24a6a96..584bc7e 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -1,40 +1,57 @@ # MEMORY.md — Memória Curada do Pulse +_Atualizado: 2026-05-21 11:04 GMT-3 — Heartbeat ciclo 22_ + ## 🧠 Agente - **Pulse** · Debian 12 container, `/root/.openclaw/workspace/` -- `@pulse-libs/core` 136/136 ✅ · 3D: `pulse-3d-landing` → `test.octal.tec.br` -- Gitea remotes: pulse-libs / pulse-docs / pulse-memory / pulse-skills -- pulse-dev untracked (package.json committed heel hoje) +- 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) ## ⚙️ Infra -- Debian 12 no-systemd · Linux 6.1 cloud-amd64 · Node v24 · Docker 29.4 -- PID 1 = node · OpenClaw PID 4241 ~22% CPU ~800MB RSS -- Disco 65G/87G (78%) — alertar >80% -- Stale .jsonl file-lock apenas no file-logging -- MEMORY.md 3700c — **próximo do limite 3500** ⚠️ +- 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%)** — alertar se chegar >80% (20G livres) +- **Stale .jsonl locks**: padrão recorrente — todos os arquivos suspeitos ainda estão sendo escritos (mtime recente). `lsof`/`fuser` indisponíveis no container, impossível confirmar processo por PID. Ação: mudar detector para checar se `` vs `` e flag como stale só se 48h AND file NOT in current session’s active ID list. Status: **falso-positivo recorrente — não-bloqueante, investigado ciclo 15→22.** +- MEMORY.md **2073 bytes** / ~58 linhas — bem abaixo de 3500 ✅ ## 🐳 Docker Swarm -- Cluster `plz2xbh64` — `s1` Leader · 10 stacks ~22 containers -- Caddy 9 domínios · Portainer senha admin necessária -- Zombies ~10 defunct (Docker/PM2 — esperado) +- Cluster `plz2xbh64` — `s1` Leader · ~22 containers +- Caddy: 9 domínios · Zombies ~10 defunct (Docker/PM2 — esperado rootless) ## 📚 Lições recentes -- flat(Infinity) DTS → flat(2) · process.env SSR → typeof guard -- Backticks aninhadas TS → .replace() fora · Zod .transform() -- Swarm: restart_policy não aceito · labels por service update +- `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 -- 13 externas ✅ · clawhub CLI não no PATH (skillsdir node_modules) -- 7 workspace locais · PATTERN_COUNTER: 0 ≥3 threshold +- **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 + +## 📦 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 ## ⏳ Pendências -- apt upgrade (1 pkg: libgnutls30 security) -- pulse-libs: commitar .gitignore + vitest +- stale-lock detector: corrigir detecção (atualmente tem falso-positivo recursivo antes de implementar improved strategy) +- pulse-dev: adicionar .git próprio + commit (+) organized +- 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-libs.octal.tec.br: Caddy TLS -- 3d-site: Three.js scroll cena -- USER.md compressão auto-learned (cronograma 2026-05-26) +- pulse-libs.octal.tec.br: Caddy TLS fix +- pulse-skills: adicionar 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 953M → -86%) -- /tmp 35M /var/cache/apt 28M +- /root/.cache: **143M** ✅ (prunado de 953M, -85%) +- /root/.npm: **105M** +- MEMORY.md 2073 bytes / 58 linhas (<3500 ✅) diff --git a/SESSION-STATE.md b/SESSION-STATE.md index edb277e..325c7f0 100644 --- a/SESSION-STATE.md +++ b/SESSION-STATE.md @@ -1,87 +1,79 @@ # SESSION-STATE.md — Estado da Sessão -_Atualizado: 2026-05-21 10:39 GMT-3 — Heartbeat ciclo 19 — tudo limpo, 16/16 skills confirmadas_ +_Atualizado: 2026-05-21 11:04 GMT-3 — Heartbeat ciclo 22 — tudo verde_ ---- - -## 🔍 Health Snapshot (10:39 — ciclo 19) +## 🔍 Health Snapshot (11:04 — ciclo 22) | Item | Valor | Status | |------|-------|--------| -| Disco | 64G/87G (78%, 21G livre) | ✅ <80% | -| CPU | PID 4241 ~18% CPU / 716MB RSS | ✅ Esperado | -| RAM | 2.9G/7.9G (37%) | ✅ Saudável | -| Zombies | ~10 defunct (Docker/PM2/Node) | ✅ Esperado | -| Systemd | Container (PID 1=node) | ℹ️ N/A | -| APT upgradable | 0 pkgs | ✅ | -| MEMORY.md | 1571 bytes / 40 linhas | ✅ (<3500) | -| memory/2026-05-21.md | ~10KB | ✅ atualizado | -| /root/.cache | 143M | ✅ prunado | +| Disco | 64G/87G (77%, 20G livre) | ✅ estável, monitorar se chegar >80% | +| CPU | openclaw PID 4241 ~17% CPU / 8.6%MEM — esperado | ✅ | +| RAM | ~2.9G/7.9G (37%) | ✅ Saudável | +| Zombies | ~10 defunct (Docker/PM2) | ✅ Normal, rootless container | +| Systemd | Container — PID 1 = node (no systemd) | ℹ️ N/A | +| APT upgradable | 0 pkgs — 710 instalados | ✅ | +| MEMORY.md | **2073 bytes** / ~58 linhas | ✅ <3500 | +| memory/2026-05-21.md | ~9.2KB — atualizado ciclo 15 | ✅ | +| /root/.cache | 143M — prunado de 953M | ✅ | | /root/.npm | 105M | ✅ | -## 📚 Learnings (10:39) -- **ERRORS.md**: 2 resolved / 0 críticos ✅ -- **PATTERN_COUNTER**: 0 ≥3 threshold ✅ - - Promovidos AGENTS.md: `react.testing-library` c=3, `vitest.jsdom.mocks` c=3 - - Watch c=2: `git.conventional-commits` (1 ponto do threshold) +## 📚 Learnings (11:04) +- **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` -- ERR-20260521-000 `tool-call-echo-garbling`: logging desde ciclo 10, on-disk clean, não-bloqueante ⚠️ observação -## ⚙ Clawhub Skills — 16/16 ALL up-to-date ✅ (confirmado ciclo 17) +## ⚙ Clawhub Skills — 16/16 up-to-date ✅ (confirmado ciclo 22) ``` -npx clawhub update --all → 16/16 up to date, 0 atualizações +npx clawhub update --all → 16/16 up to date, 0 atualizações ``` -- 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 -- CLI v0.17.0 -- Manuais (10): clean-code-review, e2e-testing-patterns, file, file-summary, - gitea-api, nextjs-patterns, skill-security-audit, sql-toolkit, uncle-bob, vite, vue +Skills totais: clawhub 16 + manuais 11 = **27** -## 📦 Projetos — Git Status (10:39 — ciclo 19) -| Subdir | Branch | Status | -|--------|--------|--------| -| workspace | master | ✅ clean + pushed `6600ff9` | -| pulse-docs | main | ✅ clean / pushed `e4f8268` | -| pulse-memory | main | ✅ clean / pushed `7b0126a` | -| pulse-libs | — | ❌ sem git próprio | -| pulse-3d-landing | — | ❌ sem git próprio | -| pulse-dev | — | ❌ sem git próprio | -| pulse-skills | — | ❌ sem git próprio | -| apps/dashboard | — | ❌ sem git próprio | +### Clawhub-managed (16) +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 -> **Git note**: habilite `git add --all` no diretório raiz para capturar novas pastas automaticamente. +### Manuais (11) +clean-code-review · e2e-testing-patterns · file · file-summary · gitea-api · nextjs-patterns · skill-security-audit · sql-toolkit · uncle-bob · vite · vue -## 🧠 Dream System (10:39) -- `memory/.dreams/events.jsonl` — commitado -- `memory/.dreams/short-term-recall.json` — auto-consolidated -- `memory/dreaming/{deep,light,rem}/` — todos ativos -- Sessões .jsonl ativas hoje: última mtime 10:20 — falsa-positive stale-lock detector +## 📦 Git — Workspace + Projetos (11:04 — ciclo 22) -## 🧠 Memória (10:39) -- MEMORY.md: **1571B / 40 linhas** ✅ -- ERRORS.md: 2 resolved / 0 críticos ✅ -- PATTERN_COUNTER: 0 at threshold ✅ -- memory/2026-05-21.md: ~10KB ✅ atualizado ciclo 19 -- Recente: `2026-05-20.md` (3048B), `2026-05-19.md` (9976B) +Workspace root: **M SESSION-STATE.md + MEMORY.md** (heartbeat edits — não commitado) -## 💾 Cache (10:39) -- /root/.cache: **143M** ✅ -- /root/.npm: **105M** ✅ +| Subprojeto | .git | Branch | Status | +|------------|------|--------|--------| +| workspace | ✅ | master | M SESSION-STATE + MEMORY.md | +| pulse-docs | ✅ | main | ✅ clean / pushed `e4f8268` | +| pulse-memory | ✅ | main | ✅ clean / pushed `7b0126a` | +| pulse-libs | ✅ | master | M SESSION-STATE + MEMORY.md (edits from workspace) | +| pulse-3d-landing | ✅ | master | M SESSION-STATE + MEMORY.md (edits from workspace) | +| pulse-dev | ✅ | master | M SESSION-STATE + MEMORY.md (edits from workspace) | +| pulse-skills | ❌ no-git | — | — | +| pulse-wurthflow | ❌ no-git | — | — | +| apps/dashboard | ❌ no-git | — | — | -## ⏳ Pendências (10:39 — ciclo 19) -- [ ] stale-lock detector: corrigir para `lsof` antes de marcar >48h stale -- [ ] pulse-dev: .gitignore + commit + workspace-add -- [ ] pulse-libs: commitar .gitignore + vitest -- [ ] pulse-3d-landing: Three.js scene interativo +> **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. + +## ⪡ Stale-lock detector (11:04 — ciclo 22) +- 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 para checar processo antes de marcar stale +- [ ] pulse-dev: adicionar .git próprio + commit (+ workspace integrado) +- [ ] 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 - [ ] projects.octal.tec.br: nginx default → conteúdo real - [ ] pulse-libs.octal.tec.br: Caddy TLS fix - [ ] USER.md compressão auto-learned: agendado **2026-05-26** (~5 dias) -- [ ] pulse-skills repo: adicionar domínio 3d-renderer -- [ ] Disk 78% — monitorar (>80% = alerta) -- [ ] load avg >12 = alertar / RAM >80% = alertar -- [ ] .learnings: revisar SUSPICIOUS skills a cada 30 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 +- [ ] SUSPICIOUS skills review: agendado em 30 dias da última revisão