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) (#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/ruvnet/RuView:8c24b8bdfeb95d0cbe2aeec5074811546618afc5