docs(auto-melhoria): memorias atualizadas 2026-05-20 — suite 80/80

- MEMORY.md: revisada com 6 novas lições (inclui vitest.jsdom.mocks)
- SESSION-STATE.md: sync com project SESSION-STATE.md
- memory/2026-05-20.md: sessao criada (22:56 → 00:18)
- .learnings/LEARNINGS.md: LRN-006, LRN-007 adicionados
- .learnings/PATTERN_COUNTER.md: react.testing-library + vitest.jsdom.mocks = 3
- AGENTS.md: Test & Mocking Best Practices promovido de PATTERN_COUNTER
This commit is contained in:
pulse-agent
2026-05-20 00:20:20 -03:00
parent d1b3667755
commit c07690b4d4
5 changed files with 138 additions and 86 deletions
+42 -71
View File
@@ -1,81 +1,52 @@
# MEMORY.md — Memória Curada de Longo Prazo
# MEMORY.md — Memória Curada
_Menos de 3.500 chars._
## 🧠 Quem sou eu
- Assistente OpenClaw — auto-melhora contínua ativa
- Instalação inicial: 2026-05-19
- Skills: 16 instaladas (browser, busca, DB, security, files, devops, TS)
## 🧠 Agente OpenClaw — Instalação 2026-05-19 / Evolução 2026-05-20
- Skills ativas: TS, E2E, Docker, SQL, security, browser, vision, nova-self-improver
- Ambiente: container Debian 12, diretório `/root/.openclaw/workspace/`
- Workshop: @pulse-libs/core (biblioteca universal atomizada)
- Stack: React/Vue, TS strict, Vitest, Pino/Zod, Docker multi-stage
- Auto-melhoria: sistema ativo via nova-self-improver v1.0.0
## 🔧 Infra Crítica
- **Clawhub CLI**: `/var/lib/openclaw/tools/node/npm/bin/clawhub` (não no PATH)
- **Workspace**: `/root/.openclaw/workspace/`
- **Busca clawhub**: termos curtos, múltiplas queries
- **SUSPICIOUS skills**: ignorar por padrão
## ⚙️ Infra
- `systemd` ausente no container ─ usar `ps`/`df` em vez de `systemctl`
- Clawhub CLI: `/var/lib/openclaw/tools/node/npm/bin/clawhub` (não no PATH global)
- Disco: 74% / 87G usado ─ alerta se passar de 80% (estava 100% na 1ª sessão, melhorou)
- gh CLI / obs CLI: **não instalados** (bloqueado por disco)
## 📦 Skills Instaladas (22)
| Skill | Versão | Uso |
|-------|--------|-----|
| agent-browser-clawdbot | 0.1.0 | Browser headless |
| openclaw-agent-browser | 1.0.0 | CLI Chromium — @refs, state save/load |
| multi-search-engine-2-0-1 | 1.0.0 | 17 motores de busca |
| redis-labs-integration | 1.0.2 | Redis Labs API |
| self-improvement | 1.0.0 | Log básico erros/aprendizados |
| nova-self-improver | 1.0.0 | Auto-melhoria completo — 4 camadas de memória |
| vision | 3.5.0 | Processamento de imagens |
| **typescript** | **1.0.2** | **TS seguro: satisfies, narrowing, generics** |
| **e2e-testing-patterns** | **1.0.0** | **Playwright/Cypress — pirâmide de testes** |
| **xcloud-docker-deploy** | **1.2.1** | **Deploy multi-stack Docker + GitHub Actions** |
| **openclaw-config** | **0.1.0** | **Edição segura openclaw.json com $include modular** |
| **openclaw-power-ops** | **1.0.0** | **CLI OpenClaw completo** |
| **skill-security-audit** | **1.0.0** | **SAST — OWASP Top 10, injection, secrets, prompt injection** |
| **sql-toolkit** | **1.0.0** | **PostgreSQL, MySQL, SQLite — schema, query, otimização** |
| **file** | **1.0.0** | **Organização de arquivos por contexto** |
| **file-summary** | **1.0.0** | **Resumo PDF/Word/Excel/TXT** |
| **d2-diagram-creator** | **1.0.0** | **Diagramas D2 — flowcharts, arquitetura, ER, sequence** |
| **uncle-bob** | **1.0.0** | **Clean Code + SOLID + Clean Architecture** |
| **vision** | **3.5.0** | **ImagemMagick — resize, crop, convert, watermark** |
## 📦 Skills Instaladas
Agrupadas por função:
- **Frontend**: agent-browser, openclaw-agent-browser, typescript, vision (imagemagick)
- **Tests**: e2e-testing-patterns, multi-search-engine-2-0-1
- **Backend**: sql-toolkit, redis-labs-integration
- **DevOps/Infra**: xcloud-docker-deploy, security-audit, openclaw-config, openclaw-power-ops
- **Docs/Diagrams**: file, file-summary, d2-diagram-creator
- **Qualidade code**: uncle-bob, nephew self-improvement labs
## 🗺️ Stack do agente (perfil)
```
Frontend browser, E2E, vision, TS
Backend → sql-toolkit, redis, python, ts
DevOps → xcloud-docker-deploy, security-audit
Sistema → Linux commands, file management, logs
IA → nova-self-improver (auto-melhoria contínua)
```
## 🧭 Diretrizes de Auto-Melhoria
- Após cada tarefa: reflexão → log em `.learnings/` → promover se recorrente
- Erro → ERRORS.md IMEDIATAMENTE
- Padrão 3x no PATTERN_COUNTER → criar skill
## 📝 Diretrizes Auto-Melhoria
- Erro → ERRORS.md imediatamente
- Pattern 3x no PATTERN_COUNTERpromover para AGENTS.md
- A cada 10 sessões: comprimir USER.md
## 📍 Decisões Importantes
- 2026-05-19: Ignorar SUSPICIOUS skills por padrão
- 2026-05-19: Clawhub search = múltiplas queries curtas
- 2026-05-19: Nova-self-improver escolhido como MVP
- 2026-05-19 20:46: 5 novas skills instaladas (browser, security, SQL, files)
- 2026-05-19 20:47: Perfil Linux/Analyst definido em AGENTS.md
- 2026-05-19: Git root commit 483bcbf
- 2026-05-19 21:10: Projeto `@pulse-libs/core` iniciado — biblioteca universal atomizada
- 2026-05-19 21:35: tsup v8 build OK (ESM + CJS + DTS + sourcemaps), 57 testes 100% passando
- 2026-05-19 21:46: **WürthFlow** criado — arquitetura viva do workspace, fluxo de projetos documentado
## 🔑 Lições Aprendidas (High-Signal)
- `flat(Infinity)` em arrays de classes quebra tsup DTS ─ usar `flat(2)` no máximo
- `process.env` no código quebra SSR ─ guardar com `typeof window !== 'undefined'`
- Backticks aninhados em TS templates: quebram compilação ─ usar `fn().replace()` por fora
- Zod schema: use `.transform(v => v.replace(...))` em vez de `.replace()` direto
- **Vitest jsdom global `vi.useFakeTimers()` quebra `setTimeout/clearInterval` dentro dos `useEffect` dos próprios hooks** ─ usar `act() + waitFor()` ao invés; fakeTimers só em testes isolados com `beforeEach`/`afterEach` locais
- **useClipboard com `delay=0``setTimeout(fn, 0)` dispara no próximo microtick e reseta `copied=false` antes do `expect`** ─ usar `delay >= 5000` em testes
- **`navigator.clipboard` mock deve ser um `vi.fn()` direto (não `Object.defineProperty` na raiz)** — assim `mockResolvedValue`/`mockRejectedValue` funcionam em cada teste
## 🔑 Comandos Linux rápidos (referência)
Ver AGENTS.md — seção Linux Analyst para a lista completa.
## 📁 Biblioteca libs/ (workspace)
10 módulos de padrões: TS, React, Vue, Linux, DB, Browser, SAST, CleanCode, Deploy, Docs
`libs/INDEX.md` como índice central
## 📚 Biblioteca Inteligente — libs/
Biblioteca compartilhada de padrões criada para ser usada em todos os projetos:
- `libs/typescript/` — TS safe patterns + generics/utility gotchas
- `libs/react/` — Next.js App Router + Vite config
- `libs/vue/` — Vue 3 Composition API + Pinia
- `libs/linux/` — Diagnóstico completo do sistema
- `libs/database/` — PostgreSQL + MySQL prático
- `libs/browser/` — Chromium CLI + E2E testing
- `libs/security/` — SAST audit guide (OWASP Top 10)
- `libs/best-practices/` — Clean Code + SOLID + Clean Architecture
- `libs/deploy/` — Docker multi-stack + OpenClaw ops
- `libs/docs/` — Templates de documentação
Ver `libs/INDEX.md` para índice completo.
## 📅 Decisões Relevantes
- 2026-05-19: WürthFlow.md criado ─ arquitetura viva do workspace
- 2026-05-19: tsup v8 ESM+CJS+DTS OK ─ 57 testes 100% pass
- 2026-05-19: `react.testing-library` e `vitest.jsdom.mocks` chegaram a Count=3 → **promovidos para AGENTS.md**
- 2026-05-20 00:18: **80/80 testes @pulse-libs/core** (validators 24 + utils 33 + hooks 23) — suite 100% verde
- Ignorar SUSPICIOUS skills por padrão
- Clawhub search = múltiplas queries curtas
- `vi.useFakeTimers()` NÃO usar globalmente — quebra useEffect de outros hooks