BEHAVE-EXTRACTOR.md Phase B Step B.4. First implementation —
prototype doesn't ship this primitive.
* SessionContext gains intra_command_iats: per-command tuple of
IATs between consecutive input events whose timestamps fall
inside [cmd.start_ts, cmd.end_ts). Excludes the terminator IAT.
Built by _per_command_iats.
* _features/motor.py:command_chunking(ctx) emits one Observation
in {fluent, fragmented, single_command}.
- 0 commands → skip emit
- 1 command → single_command (registry-allowed point)
- ≥2 commands → median CV across per-command typed-IATs;
< CMD_CHUNKING_FLUENT_CV_MAX (0.50) → fluent, else fragmented
- paste-only sessions (no command has ≥3 typed IATs) → skip emit
(no honest within-command rhythm to measure)
Confidence 0.80 / 0.65 / 0.60.
* Calibration grid widened to include motor.command_chunking;
green across all five shards. Phase B primitive set complete.
Tests: no commands → skip, 1 command → single_command, uniform
typing → fluent, alternating fast/slow → fragmented, paste-only
multi-command → skip emit.
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
"""Registered feature functions.
|
|
|
|
Each entry takes a ``SessionContext`` and yields zero or more
|
|
``Observation`` instances. Adding a primitive = adding a function in a
|
|
sibling module and appending it to ``FEATURES``.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from typing import Callable, Iterable
|
|
|
|
from decnet_behave_core.spec.envelope import Observation
|
|
|
|
from decnet.profiler.behave_shell._ctx import SessionContext
|
|
from decnet.profiler.behave_shell._features.cognitive import (
|
|
command_branch_diversity,
|
|
feedback_loop_engagement,
|
|
inter_command_consistency,
|
|
inter_command_latency_class,
|
|
)
|
|
from decnet.profiler.behave_shell._features.motor import (
|
|
command_chunking,
|
|
error_correction,
|
|
input_modality,
|
|
keystroke_cadence,
|
|
motor_stability,
|
|
paste_burst_rate,
|
|
)
|
|
|
|
FeatureFn = Callable[[SessionContext], Iterable[Observation]]
|
|
|
|
FEATURES: tuple[FeatureFn, ...] = (
|
|
input_modality,
|
|
paste_burst_rate,
|
|
keystroke_cadence,
|
|
motor_stability,
|
|
error_correction,
|
|
command_chunking,
|
|
inter_command_latency_class,
|
|
command_branch_diversity,
|
|
feedback_loop_engagement,
|
|
inter_command_consistency,
|
|
)
|