Skip to content

Track upstream blarify Kuzu support contribution #2123

@rysweet

Description

@rysweet

Context

We've vendored blarify 1.3.0 and added KuzuManager to enable Kuzu database support (PR #2118). This allows blarify to work without Neo4j.

Goal

Contribute our KuzuManager implementation upstream to https://github.com/blarApp/blarify so we can eventually remove the vendored copy and use official blarify with Kuzu support.

What Needs to Be Done

Upstream PR to blarify

  1. Fork blarify repository
  2. Create branch: feat/add-kuzu-database-support
  3. Extract changes from our vendor directory:
    • repositories/graph_db_manager/kuzu_manager.py (NEW)
    • repositories/graph_db_manager/__init__.py (export KuzuManager)
    • cli/commands/create.py (add --db-type kuzu option)
  4. Write tests for KuzuManager
  5. Create PR to blarApp/blarify
  6. Follow up on PR review and merge

Migration Back to Official Blarify

Once upstream accepts Kuzu support:

  1. Remove src/amplihack/vendor/blarify/ directory
  2. Add blarify>=X.Y.Z to dependencies (version with Kuzu support)
  3. Update imports in src/amplihack/memory/kuzu/code_graph.py
  4. Test migration works
  5. Create PR to remove vendored blarify

Benefits

  • Reduced maintenance burden (no vendored code to maintain)
  • Upstream improvements flow through automatically
  • Community benefits from Kuzu support
  • Cleaner amplihack codebase

Timeline

  • Short term: Keep vendored blarify (working now)
  • Medium term: Submit upstream PR (weeks)
  • Long term: Migrate to official blarify when merged (months)

Related

Dependencies

  • Upstream blarify maintainers accepting the contribution
  • Kuzu support being maintained in upstream blarify

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions