ruvector/crates/rvf/rvf-federation/Cargo.toml
rUv 6990be7631 feat: implement rvf-federation crate for federated transfer learning
Implements ADR-057 with 7 modules (2,940 lines, 54 tests):
- types: 4 new segment types (FederatedManifest 0x33, DiffPrivacyProof 0x34,
  RedactionLog 0x35, AggregateWeights 0x36)
- pii_strip: 3-stage pipeline (detect, redact, attest) with 12 regex rules
- diff_privacy: Gaussian/Laplace noise, RDP accountant, gradient clipping
- federation: ExportBuilder + ImportMerger with version-aware conflict resolution
- aggregate: FedAvg, FedProx, Byzantine-tolerant weighted averaging
- policy: FederationPolicy for selective sharing with allow/deny lists
- error: 15 typed error variants

Also updates rvf-types with 4 new segment discriminants (0x33-0x36),
workspace Cargo.toml, and root README (crate count, segment count,
federated learning code example).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-27 15:07:31 +00:00

32 lines
1,003 B
TOML

[package]
name = "rvf-federation"
version = "0.1.0"
edition = "2021"
description = "Federated RVF transfer learning -- PII stripping, differential privacy, federated averaging"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ruvnet/ruvector"
homepage = "https://github.com/ruvnet/ruvector"
readme = "README.md"
categories = ["science", "cryptography"]
keywords = ["federated-learning", "differential-privacy", "transfer-learning", "rvf"]
rust-version = "1.87"
[features]
default = ["std"]
std = []
serde = ["dep:serde"]
[dependencies]
serde = { version = "1", default-features = false, features = ["derive"], optional = true }
sha3 = { version = "0.10", default-features = false }
rand = { version = "0.8", default-features = false, features = ["std", "std_rng"] }
rand_distr = { version = "0.4", default-features = false }
regex = "1"
thiserror = "2"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "federation_bench"
harness = false