Skip to content

Latest commit

 

History

History
419 lines (341 loc) · 13.5 KB

File metadata and controls

419 lines (341 loc) · 13.5 KB

RuVector Publishing Checklist

Generated: 2026-01-18 Version: 0.1.32 Status: Pre-publication Review

This document tracks the readiness of all ruvector crates for publication to crates.io.


Summary

Category Status Notes
Cargo.toml Metadata NEEDS WORK Missing keywords/categories on core crates
Documentation GOOD All core crates have READMEs
License PASS MIT license present and verified
CI/CD PASS 19 GitHub Actions workflows
Tests PASS Tests compile successfully
Pre-publish Dry Run NEEDS WORK Compilation error in SIMD code

1. Cargo.toml Metadata Updates

Workspace Configuration (/Cargo.toml)

  • Version: 0.1.32
  • Edition: 2021
  • Rust-version: 1.77
  • License: MIT
  • Authors: ["Ruvector Team"]
  • Repository: https://github.com/ruvnet/ruvector

Core Crates - Metadata Status

ruvector-core

Field Status Current Value
name PASS ruvector-core
version PASS workspace
description PASS "High-performance Rust vector database core with HNSW indexing"
readme PASS README.md
license PASS workspace (MIT)
repository PASS workspace
keywords MISSING Need to add
categories MISSING Need to add
documentation MISSING Need to add
homepage MISSING Need to add

Recommended additions:

keywords = ["vector-database", "hnsw", "similarity-search", "embeddings", "simd"]
categories = ["database", "algorithms", "science"]
documentation = "https://docs.rs/ruvector-core"
homepage = "https://github.com/ruvnet/ruvector"

ruvector-graph

Field Status Current Value
name PASS ruvector-graph
version PASS workspace
description PASS "Distributed Neo4j-compatible hypergraph database with SIMD optimization"
readme PASS README.md
keywords MISSING Need to add
categories MISSING Need to add
documentation MISSING Need to add

Recommended additions:

keywords = ["graph-database", "cypher", "hypergraph", "neo4j", "distributed"]
categories = ["database", "data-structures", "algorithms"]
documentation = "https://docs.rs/ruvector-graph"
homepage = "https://github.com/ruvnet/ruvector"

ruvector-gnn

Field Status Current Value
name PASS ruvector-gnn
version PASS workspace
description PASS "Graph Neural Network layer for Ruvector on HNSW topology"
readme PASS README.md
keywords MISSING Need to add
categories MISSING Need to add

Recommended additions:

keywords = ["gnn", "graph-neural-network", "machine-learning", "hnsw", "embeddings"]
categories = ["science", "algorithms", "machine-learning"]
documentation = "https://docs.rs/ruvector-gnn"
homepage = "https://github.com/ruvnet/ruvector"

ruvector-mincut (GOOD)

Field Status Current Value
name PASS ruvector-mincut
description PASS "World's first subpolynomial dynamic min-cut..."
keywords PASS ["graph", "minimum-cut", "network-analysis", "self-healing", "dynamic-graph"]
categories PASS ["algorithms", "data-structures", "science", "mathematics", "simulation"]
documentation PASS https://docs.rs/ruvector-mincut
homepage PASS https://ruv.io

ruvector-attention (GOOD)

Field Status Current Value
name PASS ruvector-attention
version NOTE 0.1.31 (not using workspace)
description PASS "Attention mechanisms for ruvector..."
keywords PASS ["attention", "machine-learning", "vector-search", "graph-attention"]
categories PASS ["algorithms", "science"]

ruvector-sona (GOOD)

Field Status Current Value
name PASS ruvector-sona
version NOTE 0.1.4 (not using workspace)
description PASS "Self-Optimizing Neural Architecture..."
keywords PASS ["neural", "learning", "lora", "llm", "adaptive"]
categories PASS ["science", "algorithms", "wasm"]
documentation PASS https://docs.rs/sona
homepage PASS https://github.com/ruvnet/ruvector/tree/main/crates/sona
license PASS MIT OR Apache-2.0

ruvector-postgres (GOOD)

Field Status Current Value
name PASS ruvector-postgres
version NOTE 2.0.0 (not using workspace)
description PASS "High-performance PostgreSQL vector database extension v2..."
keywords PASS ["postgresql", "vector-database", "embeddings", "pgvector", "hnsw"]
categories PASS ["database", "science", "algorithms"]
documentation PASS https://docs.rs/ruvector-postgres
homepage PASS https://github.com/ruvnet/ruvector

