Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: meefs/RuView

Release v64

14 Jun 06:27
@github-actions github-actions
261ce80
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
feat(adr-260): RuField MFS spec + vendor/rufield submodule (ruvnet#1061)

ADR-260 (Accepted — v0.1 reference stack): RuField, the open specification
for camera-free multimodal field sensing — one FieldEvent/FieldTensor/
FusionGraph/PrivacyClass/ProvenanceReceipt model above WiFi CSI/CIR/BFLD,
UWB, BLE Channel Sounding, mmWave radar, ultrasound, subsonic, infrared,
and quantum sensors.

Published standalone as github.com/ruvnet/rufield and vendored here as the
vendor/rufield submodule (the vendor/rvcsi pattern — not a v2/ workspace
member). v0.1 reference stack: 6 crates, 60 tests/0 failed, clippy-clean.
All benchmark metrics SYNTHETIC (simulator ground truth, no hardware).

Co-authored-by: ruv ruvnet@gmail.com

Docker Image:
ghcr.io/meefs/RuView:261ce80a72c6ffd285f1e7c59b43b113110fd996

Assets 2
Loading

Release v62

14 Jun 00:54
@github-actions github-actions
8c24b8b
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
refactor(beyond-sota): ADR-154 M3 — clear §7.4 P3 backlog (22 de-magic + 6 boundary tests, backlog 36→0) (ruvnet#1057)

  • refactor(signal): de-magic motion.rs tuning constants (ADR-154 §7.4 #18)

Lift the bare fusion weights, normalization scales, confidence-indicator
weights, and adaptive-threshold clamp bounds in motion.rs out of the
scoring functions into named, documented EMPIRICAL-DEFAULT consts. Values
are bit-identical to the prior literals — this is cleanup, no behaviour
change.

Adds boundary/characterization tests pinning current behaviour:

  • motion_tuning_consts_unchanged_from_literals (consts == old literals)
  • doppler_component_saturates_at_full_scale (/100 then clamp(0,1))
  • correlation_score_zero_below_n2_boundary (n<2 guard)
  • temporal_variance_zero_below_two_history (len<2 guard)
  • adaptive_threshold_engages_at_history_boundary (history 9 vs 10)

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): gesture.rs euclidean length guard + de-magic (ADR-154 §7.4 #12)
  • Add a debug_assert! to euclidean_distance documenting the same-dimension
    caller contract: zip() silently truncates on a length mismatch, so a
    mismatch is now loud in debug builds while the release operating path and
    output are unchanged.
  • De-magic the bare 1e-10 confidence epsilon into a documented const
    CONFIDENCE_SECOND_BEST_EPSILON (value unchanged).

Tests pinning current behaviour:

  • confidence_epsilon_unchanged_from_literal
  • dtw_empty_sequence_is_infinite (n=0/m=0 boundary)
  • euclidean_distance_equal_length_is_l2 (same-dim contract)

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): de-magic longitudinal.rs drift thresholds (ADR-154 §7.4)

Lift the bare drift-detection literals (7-day baseline, 2-sigma z-score,
3-day sustained, 7-day escalation, EMA alpha, cosine epsilon) into named,
documented EMPIRICAL-DEFAULT consts encoding the module's Key Invariants.
The duplicated >= 7 in is_ready/is_ready_at now share one const. EMA alpha
kept as the exact 0.05 literal (1.0 - 0.95_f32 is not bit-identical in f32).
Values unchanged.

Tests:

  • drift_consts_unchanged_from_literals
  • is_ready_at_day_boundary (day 6 vs 7)
  • cosine_similarity_zero_vector_is_zero (zero-norm guard)

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): de-magic division/zero-norm epsilons + boundary tests (ADR-154 §7.4)

De-magic the bare division-guard epsilons in four modules into named,
documented consts (values unchanged) and pin the previously-untested
zero-norm / zero-variance / degenerate boundaries:

  • cross_room.rs: COSINE_SIMILARITY_EPSILON (1e-9) + test_cosine_similarity_zero_vector
  • multiband.rs: PEARSON_DENOMINATOR_EPSILON (1e-12) + pearson_correlation_zero_variance
  • intention.rs: LEAD_TIME_MIN_ACCEL (1e-10) + lead_time_zero_for_static_stream
  • hampel.rs: ZERO_MAD_EPSILON (1e-15) + test_zero_half_window_error
    • test_zero_mad_constant_window; documented hampel_filter # Errors

Each module also gets a *_unchanged_from_literal const-pin test.

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): de-magic rf_slam + attractor_drift constants (ADR-154 §7.4)

