"""Target-ladder wrapper for the oral-B-v2 cold-start recovery.""" from sdil.bci_v2_metrics import ( annotate_events, signature_metrics_v2, ) def annotate_target_events( events, day, final_success, episode_offset, target_index, ): """Reuse paired grouping while encoding the fixed target-ladder index.""" return annotate_events( events, day, final_success, episode_offset, target_index, ) def recovery_signature_metrics( train_events, challenge_mode_events, cfg, role, targets, ): values = signature_metrics_v2( train_events, challenge_mode_events, cfg, role, ) by_index = values.pop("horizon_success_fraction") values["target_success_fraction"] = { str(target): by_index[str(index)] for index, target in enumerate(targets, start=1) } return values