feat: contrato de procedencia (Workspace vs carpeta de salida) - #86
Merged
Conversation
Record initiator vs provider/model, CommandContext IDs, and a best-effort sidecar helper that never deletes committed media. Extra info reads timing from queue_ms/inference_ms/total_ms.
Owner
Author
|
@cursor review |
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. |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 965b2d3. Configure here.
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.
Objetivo
PR mediano de contrato de dominio, no un writer más. +476/−100.
workspace_id= colección Workspace;output_folder= carpeta de salida físicaGenerationProvenance/CommandContextenapp/services/generation_provenance.pyactor/tool/capability) distinto de proveedor/modelopublish_generation_sidecar_best_effort: el media ya escrito no se borra si falla el sidecar (3D/Rig lo usan)queue_ms/inference_ms/total_ms(antes*_seconds, siempre vacío)SLICE_QUEUE.mdal estado real de main (refactor: extraer el tab World de Story Lab #85)Compatibilidad: los writers que solo pasan
workspace_id=siguen guardando esa cadena en ambos campos.Verificación local
npm run i18n:checknpm test: 491 passedPendiente de CI. No mezclar hasta que los checks estén verdes.
Note
Medium Risk
Changes provenance shape and catalog/API fields used by the Assets inspector; behavior is mostly additive with legacy workspace_id duplication, but incorrect future writers could mis-tag collection vs folder.
Overview
Introduces a domain provenance contract for asset-manifest v1:
origin.workspace_idis an optional Workspace collection ID, whileorigin.output_folderis the physical directory name (never a host path). Newgeneration_provenance.pysuppliesresolve_generation_location,provenance_from_manifest, and typedGenerationProvenance/CommandContext, with initiator (actor/tool/capability) kept separate from provider/model ingeneration.model.Manifest and catalog writers take optional
output_folder, populate both location fields viaresolve_generation_location, and legacy callers that only passworkspace_id=still duplicate that string on both fields for compatibility. The global asset catalog surfacesoutput_folder, richerorigin/execution(includingcommand_id/workflow_id), and matchinglocations[]entries.Adds
publish_generation_sidecar_best_effortso provenance write failures never raise after media is committed; Hunyuan3D and Rig switch to it (replacing local try/except). Schema and DOMAIN_MODEL docs document the split, initiator vs provider, and sidecar-failure policy;SLICE_QUEUE.mdis refreshed.Assets Extra info gains an Initiator section, workspace vs output-folder labels, and displays
queue_ms/inference_ms/total_msinstead of unused*_secondskeys. TypeScriptAssetCatalogItemtypes align with the API.Reviewed by Cursor Bugbot for commit 965b2d3. Configure here.