mirror of
https://github.com/ruvnet/RuView
synced 2026-06-26 13:03:19 +00:00
46b4d63dad
Two of the "what to optimize next" items, as enforced code: 1. Hard claim gate: extract the release rule into a single acceptance::claim_allowed(entrainment, safety, adherence, repeatability) = strict AND of all four, used by every path. A test proves every 3-of-4 subset is denied, so no path can silently weaken the gate to an OR/subset. 2. Hardware-in-the-loop contract (new hil module): verify_hil grades a captured actuator bench measurement against fixed targets — LED frequency +/-0.1 Hz, audio-visual sync < 5 ms, stop-signal -> actuator-off < 100 ms, session-hash reproducibility 100%, EEG entrainment lift >= 20% over fixed 40 Hz. Every failure mode fails closed (missing/NaN stop measurement, no replay, any hash mismatch). The crate stays a deterministic leaf: firmware records the measurements, this module grades them. README: benchmark table (safety tick ~8 ns, recommend ~15 us, cohort kNN/500 ~15 us, calibration ~115 us, acceptance grading ~425 us enrollment-only) and the positioning line — "a governed personalization engine that refuses to overpromise." 9 new tests; crate now 97 + 1 doctest; pinned witness 13cb164c... preserved. Workspace gate: 2,898 passed / 0 failed. https://claude.ai/code/session_01MjBucx95K4BuUxZi8NWwRH