feat(profiler/behave_shell): emit cognitive.cognitive_load

Composite over three [0, 1]-clipped sub-signals (chunking variance,
error rate from D.0's Command.errored, pace variability), mean-aggregated
and bucketed against COGNITIVE_LOAD_LOW_MAX / COGNITIVE_LOAD_MEDIUM_MAX.
Components missing data drop out of the mean rather than zeroing it.

v0.1 thresholds; D.8 re-tunes once D.2-D.7 are stable. Confidence
held at 0.60 (composite over soft sub-signals) and halved below the
5-command sample-size floor.
This commit is contained in:
2026-05-03 23:52:29 -04:00
parent 601986bd6d
commit f948e10830
4 changed files with 208 additions and 0 deletions

View File

@@ -12,6 +12,7 @@ from decnet_behave_core.spec.envelope import Observation
from decnet.profiler.behave_shell._ctx import SessionContext
from decnet.profiler.behave_shell._features.cognitive import (
cognitive_load,
command_branch_diversity,
feedback_loop_engagement,
inter_command_consistency,
@@ -45,4 +46,5 @@ FEATURES: tuple[FeatureFn, ...] = (
command_branch_diversity,
feedback_loop_engagement,
inter_command_consistency,
cognitive_load,
)