Back to Claude Mem

Phase 01 PR Triage Report

.maestro/playbooks/2026-03-12-CM-Issues-PRs/2026-03-12-Issues-PRs-Triage/Working/phase-01-triage-report.md

13.15.311.4 KB
Original Source

Phase 01: PR Triage Report

Summary

  • 15 PRs reviewed across 5 batches
  • 14 PRs merged, 1 closed as superseded
  • 16 issues closed (6 duplicates + 10 resolved by merged PRs)
  • 3 PRs skipped due to merge conflicts (need rebase)
  • 1 PR flagged for rework (dead code / not wired in)
  • Test suite verified: 1135 passed, 3 skipped, 0 failures

PRs Reviewed

Batch 1 — Critical Bug Fixes (Data Correctness)

PRTitleFixesStatus
#1345Prevent LLM from using <observation> tags in summary responses#1312MERGED
#1344Respect env vars and settings.json for DATA_DIR resolution#1303MERGED
#1343Respect dateStart/dateEnd filters in Chroma search path#1324MERGED
#1337smart-install.js outputs valid JSON for hook contract#1253MERGED
#1336Null guard getChromaSync() when Chroma disabled#1294MERGED

Batch 2 — Lifecycle and Hook Fixes

PRTitleFixesStatus
#1330Move session-complete from Stop to SessionEnd hook#1314MERGED
#1325Prevent zombie subprocess accumulation#1226, #1296MERGED
#1291Remove unrecognized fields from Stop hook output#1288, #1290MERGED
#1326Gracefully handle missing transcript files in worktrees#1234, #1235MERGED
#1264Older worktree transcript fix (superseded by #1326)CLOSED (superseded)

Batch 3 — Data Integrity and Infrastructure

PRTitleFixesStatus
#1315Include SSE live data when project filter is active#1313MERGED
#1308Auto-repair malformed database schema from cross-version sync#1307MERGED
#1302Content-hash dedup for batch observation store methods#1260MERGED
#1301Harden hook fallback and MCP node resolution#1242, #1289SKIPPED (merge conflict, needs rebase)

Batch 4 — Standalone Fix PRs

PRTitleFixesStatus
#1341Merge SessionStart hooks to run sequentially#1346MERGED
#1334Prevent infinite restart loop on FK constraint errorsMERGED
#1306Handle missing session_id when Cursor runs hooksSKIPPED (merge conflict, needs rebase)
#1286Always pass --ssl flag to chroma-mcp in remote modeMERGED

Batch 5 — Feature PRs

PRTitleFixesStatus
#1321Per-project disable/exclude functionality#1320SKIPPED (merge conflict, needs rebase). Code review: APPROVED
#1319Workspace-based memory isolation#1318NEEDS REWORK — dead code not wired into runtime, DRY violations

Issues Closed

Duplicate Issues Closed (6)

ClosedDuplicate OfTopic
#1250#1248Chroma-mcp CPU runaway on Apple Silicon
#1235#1234Stop hook crashes in git worktrees
#1290#1288Stop hook output format / JSON validation
#1317#1256basename(cwd) project detection fragmentation
#1232#1261Chroma connection/setup failures
#1296#1226Orphaned/zombie process accumulation

Issues Resolved by Merged PRs (10)

IssueTitleResolved By
#1312Summarize produces <observation> instead of <summary>PR #1345
#1303paths.ts ignores settings.json and env vars for DATA_DIRPR #1344
#1324MCP search ignores dateStart/dateEnd filtersPR #1343
#1253SessionStart hook error from non-JSON smart-install outputPR #1337
#1294Null crash on getChromaSync() when Chroma disabledPR #1336
#1314session-complete in Stop hook kills SDK agentPR #1330
#1226Process leak: worker never terminates subagent processesPR #1325
#1288Stop hook loops infinitely due to {"continue":true}PR #1291
#1313SSE live data discarded when project filter activePR #1315
#1307Schema migration failure on cross-version DB syncPR #1308

Test Results

  • 1135 tests passed, 3 skipped, 0 failures across 66 test files (19.48s)
  • Build succeeded — all artifacts generated
  • No regressions detected from merged PRs

Remaining: PRs Needing Rebase (3)

These PRs were reviewed and approved but have merge conflicts after earlier batch merges:

PRTitleAction Needed
#1301Harden hook fallback and MCP node resolutionRebase onto main
#1306Handle missing session_id (Cursor compatibility)Rebase onto main
#1321Per-project disable/exclude functionalityRebase onto main

Remaining: PR Needing Rework (1)

PRTitleIssue
#1319Workspace-based memory isolationDead code — new files not wired into hooks.json or worker-service.ts. DRY violations with parallel code paths. Needs integration into existing handlers.

Remaining Open Issues (Still Need Code Fixes)

These 42 open issues were NOT addressed in Phase 01 and feed into subsequent triage phases:

