Skip to content

feat: publish asset-manifest v1 for Series episode assembly - #71

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

feat: publish asset-manifest v1 for Series episode assembly#71
IAnMove merged 1 commit into
mainfrom
feat/series-assembly-asset-manifest

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Resultado

Siguiente writer de manifiesto: solo el sidecar de ensamblado de episodios de Series (app/routers/series_assembly.py).

  • reutiliza publish_generation_sidecar
  • conserva params.seriesId / episodeId / assemblyJobId para la galería
  • actor desconocido (unknown); tool = series-assembly
  • no se pasa actor; no se inventa
  • _remove_assembly_artifacts sigue borrando el sidecar con splitext + .meta.json
  • no toca _launch_runtime.py, WanGP, models, agentActions, useStore, i18n ni asset_manifest.py

Verificación local

  • pytest test_series_assembly_router + test_series_assembly + test_series_assembly_contract: 14 passed
  • architecture_contracts.py: OK
  • verify_clean_repo.py: OK

Pendiente de CI. @cursor review sobre este HEAD.


Note

Low Risk
Scoped to sidecar metadata for series assembly outputs; behavior for join/cancel/cleanup is unchanged aside from manifest format.

Overview
Series episode assembly now writes canonical asset-manifest v1 sidecars instead of hand-rolled JSON after FFmpeg joins clips.

A new _write_assembly_sidecar delegates to publish_generation_sidecar with tool="series-assembly", workspace from the job, and the same gallery-facing params (seriesId, episodeId, assemblyJobId). No actor is passed, so origin stays unknown rather than invented. Cleanup via _remove_assembly_artifacts is unchanged.

Tests assert the completed join path and the helper emit SCHEMA_NAME, load correctly through read_asset_manifest, and record origin.tool / origin.actor as expected.

Reviewed by Cursor Bugbot for commit 2e32862. Configure here.

Joined Series episode files keep seriesId/episodeId in gallery params
and now write the canonical sidecar without inventing actor.
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 2 file(s); +58/-15

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/routers/series_assembly.py, tests/test_series_assembly_router.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.

@IAnMove

IAnMove commented Sep 2, 2026

Copy link
Copy Markdown
Owner Author

@cursor review

@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 2e32862. Configure here.

@IAnMove
IAnMove merged commit 69257d7 into main Sep 2, 2026
5 checks passed
@IAnMove
IAnMove deleted the feat/series-assembly-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