keep only test_pass_rate == 1.0
problem_id = id without suffix
sft
if a problem has >= 4 samples: put 1 sample (median by response length) into validation
otherwise no validation sample for that problem
train keeps up to 3 samples per problem (shortest / median / longest by response… See the full description on the dataset page: https://huggingface.co/datasets/YCWTG/Qwen3-Coder-Next-Open-Code-SFT-ChatML.