---
title: "2026-09-17 GrandQC runtime download"
description: "Download pinned GrandQC weights per worker instead of baking them into the image."
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-09-17 GrandQC runtime download

## Work Done

Updated framework [PR #404](https://github.com/virdx/mono/pull/404) at `8c421281`
and rebased histo [PR #406](https://github.com/virdx/mono/pull/406) at `304b8769`.
Framework workers receive optional HF_TOKEN from hf-token-felix-knispel / HF_TOKEN;
FACTORY_HF_TOKEN_SECRET selects another secret. Verified the existing namespace
secret name/key without exposing its value. No cluster mutations.

The private histo model loader uses huggingface_hub to download
RendeiroLab/LazySlide-models / grandqc/Tissue_Detection_MPP10.pth at revision
c3a6d879e4c3f06db2ae2673d3fdddba2683e73d. Cache is FACTORY_TMP_DIR/huggingface,
or /cache/huggingface in worker pods. One lookup/download per batch, reused across
slides; new worker scratch starts fresh. API startup does not load/download models.
Added explicit huggingface_hub dependency and refreshed app lock. No tests added.

Real public download validated: 26640273 bytes, SHA256
0e3577628a553774419a5b87a2947531988e07175b9e1a8048f53b6188f4d76e.
Offline reuse, API startup, generated secret reference, lint and type checks pass.
No GPU inference, image build, or live cluster job validation. User's dirty framework
manifest preserved byte-for-byte; lock generation used committed dependencies.

## Lessons Learned: Pitfalls

The previous recap's requirement to bake weights into the consumer image is
superseded. The user supplied a public pinned Hugging Face artifact, so runtime
fetching removes that deployment prerequisite. Do not restore the fixed /opt/models
path or host mounts. The legacy Factory hook still matches factory-histo incorrectly;
independent checks validated the actual app.

## Lessons Learned: Improvements

Pin model revision, use pod scratch cache, and refer to secrets rather than copying
token values into workflow manifests. Verify the real file and offline cache reuse
through the project's own environment without importing the GPU stack.

Source: https://docs.virdx.dev/knowledge/inbox/2026-09-17-histo-grandqc-runtime-download/index.mdx
