Reviewed the uncommitted factory/add-minio-runtime-dependency hotfix in virdx/mono without editing the mono checkout.
Confirmed the reported failure mechanism: Factory imports vxdata.sdk.Client; the SDK eagerly reaches vxdata.sdk.s3.direct, which imports minio, while the editable path dependency does not propagate the SDK’s Pixi conda dependencies.
Confirmed that minio >=7.2,<8 matches the SDK manifest and conda recipe and belongs in Factory’s shared default feature because both API and inference environments import the SDK.
Audited the regenerated lock semantically. It adds MinIO 7.2.20 and expected transitive packages to the affected environments, removes no package records, and only normalizes one existing h2 PURL metadata field.
Ran pixi lock --check, a frozen and locked API import of MinIO, vxdata.sdk.Client, and factory.api, sh -n, and git diff --check; all passed.
Reviewed the rollout instruction change from the stale factory/factory-api target to the reported live inference/inference-api target.
Found one non-blocking documentation inconsistency: the dependency comment enumerates the SDK conda dependencies copied into Factory but omits the newly added MinIO entry. The final diff changed the comment to describe the dependency mirroring rule without duplicating the manifest.
Committed the hotfix as mono 8c9733e2, merged PR virdx/mono#363 to main as cd54029a, and rebuilt both factory-api:latest and factory:latest through Tekton.
Rolled back the first failed API rollout without interrupting the healthy replica, then deployed the rebuilt hotfix image. inference-api revision 30 reached 1/1 ready and available on digest sha256:606d7f0749aba3d307a6988454ab44973e85e99803c14794dbea7a1a2065e4db; FastAPI completed startup successfully.
Lessons Learned: Pitfalls
Editable path packages can look complete in their own Pixi workspace while failing in a consumer because the package’s Pixi conda dependencies do not travel through the PyPI path edge.
A raw lockfile size increase is misleading. Comparing environment package sets and package records separates expected transitive additions from solver churn.
Lessons Learned: Improvements
The packaging guide should explicitly tell app owners to mirror every runtime dependency of an editable path package in the consuming Pixi environment, or document a supported packaging pattern that propagates them.
Keep dependency comments non-enumerative when the manifest immediately below is the authoritative list; copied lists become stale during hotfixes.