Skip to content

feat: publish asset-manifest v1 when Director attaches output timing - #74

Merged
IAnMove merged 1 commit into
mainfrom
feat/director-timing-asset-manifest
Sep 2, 2026
Merged

feat: publish asset-manifest v1 when Director attaches output timing#74
IAnMove merged 1 commit into
mainfrom
feat/director-timing-asset-manifest

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Resultado

Siguiente writer de manifiesto: solo el mutador de timings del sidecar de salida Director (persist_pipeline_output_timing). PR único ramificado desde origin/main, no apilado.

  • reutiliza publish_generation_sidecar sobre la ruta del fichero de media, no del sidecar
  • conserva las claves heredadas (generation_time, generation_timings, director_pipeline_id, params) junto al documento canónico
  • origin.tool = director; origin.actor = unknown (no se pasa ni se inventa actor)
  • workspace_id sale de pipeline.get("workspace"); no se inventa workspace "default"
  • no se inventan refs de Story/Series
  • publish_generation_sidecar conserva asset.id canónico vía _existing_canonical_asset_id (no se emite un ID nuevo al adjuntar timings)
  • enrich_output_metadata_with_pipeline_timing no cambia
  • _write_director_assembly_sidecar no se toca (ya era v1)
  • no toca _launch_runtime.py, WanGP, models, Recast/Repaint/Outpaint, Tools, MiniMax image, Series, 3D, Rig, useStore.ts, i18n ni asset_manifest.py

Verificación local

  • pytest test_director_pipeline_timing + test_asset_manifest + test_architecture_contracts: 31 passed
  • architecture_contracts.py: OK
  • verify_clean_repo.py: OK

Pendiente de CI. @cursor review sobre este HEAD.


Note

Medium Risk
Changes how Director output sidecars are written and ties them to the shared asset-manifest path, which gallery and manifest readers depend on; scope is limited to persist_pipeline_output_timing via an existing publisher.

Overview
Director final output timing no longer writes *.meta.json via a temp file and os.replace; it now calls publish_generation_sidecar on the media path (e.g. final.mp4) with enriched timing metadata, tool="director", and workspace_id from the pipeline.

Legacy timing fields (generation_time, generation_timings, director_pipeline_id, params, etc.) stay on the sidecar alongside the canonical v1 manifest (schema, asset, origin). Re-running timing persistence should keep the same asset.id when a manifest already exists.

Tests assert the v1 shape (schema, origin.tool / origin.actor) on timing save and add coverage for stable asset ID across repeated persist_pipeline_output_timing calls.

Reviewed by Cursor Bugbot for commit 581fa0a. Configure here.

@IAnMove

IAnMove commented Sep 2, 2026

Copy link
Copy Markdown
Owner Author

@cursor review

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 2 file(s); +63/-12; backend services

Automated review from scripts/analyze_pr.py. This is a heuristic pass (no LLM) so humans still own the merge decision.

Findings

  • No heuristic issues. Still run the CI checklist below.

Changed files

  • modified: app/services/director_pipeline.py, tests/test_director_pipeline_timing.py

CONTRIBUTING checklist

  • python scripts/verify_clean_repo.py
  • python -m compileall -q app/services app/launch.py scripts
  • cd ui && npm run build if the UI changed
  • No weights, CivitAI sidecars, or generated guides
  • Stays local-first (no required accounts / telemetry)

Posted by the repo PR review workflow. Re-runs on each push to the PR.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 581fa0a. Configure here.

@IAnMove
IAnMove merged commit e472c33 into main Sep 2, 2026
4 of 5 checks passed
@IAnMove
IAnMove deleted the feat/director-timing-asset-manifest branch September 5, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant