Audited current training configs and established that shipped experiments train binary csPCa classification plus lesion segmentation, while no shipped YAML configures direct six-class GG classification.
Renamed src/ve2e/inference/isup.py to picai.py and replaced the ISUP types with PICAIInference, PICAIInferenceInput, and PICAIInferenceOutput.
Made the ClearML model ID required rather than retaining the incompatible GG default.
Added model-ready t2, dwi_b1400, adc, and pmask inputs.
Returned detection_maps directly consumable as picai_eval.evaluate(y_det=...), plus patient-level csPCa probabilities.
Passed local Ruff, formatting, compilation, complexity, mocked inference, and calldiff checks. A remote Linux Pixi check was blocked by missing private JFrog authentication on the devbox.
Appended and pushed commit f7b749e6 to feat/isup-inference.
Lessons Learned: Pitfalls
Schema support and tests do not imply a shipped training configuration exists. The initial ISUP class targeted a six-class contract absent from current named experiments.
The remote Linux host is useful but does not currently have the private Pixi channel credentials needed to solve this project environment.
Lessons Learned: Improvements
Audit runnable training configs before defining task-specific inference APIs.
Keep PI-CAI inference on the exact validation post-processing path so inference output can feed the official evaluator without parallel logic.