ruvector-cli

Field Status Current Value
name PASS ruvector-cli
description PASS "CLI and MCP server for Ruvector"
keywords MISSING Need to add
categories MISSING Need to add

Recommended additions:

keywords = ["cli", "vector-database", "mcp", "ruvector", "command-line"]
categories = ["command-line-utilities", "database"]
documentation = "https://docs.rs/ruvector-cli"
homepage = "https://github.com/ruvnet/ruvector"

ruvector-filter

Field Status Current Value
name PASS ruvector-filter
description PASS "Advanced metadata filtering for Ruvector vector search"
rust-version MISSING Need to add workspace
keywords MISSING Need to add
categories MISSING Need to add

ruvector-collections

Field Status Current Value
name PASS ruvector-collections
description PASS "High-performance collection management for Ruvector vector databases"
rust-version MISSING Need to add workspace
keywords MISSING Need to add
categories MISSING Need to add

2. Documentation Status

Crate READMEs

Crate README Lines Status
ruvector-core Yes 511 GOOD
ruvector-graph Yes - GOOD
ruvector-gnn Yes - GOOD
ruvector-mincut Yes - GOOD
ruvector-attention Yes - GOOD
sona Yes - GOOD
ruvector-postgres Yes - GOOD
ruvector-cli Yes - GOOD

Doc Comments

Status Notes
NEEDS WORK 112 missing documentation warnings in ruvector-core
PRIORITY Focus on public API documentation

Key areas needing docs:

  • arena.rs - Thread-local arena documentation
  • advanced/neural_hash.rs - Struct field documentation
  • Various public structs and functions

ADR Documentation

ADR Title Status
ADR-001 Ruvector Core Architecture Proposed
ADR-002 RuvLLM Integration Proposed
ADR-003 SIMD Optimization Strategy Proposed
ADR-004 KV Cache Management Proposed
ADR-005 WASM Runtime Integration Proposed
ADR-006 Memory Management Proposed

3. Pre-publish Checks

Cargo Publish Dry Run Results

ruvector-core

Status: FAILED
Error: cannot find function `euclidean_distance_neon_unrolled_impl`
Location: src/simd_intrinsics.rs:40

Analysis: The error occurs during verification of the packaged tarball on non-ARM64 systems. The code compiles correctly on ARM64 (Apple Silicon). This is a cross-compilation issue.

Action Required:

  1. Ensure the simd_intrinsics.rs file has proper #[cfg(...)] guards for all platform-specific functions
  2. The uncommitted changes in simd_intrinsics.rs need to be reviewed and committed
  3. Test on multiple architectures before publish

Compilation Status

Crate Status Warnings
ruvector-core COMPILES 112 warnings
Test compilation PASS Tests compile

4. License Verification

LICENSE File

Field Value Status
Location /LICENSE PASS
Type MIT PASS
Copyright 2025 rUv PASS
Format Standard MIT PASS

Dependency License Compatibility

License Compatible with MIT Status
MIT Yes PASS
Apache-2.0 Yes PASS
BSD-* Yes PASS
ISC Yes PASS

Note: All workspace dependencies are compatible with MIT license.


5. CI/CD Workflows

GitHub Actions (19 workflows)

Workflow Purpose Status
agentic-synth-ci.yml Agentic synthesis CI ACTIVE
benchmarks.yml Performance benchmarks ACTIVE
build-attention.yml Attention crate builds ACTIVE
build-gnn.yml GNN crate builds ACTIVE
build-graph-node.yml Graph node builds ACTIVE
build-native.yml Native builds (all platforms) ACTIVE
build-router.yml Router builds ACTIVE
build-tiny-dancer.yml Tiny Dancer builds ACTIVE
docker-publish.yml Docker image publishing ACTIVE
edge-net-models.yml Edge network models ACTIVE
hooks-ci.yml Hooks CI testing ACTIVE
postgres-extension-ci.yml PostgreSQL extension CI ACTIVE
publish-all.yml Multi-crate publishing ACTIVE
release.yml Release automation ACTIVE
ruvector-postgres-ci.yml PostgreSQL crate CI ACTIVE
ruvllm-build.yml RuvLLM builds ACTIVE
ruvllm-native.yml RuvLLM native builds ACTIVE
sona-napi.yml SONA NAPI builds ACTIVE
validate-lockfile.yml Lockfile validation ACTIVE

