fix(3d): no borrar el GLB si falla el sidecar de provenance - #83
Merged
Conversation
Tras Hunyuan3D o Rig, publish_generation_sidecar vivía en el mismo try que borra la salida ante cualquier excepción. Un fallo de disco o de validación del manifest v1 marcaba el job como failed y eliminaba un artefacto GPU ya escrito. El mesh se considera committed al salir el worker; el sidecar ya no puede destruirlo. Co-authored-by: ignaciodelcano+dcl <ignaciodelcano+dcl@gmail.com>
PR Review — Loreframe StudioRisk: low Automated review from Findings
Changed files
CONTRIBUTING checklist
Posted by the repo PR review workflow. Re-runs on each push to the PR. |
IAnMove
marked this pull request as ready for review
September 2, 2026 12:13
Owner
|
@cursor review |
Author
Bugbot couldn't run — GitHub account mismatchThe GitHub account linked to your Cursor account does not match the PR author. Please ensure you're using the correct GitHub account, or run Bugbot from a team that covers this repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug e impacto
Tras un Hunyuan3D o Rig exitoso,
publish_generation_sidecar()vive en el mismotryque, ante cualquier excepción, marca el job comofailedy llama a_cleanup_partial_output(). Eso borra el GLB ya escrito.Escenario concreto: el worker termina y el mesh cabe en disco, pero el
.meta.jsonno (disco lleno, error de validación del manifest v1, fallo de I/O). El usuario pierde horas de GPU y ve un job fallido aunque el artefacto existió.Esta ruta empeoró al añadir el writer de asset-manifest v1 justo después de la generación.
Causa
_run_job_serializedenmodel3d_service.pyyrig_service.pytrata el fallo de metadatos como fallo de generación. MiniMax Image ya no hace esto: escribe el archivo y el sidecar va aparte.Fix
Cuando el worker sale 0 y el archivo existe, la generación queda committed. Un error al publicar el sidecar se registra y el job sigue
completed._cleanup_partial_outputsolo corre si el mesh no llegó a committed (fallo real o cancelación).Validación
Los tests nuevos mockean
publish_generation_sidecarpara que lanceAssetManifestErrory comprueban que el GLB permanece y el job quedacompleted.