feat(profiler): extract motor.digraph_simhash keystroke biometric
Per-session 64-bit SimHash of inter-keystroke digraph flight times: walk single-char input events, accumulate flight time per (c1,c2), bucket the median, Charikar-SimHash the bucketed pairs. Locality- sensitive so the same typist is Hamming-close across sessions; pastes and think-pauses break the chain; silent below the sample-size floor. New shared decnet/util/simhash.py (simhash64/hamming64/bytes helpers). Registered as a conditional Tier-A primitive (count 37->38); requires behave-shell>=0.1.2.
This commit is contained in:
@@ -52,6 +52,7 @@ from decnet.profiler.behave_shell._features.temporal import (
|
||||
)
|
||||
from decnet.profiler.behave_shell._features.motor import (
|
||||
command_chunking,
|
||||
digraph_simhash,
|
||||
error_correction,
|
||||
input_modality,
|
||||
keystroke_cadence,
|
||||
@@ -68,6 +69,7 @@ FEATURES: tuple[FeatureFn, ...] = (
|
||||
input_modality,
|
||||
paste_burst_rate,
|
||||
keystroke_cadence,
|
||||
digraph_simhash,
|
||||
motor_stability,
|
||||
error_correction,
|
||||
command_chunking,
|
||||
|
||||
Reference in New Issue
Block a user