Skip to content

feat: integrate sparsifier into pi.ruv.io brain server (ADR-116)#277

Merged
ruvnet merged 2 commits intomainfrom
feat/adr-116-sparsifier-brain-integration
Mar 20, 2026
Merged

feat: integrate sparsifier into pi.ruv.io brain server (ADR-116)#277
ruvnet merged 2 commits intomainfrom
feat/adr-116-sparsifier-brain-integration

Conversation

@ruvnet
Copy link
Owner

@ruvnet ruvnet commented Mar 20, 2026

Summary

  • Integrates ruvector-sparsifier into the brain server's KnowledgeGraph
  • Compressed shadow graph maintains spectral properties with O(n log n) edges instead of O(n²)
  • All existing data paths unchanged — sparsifier is additive only, no data loss risk

Changes

  • Cargo.toml: Add ruvector-sparsifier dependency
  • graph.rs: Add AdaptiveGeoSpar field, incremental updates in add_memory/remove_memory, rebuild_sparsifier(), sparsifier_stats(), sparsifier_audit()
  • types.rs: Add sparsifier_compression and sparsifier_edges to StatusResponse
  • routes.rs: Build sparsifier on startup hydration and rebuild_graph, expose stats in status endpoint

Safety

  • Full graph preserved for exact lookups and neighbor queries
  • Sparsifier is Option<AdaptiveGeoSpar> — gracefully absent if build fails
  • No existing behavior modified — only additive instrumentation
  • 141/143 tests pass (2 pre-existing pipeline test failures unrelated)

Test plan

  • cargo check passes
  • cargo build succeeds
  • 141 tests pass (2 pre-existing failures in pipeline::tests)
  • Deploy to Cloud Run and verify /v1/status shows sparsifier fields
  • Verify existing brain operations unaffected

🤖 Generated with claude-flow

ruvnet added 2 commits March 20, 2026 15:29
- Add ruvector-sparsifier dependency to mcp-brain-server
- KnowledgeGraph now maintains an AdaptiveGeoSpar alongside full graph
- Sparsifier updates incrementally on add_memory / remove_memory
- Lazy initialization: sparsifier builds on first access or startup hydration
- rebuild_graph optimization action also rebuilds the sparsifier
- StatusResponse exposes sparsifier_compression and sparsifier_edges
- Full graph preserved for exact lookups — sparsifier is additive only

Co-Authored-By: claude-flow <ruv@ruv.net>
- Add COPY for ruvector-sparsifier crate
- Add to workspace members in Cargo.workspace.toml
- Strip bench/example sections from sparsifier Cargo.toml in Docker

Co-Authored-By: claude-flow <ruv@ruv.net>
@ruvnet ruvnet merged commit 61164d9 into main Mar 20, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant