=== claude-mem functional smoke (repo at /tmp/claude-mem-review, HOME=/tmp/cm-func-home) === --- check 1: MCP initialize handshake + tool enumeration --- === INITIALIZE === serverInfo: {"name": "claude-mem", "version": "13.24.1"} protocolVersion: 2024-11-05 capabilities: ['tools'] === TOOLS/LIST === tool count: 15 first 12 names: ['important_workflow', 'search', 'timeline', 'get_observations', 'get_tool_uses', 'session_start_context', 'smart_search', 'smart_unfold', 'smart_outline', 'build_corpus', 'list_corpora', 'prime_corpus'] === RESOURCES/LIST === error (expected if capability absent): Method not found === PROMPTS/LIST === error (expected if capability absent): Method not found [PASS] MCP handshake + tools/list works, search tool present --- check 2: MCP search tool call on empty memory --- === INITIALIZE === serverInfo: {"name": "claude-mem", "version": "13.24.1"} protocolVersion: 2024-11-05 capabilities: ['tools'] === TOOLS/LIST === tool count: 15 first 12 names: ['important_workflow', 'search', 'timeline', 'get_observations', 'get_tool_uses', 'session_start_context', 'smart_search', 'smart_unfold', 'smart_outline', 'build_corpus', 'list_corpora', 'prime_corpus'] === CALL search === isError: True, content blocks: 1 Error calling Worker API: fetch failed === RESOURCES/LIST === error (expected if capability absent): Method not found === PROMPTS/LIST === error (expected if capability absent): Method not found [PASS] search tool returns a structured response on empty DB --- check 3: MCP negative case (unknown tool) --- [PASS] unknown tool rejected with an error --- check 4: worker start -> health -> stop lifecycle --- start exit=0 {"continue":true,"status":"ready","suppressOutput":true} worker port: 37703 health: {"status":"ok","version":"13.24.1","workerPath":"/private/tmp/claude-mem-review/plugin/scripts/worker-service.cjs","uptime":3,"managed":false,"hasIpc":false,"platform":"darwin","pid":40485,"initialized":true,"mcpReady":true,"ai":{"provider":"claude","authMethod":"Claude Code OAuth token (read from system keychain at spawn)","lastInteraction":null},"dependencies":{"degraded":false,"statuses":[]},"rateLimits":{}} [PASS] worker answers /api/health on port 37703 stop issued [PASS] worker stopped (port closed) --- check 5: SessionStart context hook (empty memory) --- exit=0 {"hookSpecificOutput":{"hookEventName":"SessionStart","additionalContext":"# claude-mem status\n\nThis project has no memory yet. The current session will seed it; subsequent sessions will receive auto-injected context for relevant past work.\n\nMemory injection starts on your second session in a project.\n\n`/learn-codebase` is available if the user wants to front-load the entire repo into memory in a single pass (~5 minutes on a typical repo, optional). Otherwise memory builds passively as work happens.\n\nLive activity: http://localhost:37703\n✨ Get up to 100% more usage from your plan — memory runs off-plan, free for 30 days https://cmem.ai/pro?from=welcome-hint&trial=30\nHow it works: `/how-it-works`\n\nThis message disappears once the first observation lands."},"systemMessage":"# claude-mem status\n\nThis project has no memory yet. The current session will seed it; subsequent sessions will receive auto-injected context for relevant past work.\n\nMemory injection starts on your second session in a project.\n\n`/learn-codebase` is available if the user wants to front-load the entire repo into memory in a single pass (~5 minutes on a typical repo, optional). Otherwise memory builds passively as work happens.\n\nLive activity: http://localhost:37703\n✨ Get up to 100% more usage from your plan — memory runs off-plan, free for 30 days https://cmem.ai/pro?from=welcome-hint&trial=30\nHow it works: `/how-it-works`\n\nThis message disappears once the first observation lands.\n\nView Observations Live @ http://localhost:37703\n✨ Get up to 100% more usage from your plan — memory runs off-plan, free for 30 days https://cmem.ai/pro?from=session-start&trial=30"} (bytes: 1694) [PASS] context hook exits 0 on empty memory ( 1694 bytes out) --- check 6: sqlite db created in data dir --- [PASS] SQLite DB created at $CLAUDE_MEM_DATA_DIR/claude-mem.db --- check 7: telemetry config written, and DO_NOT_TRACK honored --- (no telemetry.json yet: no events fired) [PASS] no telemetry.json created for a DO_NOT_TRACK run === SUMMARY: 8 passed, 0 failed === === addendum: search with worker running === {"status":"ok","version":"13.24.1","workerPath":"/private/tmp/claude-mem-review/plugin/scripts/worker-service.cjs","uptime":34,"managed":false,"hasIpc":false,"platform":"darwin","pid":40551,"initializ --- search (worker up, empty DB) --- === CALL search === isError: True, content blocks: 1 Error calling Worker API: Request timed out after 30000ms === RESOURCES/LIST === [FAIL] search still errors with worker up --- session_start_context tool (worker up) --- === CALL session_start_context === isError: False, content blocks: 1 # claude-mem status This project has no memory yet. The current session will seed it; subsequent sessions will receive auto-injected context for relevant past work. Memory injection starts on your second session in a project. `/learn-codebase` is available if the user wants to front-load the enti... === RESOURCES/LIST === [PASS] session_start_context renders context via MCP with worker up [PASS] worker stopped again === SUMMARY: 2 passed, 1 failed === waiting 15s for chroma-mcp + worker full readiness... {"status":"ok","version":"13.24.1","workerPath":"/private/tmp/claude-mem-review/plugin/scripts/worker-service.cjs","uptime":15,"managed":false,"hasIpc":false,"p --- search on warm worker (elapsed 14s) --- === CALL search === isError: False, content blocks: 1 No results found matching "authentication" === RESOURCES/LIST === worker stopped