"""Feature engineering from early-cycle data. Filled in PHASE 4. Modules: builder.py (owns the leakage-safe slice), curve_features.py (Group A), degradation.py (B), resistance.py (C), thermal.py (D), charge_dynamics.py (E), protocol.py (F), interactions.py (G), selector.py (selection as an in-Pipeline step). LEAKAGE RULE: builder.py slices each per-cell frame to `cycle <= max_cycle` ONCE at the top and passes only that slice downstream. No feature function in this package may accept the full frame. """