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:
@@ -109,6 +109,7 @@ PHASE_G_CONDITIONAL_PRIMITIVES: frozenset[str] = frozenset({
|
||||
"emotional_valence.arousal", # needs typing bursts
|
||||
"emotional_valence.valence", # needs ≥ 80 typed letters
|
||||
"emotional_valence.frustration_venting", # needs ≥ 30 typed letters
|
||||
"motor.digraph_simhash", # needs ≥ 8 distinct digraphs / ≥ 20 samples
|
||||
})
|
||||
|
||||
# Backwards-compatible aliases for any external import — earlier phases
|
||||
|
||||
Reference in New Issue
Block a user