BrainState
BrainState is the app-facing output. Key fields:
Use
BrainState.to_dict() for JSON-friendly export (brain_state_version is currently 1).
Decision presets
Uncertainty fusion:
BrainState.uncertainty is max(normalized_entropy, upstream) when upstream is set. Gating checks entropy and upstream thresholds independently.
Optional mc_samples>=2 on Personalizer draws posterior samples and sets normalized epistemic uncertainty (BALD / log2 K) as Prediction.uncertainty. MAP intent and confidence still use closed-form predict_proba. Breakdown bits land in BrainState.extras (total_entropy_bits, aleatoric_bits, epistemic_bits).