- #706: apply_micro_lora/apply_base_lora seeded their output buffer with
zeros in napi.rs, napi_simple.rs, and wasm.rs, but the Rust LoRA forward
pass has residual semantics (adds delta into the buffer). Cold queries
collapsed to the zero vector, and post-feedback queries returned only
the delta instead of input+delta. Fixed by seeding with a clone of the
input in all three binding layers. Added regression tests.
- #705: WasmBackend had no byte-level persistence. The underlying
rvf_store_export/rvf_store_open C-ABI functions already existed —
wired them into WasmBackend.exportBytes()/openBytes() and
RvfDatabase.exportBytes()/openBytes(), verified against the real
compiled .wasm binary.
- #704: NodeBackend.ingestBatch() silently dropped RvfIngestEntry.metadata
instead of forwarding it, and query() filter serialization omitted the
native parser's required valueType. Since a full field-name-to-id
design for metadata durability is a larger follow-up, applied the
issue's own suggested interim fix: ingest now throws
MetadataNotSupported instead of silently losing data. Filter
serialization now infers and includes valueType.
- #707: docs/api/NODEJS_API.md and docs/guides/ADVANCED_FEATURES.md
advertised HybridSearch/FilteredSearch/MMRSearch/ConformalPredictor as
Node exports; none are bound by crates/ruvector-node. Corrected with
explicit "not yet shipped" notes pointing at the tracking issue.
README corrections for #705/#707 (WasmRvfStore, HybridSearch docs) are
staged separately — a repo hook requires a visual design-grade ritual for
any README change that this session cannot complete (no browser/screenshot
access), so they'll follow once that's resolved.
* docs(adr): ADR-257 extract ruqu + rvdna into standalone repos via submodules
Two separate standalone repos — ruvnet/ruqu (both clusters: quantum-sim
ruqu-* + min-cut ruQu + ruqu-wasm npm) and ruvnet/rvdna (examples/dna +
rvdna npm) — re-referenced as git submodules at external/ruqu, external/rvdna.
Includes the full coupling analysis (rvdna path-depends on 9 unpublished
ruvector crates; ruQu on ruvector-mincut; ruqu consumed by OSpipe/rvf; code
spans crates/ + npm/), the honest standalone-build caveat, migration steps,
and rollback.
Adds scripts/extract-ruqu-rvdna-submodules.sh — idempotent, DRY-RUN by
default; --execute required to create the public repos. Dry-run verified.
Co-Authored-By: claude-flow <ruv@ruv.net>
* docs(adr): ADR-257 correction — ruvector deps ARE published (closure at 2.2.3)
The earlier "rvdna/ruQu can't build standalone" claim was based on a crates.io
API rate-limit misread. Authoritative sparse-index check shows all ruvector-*
deps were already published; the full rvdna closure is now synced to 2.2.3
(published collections/filter/math/dag/cluster/raft/replication/gnn/attention;
solver/core/graph already there). Standalone builds now only need the mechanical
path->version dep rewrite in the extracted repos. Added an Update section.
Co-Authored-By: claude-flow <ruv@ruv.net>
* refactor: reference ruqu + rvdna as submodules (ADR-257)
- Remove crates/ruqu-*, crates/ruQu, examples/dna, and the two npm wrappers
from the monorepo; they now live in standalone repos ruvnet/ruqu and
ruvnet/rvdna (both build standalone against published ruvector-* 2.2.3).
- Add them as git submodules at external/ruqu and external/rvdna; exclude
those nested workspaces from the root workspace.
- Repoint examples/OSpipe and examples/rvf path deps to external/ruqu/crates/*.
- CI: drop the ruqu-quantum shard + ruqu --exclude lines (no longer workspace
members), add `submodules: recursive` to checkout steps.
- cargo metadata + full dependency resolution verified green.
Refs #579
Co-Authored-By: claude-flow <ruv@ruv.net>
* fix(ci): exclude examples/OSpipe + examples/rvf from workspace (ADR-257)
These two example crates are the only workspace members that path-dep into the
external/ruqu submodule. As members, they forced EVERY workflow that resolves
the workspace (Build Native Modules, etc.) to need `submodules: recursive` —
those jobs checkout submodules:false and failed:
failed to read external/ruqu/crates/ruqu-algorithms/Cargo.toml (os error 3)
Moving them to `exclude` makes the workspace resolve without the submodules
(verified: 0 members reference external/), so all Build jobs pass. The crates
remain buildable on demand (`cargo build -p ospipe` with submodules checked out).
Refs #579
---------
Co-authored-by: ruv <ruvnet@users.noreply.github.com>
New example qaoa_graphcut.rs demonstrates quantum-classical hybrid
graph-cut solving using ruQu's QAOA MaxCut implementation as an
alternative to the classical Edmonds-Karp mincut solver.
- 3 test cases: 1D chains (8, 10 nodes) and 2D grid (3x4)
- Encodes graph-cut as MaxCut with source/sink auxiliary nodes
- Compares QAOA vs classical: energy, quality ratio, F1
- Convergence analysis sweeping QAOA depth p=1-5
- 340 lines, self-contained
https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
PlanetDashboard: semi-major axis uses a=P^(2/3) instead of P/30,
orbit eccentricity/inclination derived from candidate name hash
for deterministic reproducibility.
planet_detection: 400 log-spaced trial periods for uniform sensitivity,
5 trial transit durations (0.01-0.035) instead of single 0.02 duty cycle.
https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
ADR-040: Replace extracted dashboard and microlensing sections with
cross-references to ADR-040a and ADR-040b. Condense data model,
adapters, and constructs. Core pipeline content preserved.
real_microlensing: Add download manifest with 12 real OGLE/MOA events
(8 confirmed planets), cross-survey normalization, enhanced MOA parser,
simulated download from published parameters.
https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
Reduce both examples to under 500 lines per CLAUDE.md guidelines.
Preserve all functionality: graph cut segmentation, RVF integration,
witness chains, evaluation metrics, and cancer driver gene detection.
https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
Key improvements to the exomoon detection pipeline:
PSPL Fitting:
- Extract pspl_chi2_at() helper for reuse
- Add fine refinement pass (±1 unit, 0.2 step) around coarse grid best
- Better parameter recovery for all geometric parameters
Lambda Computation:
- Three complementary statistics: excess chi2, runs test coherence, Gaussian bump fit
- Excess chi2 normalized against event's global reduced chi2 (not theoretical)
- Differential lambda: compare each window to its tau-neighbors, producing
z-scores that are ~0 for uniform fit quality and positive for localized anomalies
- This key change prevents the cut from labeling entire peak regions as moon
Detection Criteria:
- J-score from lambda_sum with per-window penalty (replacing BIC formalism)
- Fragility bootstrap for support stability
- Support fraction bounded (2-50%) for localization
Embeddings:
- Fixed residual computation to use fitted F_s * A(u) + F_b model
- Injection bank labels based on positive local evidence (not just geometry)
- Bank size increased to 60 events for better prior calibration
Current metrics: P=25%, R=25%, F1=0.25 on 30 synthetic events.
Detection quality is limited by the perturbative Chang-Refsdal
approximation — production requires a full polynomial lens solver,
as noted in the user's formulation.
https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
Review fixes:
- Fix XSS vulnerability in PlanetDashboard.ts (sanitize innerHTML with API data)
- Fix SNR variance calculation in planet_detection.rs (use out-of-transit only)
- Fix sort comparator for string columns in PlanetDashboard.ts
- Fix material/texture memory leaks in PlanetSystem3D.ts (dispose on clearSystem/destroy)
- Fix camera auto-rotate drift by storing intended radius
- Use Kepler's third law for semi-major axis calculation
- Seed orbit eccentricity/inclination from candidate ID for reproducibility
- Add metadata field constants (replace magic numbers)
- Document synthetic embedding limitation
- Fix ADR-040 typo ("two-machinevisu" → "two-machine")
New feature:
- Add microlensing_detection.rs example with M0-M3 pipeline for rogue planet
and exomoon candidate detection using synthetic OGLE/MOA-style light curves
with Paczynski PSPL fitting, residual anomaly detection, and coherence gating
https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
- 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>
Include the generated 2.1 MB .rvf binary artifact in repo alongside
the v2.0 optimized example (22 capabilities, zero warnings, Paranoid
policy, audited queries, COW branching, SSN/encoding detection).
Co-Authored-By: claude-flow <ruv@ruv.net>
- solver_benchmark.rs: Store benchmark results in RVF for analysis
- Updated solver_witness.rs with refinements
- Updated examples/rvf/Cargo.toml with 3 new [[example]] entries
- Updated examples/rvf/src/lib.rs with new example documentation
- Refined AGI sublinear optimization review
https://claude.ai/code/session_01TiqLbr2DaNAntQHaVeLfiR
- All 10 ADR-STS documents updated from Proposed to Accepted
- Added implementation status sections reflecting delivered solver crate
- Updated SOTA research analysis to v3.0 with implementation realization
- Updated optimization guide to v2.0 with realized optimizations
- Updated executive summary, performance, algorithm, and testing docs
- Added solver_witness.rs RVF example
https://claude.ai/code/session_01TiqLbr2DaNAntQHaVeLfiR
- Examples (self_booting, linux_microkernel, claude_code_appliance,
live_boot_proof) now use KernelBuilder::build() which tries Docker
first and falls back to builtin stub — real 5.2 MB bzImage embedded
- Fix Docker kernel extraction: clean up stale containers, pass dummy
entrypoint for scratch-based images
- README: add real measured boot benchmarks (257ms boot→service,
381ms boot→verify), kernel size comparison (5.1 MB general vs
3.8 MB ultrafast = 26% smaller)
- Fix claude_code_appliance idempotency (remove old file before create)
Co-Authored-By: claude-flow <ruv@ruv.net>
- Examples (self_booting, linux_microkernel, claude_code_appliance,
live_boot_proof) now use KernelBuilder::build() which tries Docker
first and falls back to builtin stub — real 5.2 MB bzImage embedded
- Fix Docker kernel extraction: clean up stale containers, pass dummy
entrypoint for scratch-based images
- README: add real measured boot benchmarks (257ms boot→service,
381ms boot→verify), kernel size comparison (5.1 MB general vs
3.8 MB ultrafast = 26% smaller)
- Fix claude_code_appliance idempotency (remove old file before create)
Co-Authored-By: claude-flow <ruv@ruv.net>
- Add live_boot_proof.rs: end-to-end Docker boot + SSH + RVF verification
- Add ULTRAFAST_BOOT_CONFIG: sub-100ms kernel config (no NUMA/cgroups/ext4/netfilter)
- Add build_fast_initramfs(): minimal init path (3 mounts + direct service start)
- Add KernelBuilder::ultrafast() with optimized cmdline for fast boot
- Update README with live boot proof instructions and ultra-fast boot docs
- 5 new tests (44 total in rvf-kernel), all passing
Co-Authored-By: claude-flow <ruv@ruv.net>
- Add live_boot_proof.rs: end-to-end Docker boot + SSH + RVF verification
- Add ULTRAFAST_BOOT_CONFIG: sub-100ms kernel config (no NUMA/cgroups/ext4/netfilter)
- Add build_fast_initramfs(): minimal init path (3 mounts + direct service start)
- Add KernelBuilder::ultrafast() with optimized cmdline for fast boot
- Update README with live boot proof instructions and ultra-fast boot docs
- 5 new tests (44 total in rvf-kernel), all passing
Co-Authored-By: claude-flow <ruv@ruv.net>