Replace requirePiBrain() + PiBrainClient with direct fetch() calls to pi.ruv.io.
All 13 brain CLI commands and 11 brain MCP tools now work out of the box with
zero extra dependencies. Includes 30s timeout on all brain API calls.
Co-Authored-By: claude-flow <ruv@ruv.net>
- Run cargo fmt across entire workspace
- Create README.md files for all 9 EXO-AI crates
- Convert path dependencies to crates.io version dependencies for publishing
- Add [patch.crates-io] to exo workspace for local development
Co-Authored-By: claude-flow <ruv@ruv.net>
Clippy fixes (8 warnings → 0):
- Replace 5 manual Default impls with #[derive(Default)]
- Use .clamp() instead of .min().max() chain
- Use .is_some_and() instead of .map_or(false, ...)
- Add type alias for complex return type in scene_graph_to_adjacency
P0 correctness fixes from code review:
- Fix NaN panic: use unwrap_or(Ordering::Equal) in cognitive_core think()
- Fix integer overflow: use checked_mul in OccupancyGrid::new
- Fix potential unwrap: use map_or in domain_expansion score_avoidance
Co-Authored-By: claude-flow <ruv@ruv.net>
SpatialIndex: replace Vec<Vec<f32>> with flat Vec<f32> buffer for cache
locality and zero per-point heap allocation; use squared Euclidean
distance in kNN/radius search (defer sqrt to final k results); fuse
cosine distance into single loop.
Clustering: add union-by-rank to union-find preventing tree
degeneration (O(α(n)) amortized); add #[inline] on hot helpers.
A* planning: add closed set (HashSet) to avoid re-expanding nodes;
reuse neighbor buffer to eliminate per-expansion Vec allocation;
pre-allocate HashMap capacity; add #[inline] on helpers.
Perception: defer sqrt in bounding_sphere (compare squared distances,
one sqrt at end); defer sqrt in scene graph edge construction (filter
on squared threshold); add #[inline] on dist_3d.
Sensor fusion: pre-allocate merged vectors from total eligible cloud
size. Anomaly detection: fuse distance + statistics into single pass
using Welford's online algorithm (eliminates one full data pass).
All 281 tests pass.
https://claude.ai/code/session_01H1GkTK5z9ppVVQDQukjBsY
New `rvf` feature flag enables the `ruvf::RoboticsRvf` wrapper that
bridges point clouds, scene graphs, trajectories, Gaussian splats, and
obstacles into the RuVector Format (.rvf) for persistence and similarity
search.
RoboticsRvf supports:
- pack_point_cloud (dim 3)
- pack_scene_objects / pack_scene_graph (dim 9)
- pack_trajectory (dim 3)
- pack_gaussians (dim 7) — converts PointCloud→GaussianSplatCloud→RVF
- pack_obstacles (dim 6)
- query_nearest (kNN via HNSW index)
- open/open_readonly/close lifecycle
9 unit tests covering create, ingest, query, reopen, dimension mismatch,
and empty data rejection. Also fixes unused import warnings in integration
tests. All 290 tests pass across default, domain-expansion, and rvf features.
https://claude.ai/code/session_01H1GkTK5z9ppVVQDQukjBsY
- ExoTransferOrchestrator.package_as_rvf(): serializes all TransferPriors,
PolicyKernels, and CostCurves into a 64-byte-aligned RVF byte stream
- ExoTransferOrchestrator.save_rvf(path): convenience write-to-file method
- Enable ruvector-domain-expansion rvf feature in exo-backend-classical
- 3 new RVF tests: empty packager, post-cycle magic verification, save-to-file
- substrate.rs: fill pattern field from returned search vector (r.vector.map(Pattern::new))
- README: document 5-phase transfer pipeline, RVF packaging, updated
architecture diagram, 4 new Key Discoveries, 3 new Practical Applications
All 0 failures across full workspace test suite.
https://claude.ai/code/session_019Lt11HYsW1265X7jB7haoC
- vector.rs: convert exo_core::Filter Equal conditions to ruvector HashMap
filter; store and round-trip _pattern_id in metadata
- substrate.rs: implement BettiNumbers, PersistentHomology, SheafConsistency
for hypergraph_query using VectorDB stats
- anticipation.rs: implement TemporalCycle pre-fetching via sinusoidal
phase encoding
- crdt.rs: add T: Display bound to reconcile_crdt; look up score from
ranking_map by format!("{}", result)
- thermodynamics.rs: rust,ignore → rust,no_run
- ExoTransferOrchestrator: new cross-phase wiring module in
exo-backend-classical that runs all 5 integration phases in a single
run_cycle() call (bridge → manifold → timeline → CRDT → emergence)
- transfer_pipeline_test.rs: 5 end-to-end integration tests covering the
full pipeline (single cycle, multi-cycle, emergence, manifold, CRDT)
All 0 failures across full workspace test suite.
https://claude.ai/code/session_019Lt11HYsW1265X7jB7haoC
New modules for ruvector-robotics:
- bridge/gaussian: GaussianSplat types, PointCloud→Gaussian conversion, vwm-viewer JSON export
- planning: A* pathfinding on OccupancyGrid with octile heuristic, potential field velocity commands
- mcp/executor: ToolExecutor dispatching ToolRequests to perception pipeline and spatial index
- perception/sensor_fusion: multi-sensor cloud fusion with timestamp alignment and voxel downsampling
Rewrites integration tests to use actual crate APIs instead of local reimplementations,
eliminating ~280 lines of false-positive test code. Adds 15 benchmark groups covering
all new modules (Gaussian conversion, A* planning, potential fields, sensor fusion, MCP execution).
All 270+ tests pass including domain-expansion feature.
https://claude.ai/code/session_01H1GkTK5z9ppVVQDQukjBsY
Phase 2 — exo-manifold/src/transfer_store.rs
TransferManifold stores (src, dst) transfer priors as 64-dim deformable
patterns via ManifoldEngine::deform. Sinusoidal domain-ID hashing gives
meaningful cosine distances for retrieve_similar.
Phase 3 — exo-temporal/src/transfer_timeline.rs
TransferTimeline records transfer events in the temporal causal graph.
Each event is linked to its predecessor so the system can trace full
transfer trajectories. anticipate_next() returns CausalChain +
SequentialPattern hints.
Phase 4 — exo-federation/src/transfer_crdt.rs
TransferCrdt propagates transfer priors across the federation using
LWW-Map (cycle = timestamp) + G-Set for domain discovery. Merges are
idempotent and commutative. promote_via_consensus runs PBFT Byzantine
commit before accepting a prior.
Phase 5 — exo-exotic/src/domain_transfer.rs
StrangeLoopDomain implements the Domain trait: self-referential tasks
whose solutions are scored by meta-cognitive keyword density.
CollectiveDomainTransfer couples CollectiveConsciousness with
DomainExpansionEngine — arm rewards flow into the substrate and
collective Φ serves as the cycle quality metric.
EmergentTransferDetector wraps EmergenceDetector to surface non-linear
capability gains from cross-domain transfer.
All 4 crates gain the ruvector-domain-expansion path dep. 36 new tests,
all green alongside the existing suite.
https://claude.ai/code/session_019Lt11HYsW1265X7jB7haoC
- Remove unsafe pointer aliasing in BehaviorTree::tick(), use safe
disjoint field borrowing instead (P0)
- Fix usize underflow in score_scene_graph when expected_objects < 2 (P0)
- Fix cluster ID overflow in reference_solution for PointCloudClustering (P0)
- Fix NaN handling in MaxDistEntry::cmp — NaN treated as maximally
distant so it gets evicted from kNN heap first (P1)
- Clamp cosine_distance output to prevent negative values from
floating-point rounding (P1)
- Change search_radius to return Ok(Vec::new()) for empty index instead
of Err(EmptyIndex) for correct semantics (P1)
- Add debug_assert guards for empty slices in bounding_sphere and
cluster_to_object (P1)
- Remove dead PipelineConfig.spatial_search_k field (P2)
- Use serde_json::from_value instead of to_string+from_str roundtrip
in domain_expansion for better performance (P2)
All 257 tests pass.
https://claude.ai/code/session_01H1GkTK5z9ppVVQDQukjBsY
- Fix all 35 compiler warnings across 23 files (unused imports, dead code,
unused vars, unnecessary parens) — build is now warning-clean
- Optimize NeuromorphicBackend::kuramoto_step O(n²)→O(n):
use sin/cos sum identity so coupling_i = (K/N)[cos(φ_i)·ΣsinΦ - sin(φ_i)·ΣcosΦ],
eliminates inner loop for 1000-neuron network (1M→1K ops per tick)
- Optimize k_wta: full sort O(n log n) → select_nth_unstable O(n avg)
using Rust's pdqselect partial sort
- Add #[inline] to hot paths: kuramoto_step, k_wta, hd_encode, lif_tick
- Fix federation: correctly swap unused FederationError (crdt.rs) and
unused HashMap (consensus.rs) — both in opposite files from first guess
https://claude.ai/code/session_019Lt11HYsW1265X7jB7haoC
Add genomics, trading, quantum, neuromorphic, graph intelligence, nervous
systems, scientific OCR, knowledge graphs, GNN, and SONA as specialized
domains with transfer value explanations. Add cross-domain transfer examples
table, domain connectivity diagram, and underlying infrastructure layer map.
Co-Authored-By: claude-flow <ruv@ruv.net>
- New README for domain expansion crate (cross-domain transfer learning)
- All 20 AI OS table layer titles now link to their crate READMEs
Co-Authored-By: claude-flow <ruv@ruv.net>