openclaw-test-heap-leaks

Installation
SKILL.md

OpenClaw Test Heap Leaks

Use this skill for test-memory investigations. Do not guess from RSS alone when heap snapshots are available. Treat snapshot-name deltas as triage evidence, not proof, until retainers or dominators support the call.

Workflow

  1. Reproduce the failing shape first.

    • Match the real entrypoint if possible. For Linux CI-style unit failures, start with:
    • pnpm canvas:a2ui:bundle && OPENCLAW_TEST_MEMORY_TRACE=1 OPENCLAW_TEST_HEAPSNAPSHOT_INTERVAL_MS=60000 OPENCLAW_TEST_HEAPSNAPSHOT_DIR=.tmp/heapsnap OPENCLAW_TEST_WORKERS=2 OPENCLAW_TEST_MAX_OLD_SPACE_SIZE_MB=6144 pnpm test
    • Keep OPENCLAW_TEST_MEMORY_TRACE=1 enabled so the wrapper prints per-file RSS summaries alongside the snapshots.
    • If the report is about a specific shard or worker budget, preserve that shape.
    • Before you analyze snapshots, identify the real lane names from [test-parallel] start ... lines or pnpm test --plan. Do not assume a single unit-fast lane; local plans often split into unit-fast-batch-*.
  2. Wait for repeated snapshots before concluding anything.

    • Take at least two intervals from the same lane.
    • Compare snapshots from the same PID inside the real lane directory such as .tmp/heapsnap/unit-fast-batch-2/.
    • Use .agents/skills/openclaw-test-heap-leaks/scripts/heapsnapshot-delta.mjs to compare either two files directly or the earliest/latest pair per PID in one lane directory.
    • If the helper suggests transformed-module retention, confirm the top entries in DevTools retainers/dominators before calling it solved.
Installs
1
First Seen
Jun 23, 2026
openclaw-test-heap-leaks — storyclaw-official/storyclaw-assistant