Skip to content

v0.3.0 — Lock contention root fix + silent data loss fix

Choose a tag to compare

@JapanNomu JapanNomu released this 07 May 08:34
· 3 commits to main since this release

v0.3.0 — Architectural root fix for the Ladybug DB lock contention reported by uzuchi on the v0.2.1 Zenn article.

Highlights

  • Lock contention root fix (Could not set lock on file no longer occurs): queue drain moved from an out-of-process flusher (harness/hooks/cognee_remember_flusher.py, removed) into a new in-Claude-Code skill (harness/skills/cognee-queue-flush/SKILL.md). The skill calls mcp__cognee__remember on the already-running MCP cognee server, so no second cognee-mcp process is ever spawned.
  • Silent data loss fix: 3-tier failure check (is_error=True / Error:-prefixed text / raised exception) is now enforced inside the skill; failures land in ~/.claude/cognee_failed_remembers.jsonl and are retried.
  • Cognee 1.0.5 → 1.0.8. Pin with pip install "cognee[fastembed]==1.0.8".
  • Per-invocation drain limit via COGNEE_QUEUE_FLUSH_MAX_PER_RUN (default 3).
  • Persistence guidance: CronCreate(... durable=true) is the only way to make a schedule survive restarts.

Verification

  • 21 BATCH tests (UT 12 / IT 4 / ET 3 / ST 2) pass on cognee 1.0.8
  • Hands-on setup-procedure walkthrough: zero lock-contention errors across 50+ MCP calls under the same reproduction condition as the original report.

Migration (from v0.2.1)

See claude-code-tools/claude-code-cognee-graph-memory/CHANGELOG.md for the 5-step upgrade procedure.

Special Thanks

uzuchi — for the original Zenn comment with the precise reproduction setup. Thank you.