rf_slam.rs:

  • NS_PER_DAY (86_400_000_000_000.0), MIGRATION_MIN_SPAN_DAYS (1e-9), and the
    fixed-map defaults (FIXED_MAP_ASSOC_RADIUS_M/MIN_SIGHTINGS/MIN_COHERENCE)
    lifted out of inline literals (values unchanged).
  • migration_zero_span_is_zero_rate pins the single-sighting zero-span guard.

attractor_drift.rs:

  • METRIC_BUFFER_CAPACITY (365), STABLE_CENTER_WINDOW (10) de-magicked.
  • Documented the implicit recent.len()>=1 divide-safety in the PointAttractor
    branch (guaranteed by the count < min_observations guard).
  • analyze_min_observations_boundary pins the off-by-one boundary.

Each module gets a *_consts_unchanged_from_literals pin test.

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): de-magic coherence.rs variance floor + default decay (ADR-154 §7.4)

Completes the M1 #9 de-magic for coherence.rs: the four bare 1e-6 variance-floor
literals (update_reference floor + coherence_score/per_subcarrier_zscores epsilon)
collapse to one VARIANCE_FLOOR const, and the inline 0.95 default decay becomes
DEFAULT_EMA_DECAY. Values unchanged.

Tests:

  • drift_consts_unchanged_from_literals extended (VARIANCE_FLOOR, DEFAULT_EMA_DECAY)
  • coherence_score_finite_with_zero_variance pins the floor's effect

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): de-magic calibration.rs thresholds + min-frames default (ADR-154 §7.4 #2)

Lift the bare calibration literals into named EMPIRICAL-DEFAULT consts (values
unchanged, bit-identical; calibration is off the Python proof path):

  • DEFAULT_MIN_FRAMES (600) — was repeated across all four tier constructors
  • AMP_STD_FLOOR (1e-12) z-score divisor floor
  • MOTION_AMP_Z_THRESHOLD (2.0) / MOTION_PHASE_DRIFT_THRESHOLD (π/6) — the two
    motion_flagged sites now share one definition
  • SUBTRACT_MIN_NORM (1e-30) baseline-subtraction guard

Test calibration_consts_unchanged_from_literals pins all five and asserts every
tier constructor shares DEFAULT_MIN_FRAMES.

Co-Authored-By: claude-flow ruv@ruv.net

  • refactor(signal): de-magic fusion_quality + temporal_gesture constants (ADR-154 §7.4)

fusion_quality.rs:

  • CONTRADICTION_PENALTY (0.8) and CONTRADICTION_BOUND_HALFWIDTH (0.1) named.
  • no_contradiction_is_identity pins the n=0 boundary (penalty 0.8^0 = 1.0,
    zero-width bounds).

temporal_gesture.rs:

  • CONFIDENCE_SECOND_BEST_EPSILON (1e-10, mirrors gesture.rs) and
    NORM_QUANTIZATION_SCALE (1000.0) named.

Each module gets a *_consts_unchanged_from_literals pin test. Values unchanged.

Co-Authored-By: claude-flow ruv@ruv.net

  • docs(adr-154): record Milestone-3 — §7.4 row #21-45 P3 backlog cleared

Replace the lumped #21-45 backlog row with the enumerated M3 resolution: 22
magic constants de-magicked into named EMPIRICAL-DEFAULT consts (each pinned ==
prior literal), 6 boundary/characterization tests, ~4 doc-only, across 11
modules; not-real findings reported + skipped (unreachable attractor_drift
div0, non-existent gesture thresholds, proof-path features.rs). Update residual
P3 rows #2/#12/#17/#18 to RESOLVED, the deferred count (36 -> 0), the scope
field, and the Horizon-ledger one-liner. §7.4 backlog fully cleared across
M0-M3. CHANGELOG [Unreleased] entry added.

Validation: signal lib --no-default-features 476/0/1; --features cir 476/0;
workspace 3,275/0; Python proof PASS, hash f8e76f21...46f7a UNCHANGED.

Co-Authored-By: claude-flow ruv@ruv.net


Co-authored-by: ruv ruvnet@gmail.com

Docker Image:
ghcr.io/meefs/RuView:8c24b8bdfeb95d0cbe2aeec5074811546618afc5

Loading

Release v61

13 Jun 23:06
@github-actions github-actions
9124853
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
feat(beyond-sota): ADR-156 M2 — RaBitQ unbiased distance estimator (rigorous published negative on strict-K) (ruvnet#1056)

  • feat(ruvector): RaBitQ unbiased distance estimator (ADR-156 M2)

Implement the real Gao & Long (SIGMOD 2024) RaBitQ contribution on top of
the existing Pass-2 rotation: an unbiased estimator of the inner product /
squared distance recovered from the 1-bit code plus 8 B/vec per-vector side
info (residual_norm + x_dot_o), used to rerank the candidate set instead of
raw Hamming.

  • src/estimator.rs (new): EstimatorSketch, SideInfo, EstimatorQuery,
    DistanceEstimator (estimate_inner_product / estimate_sq_distance /
    ranking_key / cosine_ranking_key), EstimatorBank (topk_estimated[_cosine],
    with_centroid). Zero-centroid simplification documented; paper-faithful
    centroid path also built.
  • src/rotation.rs: extract apply_padded() (full padded FHT frame the code
    lives in); apply() now truncates apply_padded(). No behaviour change.
  • lib.rs: export estimator types.

Additive + backward-compatible: Pass-1 Sketch / Pass-2 SketchBank / WireSketch
wire format unchanged; all external callers use Pass-1 and are unaffected.

Co-Authored-By: claude-flow ruv@ruv.net

  • test(ruvector): estimator strict-K coverage harness (ADR-156 M2)

Add measure_estimator (cosine rerank) + measure_estimator_euclidean to the
coverage harness, on the BIT-IDENTICAL fixture / cluster centres / query
stream / cosine ground truth as measure_pass1/measure_pass2 — apples-to-apples
sign-Hamming vs unbiased-estimator-rerank.

Regression tests:

  • estimator_rerank_not_worse_than_sign (>= sign-only Pass-2 on a fixed fixture)
  • estimator_coverage_is_deterministic
  • estimator_coverage_report (--nocapture prints the strict-K table)

MEASURED strict-K (candidate_k=K=8): Pass-1 36.13% -> Pass-2-sign 46.39% ->
estimator-cosine 49.71%. Still short of the ADR-084 90% strict bar; estimator
reaches 95.12% at candidate_k=24 (vs sign 91.60%). Published negative.

Co-Authored-By: claude-flow ruv@ruv.net

  • docs(ruvector): record RaBitQ estimator measured negative (ADR-156 §11, ADR-084)
  • sketch_bench: estimator cosine/euclid columns in the coverage table.
  • ADR-156 §11 (new): estimator formula + zero-centroid simplification stated
    honestly; strict-K coverage table; RESOLVED-NEGATIVE verdict (49.71% strict,
    short of 90%); pinning test names. §5 #2 + §10.5 updated.
  • ADR-084 'Pass 2b' (new): estimator landed + measured strict-K vs the bar.
  • CHANGELOG [Unreleased]: ADR-156 §11 Milestone-2 entry.

Co-Authored-By: claude-flow ruv@ruv.net

Docker Image:
ghcr.io/meefs/RuView:91248536bcbca3a82577efa915fa03cb3442619f

Loading

Release v60

13 Jun 21:53
@github-actions github-actions
865f9de
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
perf(beyond-sota): ADR-154 M2 — FFT planner hoist (1.84x, bit-identical) + 3 honest perf nulls + boundary tests (ruvnet#1055)

  • perf(signal): hoist FFT planner across subcarriers (ADR-154 §7.4 #20)

compute_multi_subcarrier_spectrogram called compute_spectrogram once per
subcarrier, and each call built a fresh FftPlanner + re-planned the same
length-window_size FFT. Hoist the plan + window out of the per-subcarrier
loop via a new compute_spectrogram_with_plan core that takes a pre-planned
Arc and pre-built window. compute_spectrogram delegates to it
(unchanged behaviour); the multi-subcarrier path plans once and reuses.

MEASURED-HOT (dsp_perf_bench, this box): at 56 subcarriers, window 128,
fresh-planner-per-subcarrier 467.88 μs -> hoisted-plan 254.75 μs = 1.84x;
window 256: 627.27 μs -> 448.39 μs = 1.40x. Plan-forward cost alone is
~1.86 μs (w128), x56 subcarriers ~= the removed delta.

Output is bit-identical: multi_subcarrier_hoisted_plan_bit_identical
compares f64::to_bits of every spectrogram value + freq/time resolution
against the per-call fresh-planner path across all 4 window functions x
{power,magnitude} on a 56-subcarrier matrix. The numeric STFT body is the
old loop verbatim; only plan/window construction is lifted.

Co-Authored-By: claude-flow ruv@ruv.net

  • test(signal): boundary/tolerance tests for ADR-154 §7.4 #14 #16 #19

Three "+ test" backlog gaps closed — pure additions, no behaviour change
(phase_align refactor is internal: estimate_phase_offsets still returns the
identical offset vector; a counted core is split out only to observe the
iteration count).

#14 cir.rs fft_operator — fft_operator_within_tolerance_of_dense_canonical56:
the opt-in FFT Φ/ΦH path changes the witness hash, so pin it numerically
CLOSE to the dense path (not silently divergent). Asserts the full Cir
output (every tap within 1e-2·dominant, dominant idx/ratio, active_tap_count,
ranging_valid, rms_delay_spread) on the production canonical-56 config
across τ ∈ {20,50,90} ns. Extends the existing HT20/single-τ test.

#16 phase_align.rs — refinement_terminates_at_iteration_cap_when_not_converging:
forces non-convergence (tolerance=0.0, unreachable) and asserts the loop
runs exactly max_iterations then returns — proving the cap, not convergence,
bounds the loop (no infinite spin). Companion
refinement_converges_before_cap_on_easy_input proves the cap is an upper
bound, not the only exit.

#19 csi_ratio.rs — ratio_finite_at_and_below_1e_12_epsilon: the module
implements the CSI ratio as the conjugate product H_i·conj(H_j) (no
division), so it is finite even at/below the 1e-12 magnitude boundary a
naive H_i/H_j division would need an epsilon to guard. Pins finiteness +
bit-exact conjugate product at the boundary (zero target → zero, never
inf/NaN), through the amplitude/phase extraction.

cargo test -p wifi-densepose-signal --no-default-features --lib: 447 passed,
0 failed; --features cir --lib: 447 passed, 0 failed.

Co-Authored-By: claude-flow ruv@ruv.net

  • docs(adr-154): record Milestone-2 P2-perf verdicts + boundary tests (§7.4)

§7.4: #20 MEASURED-HOT (×ばつ spectrogram FFT-plan hoist, bit-identical);
#5/#6/#7 MEASURED-NULL (benched, not hot, left as-is — sub-μs / stack-only /
alloc-once); #8 MEASUREMENT-ONLY (per-call ×ばつ56 eigh cost; eigenvalue/BLAS
backend un-buildable on this Windows host, number deferred to a BLAS box, NOT
fabricated; also corrects the finding — extract_perturbation reuses cached
modes, the recompute is in estimate_occupancy). #14/#16/#19 RESOLVED (tolerance
/ convergence-cap / epsilon-boundary tests). Updated §7.4 intro + Horizon-ledger
(deferred count 41→36). CHANGELOG [Unreleased] entry added.

Co-Authored-By: claude-flow ruv@ruv.net

  • bench(signal): committed P2 bench-first benches (ADR-154 §7.4 #5/#6/#7/#8/#20)

New dsp_perf_bench.rs backs every Milestone-2 perf verdict with a committed
criterion bench — no speedup claimed without a before/after number here, and
a benched NULL is the proof a micro-opt was unnecessary (the §5.x "already
amortized" pattern). Registered in Cargo.toml [[bench]].

MEASURED (this box, criterion medians):
#20 spectrogram_multi_subcarrier (fresh vs hoisted plan):
MEASURED-HOT — 467.88→254.75 μs (1.84x) @ sc56/w128; 627.27→448.39 μs
(1.40x) @ sc56/w256. Optimized in the prior commit.
#5 multistatic_attention/weights: MEASURED-NULL — 181 ns (2 nodes) ..
848 ns (8 nodes); sub-μs, no hot-path alloc — left as-is.
#6 tomography_reconstruct/solve: MEASURED-NULL — 47.5 μs (16 links) /
60.4 μs (32 links) for a full 50-iter ISTA solve; the 2 per-solve voxel
buffers (~4 KB) are negligible vs O(iters·links·voxels) compute, and
reconstruct(&self) reuses them across iterations already — left as-is.
#7 pose_kalman_update/cycles: MEASURED-NULL — 150 ns (17 kpts) / 2.82 μs
(170); the Kalman "gain matrices" are fixed-size STACK arrays
([[f32;3];6]), zero heap — nothing to reuse — left as-is.
#8 field_model_occupancy (eigenvalue feature): MEASUREMENT-ONLY — quantifies
the per-call n×ばつn eigendecomposition cost; incremental SVD is a sized
future project, not attempted (number recorded in ADR-154 §7.4).

Reproduce:
cargo bench -p wifi-densepose-signal --no-default-features --bench dsp_perf_bench
cargo bench -p wifi-densepose-signal --bench dsp_perf_bench # adds #8

Cargo.lock: dev-dep (criterion/clap) graph + crate version bumps from the
build; no runtime-dependency change.

Co-Authored-By: claude-flow ruv@ruv.net

Docker Image:
ghcr.io/meefs/RuView:865f9dee77520365ff3adac2fea818fc685178ab

Loading

Release v59

13 Jun 20:22
@github-actions github-actions
9b07dff
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
feat(beyond-sota): ADR-155 metric unification + ADR-156 RaBitQ Pass-2 (honest negative + latent topk bugfix) (ruvnet#1053)

  • refactor(train): hoist canonical PCK/OKS to un-gated metrics_core; fold test_metrics onto production (ADR-155 M1 §8)

ADR-155 §8 deferred item: test_metrics.rs reference kernels validated
production against their OWN reimplementation — a test that cannot catch a
canonical-impl bug (both could be wrong the same way).

  • Extract canonical_torso_size / pck_canonical / oks_canonical / sigmas /
    bounding_box_diagonal into a new NON-tch-gated metrics_core module, so
    the single metric definition is reachable under
    cargo test --no-default-features (the metrics module is tch-gated).
    metrics re-exports every item → still exactly ONE implementation.
  • Rewrite tests/test_metrics.rs to assert the PRODUCTION pck_canonical /
    oks_canonical equal hand-computed fixtures (not a reimplementation):
    canonical_pck_matches_hand_computed_fixture (corr=3/total=4/pck=0.75),
    hip↔hip normalizer pin, zero-visible⇒0.0, OKS perfect⇒1.0, fake-Gold pin.
  • Keep an INDEPENDENT raw-threshold reference kernel only as a differential
    cross-check: test_kernel_agrees_with_canonical asserts it AGREES with
    canonical where torso==1.0 (genuine cross-check, not duplication).

Grade: MEASURED. test_metrics 10→12 tests, 0 failed.

Co-Authored-By: claude-flow ruv@ruv.net

  • fix(sensing-server): relabel divergent live PCK/OKS so they're never conflated with canonical (ADR-155 M1 §2.1/§8 Goal C)

Goal C named training_api.rs:804 (torso-HEIGHT PCK). Auditing it surfaced
TWO findings the ADR-155 §1 table missed:

  1. training_api.rs is an ORPHAN file — not declared mod in lib.rs OR main.rs,
    so it does NOT compile into the crate. It does not drive the live server.
  2. The REAL live best_pck/best_oks (main.rs training path → RVF metadata
    JSON read by model_manager.rs) come from trainer.rs:
    • pck_at_threshold = RAW-threshold PCK, NO torso normalization (the most
      divergent kind), printed/serialized as bare "PCK@0.2".
    • oks_map calls oks_single(area=1.0) = the EXACT fake-Gold pattern
      ADR-155 §2.1 claimed closed elsewhere — still live here, inflating best_oks.

Resolution = RELABEL (torso/raw math is load-bearing on different data; the
pub fns can't be renamed without breaking API; sensing-server has no train/
ndarray dep). Honest unify is a tracked §8 backlog item.

  • training_api.rs: compute_pckcompute_pck_torso_height + divergence doc;
    val_pck/best_pck/val_oks struct fields documented as torso-HEIGHT proxies;
    logs say pck_torso_h@0.2. Test torso_pck_is_labelled_distinctly_from_canonical.
  • trainer.rs (LIVE): pck_at_threshold documented raw-unnormalized; oks_map
    area=1.0 flagged fake-Gold; test pck_at_threshold_is_raw_unnormalized_not_canonical.
  • main.rs: live print relabelled pck_raw@0.2 / oks_map(area=1.0 proxy).

No wire-format field renames (back-compat); no pub-API rename (no silent break).
Grade: MEASURED (relabel + divergence pinned). sensing-server 450→451 lib tests, 0 failed.

Co-Authored-By: claude-flow ruv@ruv.net

  • docs(adr-155): mark §8 metric items RESOLVED + audit map + honest §1 under-count correction (M1b Goals A/D)
  • §8.1: full PCK/OKS audit map (every def: file:line, basis, canonical/
    legacy/distinct), the two §8 items marked RESOLVED with resolution+why.
  • Honest finding: §1's "seven divergent metrics" was an UNDER-count —
    sensing-server's LIVE trainer.rs has a raw-unnormalized PCK and an
    area=1.0 fake-Gold OKS the table omitted, and the file §8 named
    (training_api.rs) is orphaned dead code. §9 honest-limits updated.
  • Goal D: metrics.rs *_v2 variants confirmed caller-less + deprecated;
    noted for future cleanup, NOT deleted (public API, tch-gated).
  • CHANGELOG [Unreleased] Fixed entry.

Co-Authored-By: claude-flow ruv@ruv.net

  • feat(ruvector): RaBitQ Pass-2 randomized rotation + topk bugfix (ADR-156 §8)

Implements the deferred "Multi-bit / Extended RaBitQ Pass 2" backlog item
from ADR-156 §8: a deterministic randomized orthogonal rotation applied
before sign-quantization, the published RaBitQ construction (Gao & Long,
SIGMOD 2024).

Rotation construction: Fast Hadamard Transform + seeded ±1 sign flips
("HD" / randomized Hadamard), O(d log d) time and O(d) memory — a dense
d×ばつd rotation is O(d2) and infeasible at the 65,535-d the wire format
provisions for. Pads to the next power of two; SplitMix64 seeds the sign
stream so index-time and query-time rotations are bit-identical.

API is additive and backward-compatible: Pass 1 (from_embedding) is
untouched; Pass 2 is opt-in via Sketch::from_embedding_rotated and
SketchBank::with_rotation (+ insert_embedding / topk_embedding /
novelty_embedding helpers that rotate consistently). Default behaviour
is unchanged.

While building the Pass-2 coverage harness, found and fixed a PRE-EXISTING
correctness bug in SketchBank::topk: the n>k heap path used
BinaryHeap<Reverse<(d,id)>> (a min-heap) but treated its peek as the
max, so it returned the k FARTHEST sketches as "nearest". The shipped unit
tests only exercised the n≤k fast path, so it went unnoticed. Fixed to a
plain max-heap; pinned by topk_heap_path_returns_nearest and
tight_clusters_give_high_coverage_with_overfetch (the latter measured
0.072 on the old code).

New tests (+17, 100→117 in the crate): rotation determinism/norm-preservation
(rotation_is_deterministic_for_seed, rotation_preserves_norm), Pass-2
shape-compatibility, pass2_coverage_not_worse_than_pass1, and a
deterministic coverage report.

MEASURED top-K coverage (anisotropic planted-cluster fixture, cosine ground
truth; dim=128 N=2048 K=8 64 clusters noise=0.35 128 queries):
candidate_k=K=8 : Pass1 36.13% -> Pass2 46.39% (both << 90% bar)
candidate_k=24 : Pass1 83.89% -> Pass2 91.60% (Pass2 clears 90%)
candidate_k=32 : Pass1/Pass2 100%
Honest result: rotation consistently helps (+10pp at strict K), but neither
pass clears the ADR-084 90% bar at candidate_k==K on this distribution.
Pass 2 reaches 90% only with ~3x over-fetch (the ADR-084 "candidate set"
deployment pattern). Multi-bit Pass 3 evaluated separately.

Co-Authored-By: claude-flow ruv@ruv.net

  • feat(ruvector): multi-bit Pass-3 experiment + ADR-156/084 measured results

Adds the multi-bit half of the ADR-156 §8 "Multi-bit / Extended RaBitQ"
item as a MEASURED experiment (coverage::measure_multibit): rotate, then
b-bit uniform scalar-quantize each coord, rank by L1 over codes — the
natural multi-bit generalization of hamming. Measures the bit/coverage
tradeoff the backlog item asked for.

MEASURED at the strict bar (candidate_k=K=8, anisotropic planted-cluster
fixture, cosine ground truth):
Pass1 (1-bit, no rot) 36.13% 16 B/vec
Pass2 (1-bit, rot) 46.39% 16 B/vec
Pass3 (rot, 2-bit) 54.39% 32 B/vec
Pass3 (rot, 3-bit) 66.70% 48 B/vec
Pass3 (rot, 4-bit) 74.22% 64 B/vec
Honest: multi-bit monotonically helps but even 4-bit (4x memory) reaches
only 74% at the strict bar — neither rotation nor <=4-bit multi-bit clears
the strict-K 90% bar on this distribution. The bar is met via over-fetch
(Pass2 @ candidate_k=24). Tests: multibit_tradeoff_report,
multibit_1bit_matches_pass2_approx (+ sanity that 1-bit ~= Pass-2).

Docs:

  • ADR-156 §8 item #2 marked RESOLVED-PARTIAL; §5 #2 grade CLAIMED ->
    MEASURED-on-our-hardware; new §10 with full measured tables, the topk
    bugfix disclosure, and graded deferred sub-items.
  • ADR-084: "Pass 2" section answering the rotation open-question with
    measured numbers + the topk bug note.
  • CHANGELOG [Unreleased]: Added (Pass-2 milestone) + Fixed (topk heap).

Co-Authored-By: claude-flow ruv@ruv.net

Docker Image:
ghcr.io/meefs/RuView:9b07dff29868336a1659c996e312fb9f5c9cc1d0

Loading

Release v57

13 Jun 17:56
@github-actions github-actions
74ecce3
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
Merge pull request ruvnet#1048 from ruvnet/fix/issues-1031-894-fusion-guard-model-load

fix: multistatic fusion guard for real TDM (ruvnet#1031) + load published HF model via auto-detect/convert (ruvnet#894)

Docker Image:
ghcr.io/meefs/RuView:74ecce3218e0d9174158964bfb20d06810391657

Loading

Release v53

13 Jun 12:32
@github-actions github-actions
29e937e
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
Merge pull request ruvnet#1044 from ruvnet/feat/edge-skills-synthetic-validation

feat(wasm-edge): unified EdgePipeline (all ~64 skills) + honest synthetic validation harness

Docker Image:
ghcr.io/meefs/RuView:29e937ef526552beb50aee193258964e6339ab0e

Loading

Release v52

13 Jun 09:02
@github-actions github-actions
29e937e
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
Merge pull request ruvnet#1039 from ruvnet/release/patch-1009-1004

release: patch-bump signal/sensing-server/cli for ruvnet#1009+ruvnet#1004 fixes (+ first-publish calibration)

Docker Image:
ghcr.io/meefs/RuView:e063de597016e5feaa027588ebc6eef845a3379b

Loading

Release v49

13 Jun 02:44
@github-actions github-actions
e063de5
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
Merge pull request ruvnet#1033 from ruvnet/feat/v2-zero-warnings-hygiene

chore: zero-warnings hygiene — clear 13 build warnings across v2/crates

Docker Image:
ghcr.io/meefs/RuView:3d7530f08dbf5043d2aebc716f029fc4794caa97

Loading

Release v48

12 Jun 22:23
@github-actions github-actions
3d7530f
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Automated release from CI pipeline

Changes:
Merge pull request ruvnet#1030 from ruvnet/feat/v2-beyond-sota-sweep-m9

Beyond-SOTA sweep M9 (ADR-163): edge-latency measurement debt → MEASURED-on-host benches

Docker Image:
ghcr.io/meefs/RuView:3fb40a9debce4c82f5bc56db9e544c847a2cfd51

Loading
Previous 1 3 4 5
Previous

AltStyle によって変換されたページ (->オリジナル) /