| { | |
| "weights": { | |
| "explicit_busy": 6.0, | |
| "explicit_free": -4.0, | |
| "traffic_noise": 3.0, | |
| "office_noise": 1.0, | |
| "rushed_speech": 1.5, | |
| "short_answers": 1.2, | |
| "deflection": 2.0, | |
| "latency": 0.5, | |
| "ml_model_factor": 0.5, | |
| "emotion_stress": 2.5, | |
| "emotion_energy": 0.8 | |
| }, | |
| "rules": [ | |
| { | |
| "name": "explicit_busy", | |
| "feature": "t1_explicit_busy", | |
| "source": "text", | |
| "condition": "> 0.5", | |
| "weight_key": "explicit_busy", | |
| "multiply_by_value": true, | |
| "description": "Strongest signal - user explicitly says they are busy" | |
| }, | |
| { | |
| "name": "explicit_free", | |
| "feature": "t0_explicit_free", | |
| "source": "text", | |
| "condition": "> 0.5", | |
| "weight_key": "explicit_free", | |
| "multiply_by_value": true, | |
| "description": "Strong negative signal - user explicitly says they are free" | |
| }, | |
| { | |
| "name": "short_answers", | |
| "feature": "t3_short_ratio", | |
| "source": "text", | |
| "condition": "> 0.3", | |
| "weight_key": "short_answers", | |
| "multiply_by_value": true, | |
| "description": "Brevity pattern - high ratio of short responses" | |
| }, | |
| { | |
| "name": "deflection", | |
| "feature": "t6_deflection", | |
| "source": "text", | |
| "condition": "> 0.1", | |
| "weight_key": "deflection", | |
| "multiply_by_value": true, | |
| "description": "Deflection/time pressure phrases detected" | |
| }, | |
| { | |
| "name": "traffic_noise", | |
| "feature": "v2_noise_traffic", | |
| "source": "audio", | |
| "condition": "> 0.5", | |
| "weight_key": "traffic_noise", | |
| "multiply_by_value": true, | |
| "description": "Traffic/driving noise context" | |
| }, | |
| { | |
| "name": "rushed_speech", | |
| "feature": "v3_speech_rate", | |
| "source": "audio", | |
| "condition": "> 3.5", | |
| "weight_key": "rushed_speech", | |
| "multiply_by_value": false, | |
| "description": "Fast speech rate indicating rushing" | |
| }, | |
| { | |
| "name": "voice_stress", | |
| "feature": "v5_pitch_std", | |
| "source": "audio", | |
| "condition": "> 80.0", | |
| "weight_key": null, | |
| "fixed_points": 0.5, | |
| "multiply_by_value": false, | |
| "description": "High pitch variation indicating stress" | |
| }, | |
| { | |
| "name": "emotion_stress", | |
| "feature": "v11_emotion_stress", | |
| "source": "audio", | |
| "condition": "> 0.6", | |
| "weight_key": "emotion_stress", | |
| "multiply_by_value": true, | |
| "description": "Emotional stress from CNN analysis" | |
| }, | |
| { | |
| "name": "emotion_energy", | |
| "feature": "v12_emotion_energy", | |
| "source": "audio", | |
| "condition": "> 0.7", | |
| "weight_key": "emotion_energy", | |
| "multiply_by_value": true, | |
| "description": "High energy from CNN analysis" | |
| } | |
| ], | |
| "thresholds": { | |
| "continue": 0.3, | |
| "check_in": 0.7, | |
| "exit": 0.7 | |
| } | |
| } |