---
title: "2026-08-28 ve2e ISUP unified API audit"
description: "Audited the unified ViT branch APIs that should replace stale ISUP inference code."
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 ve2e ISUP unified API audit

## Work Done

- Compared `origin/feat/isup-inference:src/ve2e/inference/isup.py` with `origin/merge-unify-vits-into-cleanup-vits`.
- Identified the typed frozen config APIs, self-contained EMA checkpoint helpers, shared Lightning forward path, DinoFlex output processors, logits normalization, and classification grading metrics to reuse.
- Reported stale field names and imports. No project files were edited.

## Lessons Learned: Pitfalls

- The inverse workstream has no SOP index, although the mandatory startup workflow expects one.
- Existing inference examples mix raw EMA loading and Lightning checkpoint loading, so they are not all safe templates for self-contained EMA inference.

## Lessons Learned: Improvements

- Add a short inverse inference SOP that names the canonical config, checkpoint, forward, and metric APIs after the cleanup branch lands.

Source: https://docs.virdx.dev/knowledge/inbox/2026-08-28-inverse-ve2e-isup-unified-api-audit/index.mdx