6. CHANGELOG Status

Current CHANGELOG.md

  • Format: Keep a Changelog compliant
  • Last documented version: 0.1.0 (2025-11-19)
  • Unreleased section: Contains documentation updates

Required Updates

  • Add v0.1.32 release notes
  • Document ADR-based architecture decisions
  • Add AVX-512 SIMD optimization features (ADR-003)
  • Document WASM runtime integration (ADR-005)
  • Document memory management improvements (ADR-006)
  • Add KV cache management features (ADR-004)

7. Action Items

High Priority (Before Publish)

  1. Fix SIMD Compilation Issue

    • Review uncommitted changes in crates/ruvector-core/src/simd_intrinsics.rs
    • Ensure proper #[cfg(...)] guards for cross-platform compilation
    • Commit or revert changes
  2. Add Missing Metadata

    # Add to these crates:
    # - ruvector-core: keywords, categories, documentation, homepage
    # - ruvector-graph: keywords, categories, documentation
    # - ruvector-gnn: keywords, categories, documentation
    # - ruvector-cli: keywords, categories, documentation
    # - ruvector-filter: rust-version.workspace, keywords, categories
    # - ruvector-collections: rust-version.workspace, keywords, categories
  3. Version Alignment

    • ruvector-attention uses 0.1.31 instead of workspace
    • ruvector-sona uses 0.1.4 instead of workspace
    • ruvector-postgres uses 2.0.0 instead of workspace
    • Decide: Keep independent versions or align to workspace?

Medium Priority

  1. Documentation Improvements

    • Address 112 missing documentation warnings
    • Add doc examples to public APIs
    • Run cargo doc --no-deps and fix any errors
  2. CHANGELOG Updates

    • Add v0.1.32 section
    • Document ADR-based features

Low Priority

  1. Test Coverage

    • Run full test suite: cargo test --workspace
    • Ensure all tests pass before publish
  2. Clean Up Warnings

    • Fix 18 unused import/variable warnings
    • Run cargo fix for auto-fixable issues

8. Publishing Order

When ready to publish, use this order (respecting dependencies):

1. ruvector-core (no internal deps)
2. ruvector-filter (depends on ruvector-core)
3. ruvector-collections (depends on ruvector-core)
4. ruvector-metrics (depends on ruvector-core)
5. ruvector-snapshot (depends on ruvector-core)
6. ruvector-graph (depends on ruvector-core)
7. ruvector-gnn (depends on ruvector-core)
8. ruvector-cluster (depends on ruvector-core)
9. ruvector-raft (depends on ruvector-core)
10. ruvector-replication (depends on ruvector-core, ruvector-raft)
11. ruvector-router-core (depends on ruvector-core)
12. ruvector-mincut (depends on ruvector-core, optional ruvector-graph)
13. ruvector-attention (depends on optional ruvector-math)
14. ruvector-sona (no ruvector deps)
15. ruvector-tiny-dancer-core (depends on ruvector-core, ruvector-router-core)
16. ruvector-dag (depends on ruvector-core, ruvector-attention, ruvector-mincut)
17. ruvector-server (depends on multiple crates)
18. ruvector-cli (depends on ruvector-core, ruvector-graph, ruvector-gnn)
19. Platform bindings (-node, -wasm variants) last

9. Commands Reference

# Verify a single crate
cargo publish --dry-run -p ruvector-core --allow-dirty

# Build documentation
cargo doc --no-deps -p ruvector-core

# Run tests
cargo test -p ruvector-core

# Check all crates compile
cargo check --workspace

# Fix auto-fixable warnings
cargo fix --workspace --allow-dirty

# Publish (when ready)
cargo publish -p ruvector-core

Approval Checklist

Before publishing, confirm:

  • All metadata fields added to crates
  • SIMD compilation issue resolved
  • Tests pass on all platforms
  • Documentation builds without errors
  • CHANGELOG updated
  • Version numbers consistent
  • Git working directory clean
  • GitHub Actions CI passing

Last Updated: 2026-01-18 Next Review: Before v0.1.32 release