---
title: "2026-08-28 clinical ve2e ISUP cleanup vits impact audit"
description: "Audited the ISUP feature against the cleanup-vits and integrated cleanup-plus-unify trees after stopping the wrong-base full run."
image: "https://docs.virdx.dev/img/virdx-social-card.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.virdx.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-08-28 clinical ve2e ISUP cleanup vits impact audit

## Work Done

- Stopped the active full-cohort kuberun client before it could submit an Argo workflow and cancelled its monitoring heartbeat.
- Checked out clean `cleanup-vits` at `b93f31b5` and discovered that it does not yet contain current `unify-vits`; the combined tree is `origin/merge-unify-vits-into-cleanup-vits` at `8bd0cb76`.
- Audited the final ISUP implementation against the combined tree with calldiff and two independent code-path reviews.
- Confirmed that the data-pipeline consolidation and Pixi Docker changes are already superseded by cleanup-vits and should be dropped rather than replayed.
- Identified required API adaptations for frozen typed configs, data discriminators, trainer settings, loss discriminators, moved logits helpers, the renamed `ve2e.vxdata_pipeline` package, and the target's `src/ve2e/inference.py` module layout.
- Confirmed that core ClearML EMA loading, exact-one-study validation, PHI filtering, unified Lightning forward, patient/result association, alternate biopsy/RPE evaluation, and private JSON output remain necessary custom glue.

## Lessons Learned: Pitfalls

- A branch described conceptually as "on top of" another may still be awaiting its merge. Verify ancestry and inspect the integration branch before rebasing.
- Cleanup-vits uses frozen Pydantic configs. Deep-copying and mutating checkpoint config fields will fail; nested `model_copy(update=...)` is required.
- The standard vxData pipeline cannot be reused unchanged for unbiased inference because `select_primary_study` ranks by lesion-mask source and ISUP.
- Previously validated old-config ClearML checkpoints must be revalidated after the cleanup config/model refactor; the old embedded config class may no longer import.

## Lessons Learned: Improvements

- Replay only the focused final ISUP behavior onto the cleanup-plus-unify tree instead of preserving feature history.
- Add a small named inference pipeline composition that reuses standard steps but omits label-based study selection and unused lesion generation.
- Preserve canonical split labels; do not rewrite the cohort to `val_nb` merely to enter the validation dataloader.
- Decide explicitly whether the implementation targets `cleanup-vits` after its merge or the current integration branch before writing code.

Source: https://docs.virdx.dev/knowledge/inbox/2026-08-28-clinical-ve2e-isup-cleanup-vits-impact-audit/index.mdx
