"""
helix_cdc.brainstem - Brainstem Control System
==============================================

The brainstem sits ABOVE the QUBO planner, providing state detection and
policy shaping. It doesn't solve QUBOs - it outputs STATE that becomes
QUBO parameters.

Architecture:
    BRAINSTEM (Control System)
        |
        v  Interface A: BrainstemState
    QUBO/QPU (Planner)
        |
        v  Interface B: SubstratePlan
    COMPRESSED COMPUTE (Substrate)
        |
        v
    CLASSICAL EXECUTION (Muscle)

Components:
    - StateDetector: Observe telemetry -> detect band -> output state
    - BandMapper: Map band -> QUBO weight configuration

Usage:
    from helix_cdc.brainstem import StateDetector, BandMapper, BrainstemInput

    # Detect state from telemetry
    detector = StateDetector()
    input = BrainstemInput(cpu_load=0.7, gpu_temp_c=65.0, ...)
    state = detector.detect(input)

    # Map state to QUBO config
    mapper = BandMapper()
    config = mapper.to_qubo_config(state)
"""

from .state_detector import (
    BrainstemInput,
    BrainstemState,
    StateDetector,
)

from .band_mapper import (
    BandMapper,
    BAND_WEIGHT_PROFILES,
)

__all__ = [
    "BrainstemInput",
    "BrainstemState",
    "StateDetector",
    "BandMapper",
    "BAND_WEIGHT_PROFILES",
]