IssueTitle
#1346SessionStart hook errors on shared port 37777 (partially addressed by #1341)
#1342mcp-server.cjs has CRLF line endings — shebang fails on macOS/Linux
#1340Setup hook references missing scripts/setup.sh in v10.5.5
#1339Web UI #ID numbers don't match MCP get_observations IDs
#1335Observer sessions trigger ECC's observe.sh hook — double Haiku loop
#1332OpenClaw plugin config: observationFeed blocked
#1331SSE new_prompt broadcast stops after /reload-plugins
#1323Race condition: Database not initialized error on session-init
#1322Restore manual save_memory MCP tool for explicit memory creation
#1320Per-project disable/exclude functionality (PR #1321 needs rebase)
#1318Workspace-based memory isolation (PR #1319 needs rework)
#1299mock.module() leak in context-reinjection-guard test
#1297chroma-mcp crashes when CWD contains .env.local
#1289Worker silently fails init when 'node' not in PATH (PR #1301 needs rebase)
#1285Possible command injection in GitHub Actions workflow
#1284Integration idea: claude-brain for cross-machine sync
#1281Windows: Stop hooks fail with MODULE_NOT_FOUND (backslash paths)
#1274Stop hook crashes with 'Transcript path missing' after context compaction
#1273UUID observation IDs for multi-machine sync/merge
#1272Add option to disable subdirectory CLAUDE.md generation
#1269CPU 100% caused by saved_hook_context in session files
#1268Claude code update breaks claude-mem
#1266Loss of connection to MCPs despite active localhost:37777
#1265Display model name on observation/summary cards in web UI
#1263search (MCP) Worker API error (500)
#1262pending_messages queue grows unbounded, 100%+ CPU on startup
#1261MCP Search fails with "Collection setup failed" error
#1260Duplicate observations — concurrent hook triggers bypass dedup (PR #1302 merged, may need verification)
#1259Gemini Flash Lite produces hallucinated observations
#1256basename(cwd) project detection fragmentation in monorepos
#1255Worker port collision causes cross-account data leakage
#1252Embedded/in-process mode for OpenClaw plugin
#1251Security Audit: Comprehensive Code Review
#1249node→bun grandchild process SIGKILL'd in sandbox
#1248chroma-mcp 250-360% CPU on macOS
#1247smart-explore fails on Windows (tree-sitter needs C compiler)
#1245worker-service.cjs start causes SIGKILL under systemd
#1242Hook fallback path points to marketplace source (PR #1301 needs rebase)
#1234Stop hook crashes in git worktrees (PR #1326 merged — verify closed)
#1231Worker start reports success with stale PID file
#1225Windows: chroma-mcp "Received request before initialization"
#1219Bump version in plugin.json to 10.4.1
#1218Runtime self-healing for stuck processing messages
#1204watch.context.path can write AGENTS.md to arbitrary paths
#1163Claude provider fails behind API proxy
#1156np should be devDependency, not runtime
#1137Plan mode triggers excessive pending message accumulation
#943Support custom API endpoint / LiteLLM proxy

Remaining Open PRs (Not Part of Phase 01)

These 45 open PRs were not reviewed in this phase — they are feature PRs, stale PRs, or address issues outside Phase 01 scope:

PRTitleState
#1348Feat/factory aiOpen
#1347Add comprehensive code analysis and optimization reportOpen
#1338feat: add MiniMax M2.5 as a provider optionOpen
#1333feat: add Codex CLI integrationOpen
#1311feat: cowork modes — persistent memory for non-coding workOpen
#1310fix(openclaw): avoid /dev/tty crash in --non-interactiveOpen
#1304feat: VS Code MCP integration with partner agent supportOpen
#1298feat: use git root for consistent project name detectionOpen
#1295fix(openclaw): fix worker startup race condition in installerOpen
#1283feat(cli): add comprehensive CLI with 11 commandsOpen
#1258feat: npx claude-mem — unified CLI with 13 IDE integrationsOpen
#1257feat: temporal scoring, staleness tracking, drift detectionOpen
#1254fix: smart-install.js non-JSON stdout causes SessionStart errorOpen
#1246feat: branch-scoped memory with git ancestry filteringOpen
#1233feat: add OpenCode platform integrationConflicting
#1230feat(session-registry): registry UI and raw session browsingOpen
#1207feat: add GitHub Copilot providerOpen
#1198fix: migrate from bun:sqlite to better-sqlite3Open
#1191fix: use 'uvx' instead of 'uvx.cmd' on WindowsOpen
#1189feat: add Claude model selection to installerOpen
#1186feat: Litestream cloud backup integrationOpen
#1180fix: detect auth errors and prevent infinite retry loopsOpen
#1177feat(provider): add OpenAI Codex OAuth providerOpen
#1169fix: deduplicate session-init to prevent redundant re-initOpen
#1164perf(memory): bound conversation history + lower Chroma footprintConflicting
#1151fix: make privacy tag stripping case-insensitiveOpen
#1150fix: use nullish coalescing for promptNumberOpen
#1142Skip summary generation for subagent runsOpen
#1129feat: add generic session backfill scriptOpen
#1127feat: implement 5-stage observation processing pipelineOpen
#1102fix: critical bug fixes, snap sandbox support, resource monitoringOpen
#1101feat: interactive feed setup wizard and standalone daemonOpen
#1092fix: harden OpenClaw integration, auth chain, SSE stabilityOpen
#1088fix: use persistent venv instead of uvxOpen
#1085fix: eliminate unbounded process spawning with 4-layer defenseOpen
#1083Add thoughts timelineOpen
#1078Add Spanish translations and Windows improvementsOpen
#1072fix: add error handling for Stop hook package.json read errorsOpen
#1064feat: sync imported observations to Chroma vector DBOpen
#996fix: preserve synthetic memorySessionId for stateless providersOpen
#854feat: Pro cloud sync integration with Supabase + PineconeOpen
#474fix(windows): prevent libuv assertion failure in smart-install.jsOpen