- 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
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
- 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
Rewrote CHANGELOG.md from a single v0.1.0 entry to cover all major
releases: v0.1.0, v0.1.16, v0.1.19, v0.1.32, v0.2.6, v0.3.0, v2.0.4,
and v2.0.5 — based on full commit history analysis across 2000+ commits.
Co-Authored-By: claude-flow <ruv@ruv.net>
MultiHeadAttention::new() and RuvectorLayer::new() used assert!() for input
validation which caused fatal abort() when called from NAPI-RS/WASM bindings —
unrecoverable by JavaScript callers. Both now return Result<Self, GnnError>,
and all WASM/NAPI wrappers propagate errors as catchable JS exceptions.
Also fixes pre-existing mmap.rs test compilation error (grad_offset returns
Option<usize>, not usize).
Closes#216
Co-Authored-By: claude-flow <ruv@ruv.net>
- GETTING_STARTED.md: rewrite to cover both ruvector-core (VectorDB) and
rvf-runtime (RvfStore) APIs, add package registry table, fix SearchQuery
fields (ef_search not include_vectors), results use .score not .distance
- INSTALLATION.md: update crate version 0.1.0 -> 2.0, fix npm scoped
package names (@ruvector/*), remove non-existent Docker image, update
Rust version requirement to 1.80+, fix CLI docs to match actual subcommands
- BASIC_TUTORIAL.md: fix SearchQuery.include_vectors -> ef_search, fix
result.distance -> result.score, fix HnswConfig/QuantizationConfig field
access patterns (options.hnsw -> options.hnsw_config, wrap in Some())
- ADVANCED_FEATURES.md: same field name fixes, fix QuantizationConfig
wrapping in Some(), remove references to non-existent mmap_vectors field
- docs/README.md: update version to 2.0.4/0.1.100, update date
Co-Authored-By: claude-flow <ruv@ruv.net>
- Fix fragile persistence assertion: compare against post-delete baseline
instead of pre-delete `all` which could include the deleted twitter vector
- Extract segment type magic numbers into named constants (SEG_VEC, etc.)
- Add comments for raw AGI container flag bitmasks (bits 4 and 10)
- Add seed non-overlap comment for vector generation
- Improve hex() to use pre-allocated String with fmt::Write
Co-Authored-By: claude-flow <ruv@ruv.net>
Research three GitHub projects sharing the OpenFang name:
- RightNow-AI/openfang: Rust-based Agent OS (most significant)
- anmaped/openfang: Camera firmware for Ingenic T20 (dormant)
- danshorstein/OpenFang: Python AI assistant fork
https://claude.ai/code/session_015KgxqLUhevxop1jhiZY2Y4
SEC-001: MmapGradientAccumulator now uses checked arithmetic for all
offset computations, validates node_id bounds before pointer ops, and
asserts mmap bounds before read/write. Matches MmapManager's safe pattern.
SEC-002: ProofAttestation hashes are now computed over actual proof and
environment content using domain-separated SipHash-2-4, filling all 32
bytes. Replaces the previous scheme that left 24+ bytes as zeros and used
only counter values. Removes false Ed25519 claim from module docs.
Also fixes ruvector-verified CI: unused_mut warnings in ruvector-core
(feature-gated code) and clippy unnecessary_lazy_evaluations in lib.rs.
Co-Authored-By: claude-flow <ruv@ruv.net>
- Sanitize shell arguments in hooks_init, hooks_pretrain, hooks_build_agents,
and workers_status handlers to prevent OS command injection (CWE-78)
- Strengthen sanitizeShellArg to also strip quotes, newlines, and backslashes
- Add sanitizeNumericArg helper for numeric-typed arguments
- Improve validateRvfPath with symlink resolution (realpathSync) and cwd confinement
- Add schema validation and prototype pollution guard to hooks_import handler
- Replace permissive CORS (CorsLayer::permissive) with localhost-only origin
policy in Rust SSE transport
Co-Authored-By: claude-flow <ruv@ruv.net>