scripts/record-baseline.py and capture_baseline_to_disk now compute per-subcarrier circular mean + variance of phases when the WS stream carries them (ADR-106). Saved as per_subcarrier_phase_mean + per_subcarrier_phase_var in baseline.json. Server loads them into PHASE_BASELINE_PER_SUB; phase_drift_update computes a per-tick score (mean circular distance / π over subcarriers with baseline variance < 0.30) and stores it in PHASE_DRIFT. Surfaces as PerNodeFeatureInfo.phase_drift_score (skip-if-none). Honesty contract: emits None below PHASE_DRIFT_MIN_USABLE = 16 usable subcarriers. Legacy baselines without phase fields fall back to amplitude-only behaviour with no change. Co-Authored-By: claude-flow <ruv@ruv.net> |
||
|---|---|---|
| .. | ||
| .claude-flow | ||
| crates | ||
| data | ||
| docs | ||
| examples | ||
| patches/ruvector-crv | ||
| Cargo.lock | ||
| Cargo.toml | ||