Fixed
- Unbounded launchd watcher accumulation. MCP boot no longer registers a permanent
KeepAliveagent for ephemeral/per-session dirs (~/.claude/homunculus/*,.cursor/worktrees/*,plugins/cache/*). Newprune_staleruns on every bootstrap and removes agents whose target dir is gone or ephemeral, self-healing existing cruft. (launchd-only for now; systemd/schtasks GC is a follow-up.) - Graceful watcher teardown. MCP server now stops the watcher via
atexit+SIGTERMso the watchdog Observer flushes and joins instead of dying mid-debounce.
Added
- Semantic dedupe of near-duplicate claims. Paraphrastic claims (cosine ≥
CLAIMS_SEMANTIC_DEDUP_THRESHOLD, default 0.90) collapse into the closest open claim instead of inserting duplicate rows. Set ≥ 1.0 to disable.
Also includes prior untagged work: Cursor harness integration + installer improvements.
Update: code-memory update