Skip to content

fix(ci): alinear contrato de marca y tests con HocusPocus - #22

Merged
IAnMove merged 4 commits into
mainfrom
cursor/fix-ci-main-6887
Aug 29, 2026
Merged

fix(ci): alinear contrato de marca y tests con HocusPocus#22
IAnMove merged 4 commits into
mainfrom
cursor/fix-ci-main-6887

Conversation

@IAnMove

@IAnMove IAnMove commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Qué fallaba en main

Los dos jobs de CI estaban rojos en el merge de #20. No era un fallo de las PRs 16–20: main ya arrastraba contratos y tests desfasados.

  • Python: scripts/check_brand_contract.py seguía exigiendo copy de Loreframe Lab, así que el job cortaba antes de pytest.
  • UI: 4 tests (handoff namespaced, navigator, 503 vs “Pipeline not found”, receta de diálogo sin pista) y, en cuanto esos pasaran, lint con --max-warnings=0.
  • Pytest (oculto detrás del contrato de marca): aserciones H3/audio, scans de UI, HunyuanDiT sin mock de MiniMax, carrera al persistir un import de estilos, y thumbnails que llaman a ffmpeg en un runner que no lo tiene.

Qué cambia

  • El contrato de marca pincha HocusPocus y sigue bloqueando copy Maestro/Loreframe.
  • Draft del Video Editor extraído a editorDraft.ts.
  • Preview cilíndrico lee rotación/FOV por refs.
  • _update_job persiste bajo el lock para no reescribir un cancel como interrupted.
  • Tests alineados al contrato actual.
  • CI instala ffmpeg; los tests de thumbnails se saltan si no está.
  • Jobs de CI con timeout-minutes y el gate de UI partido en pasos (tests / lint / build+budget) para que un runner colgado falle rápido.

Verificación

Local:

  • Gates pre-pytest: PASS
  • cd ui && npm run check: 294 tests, lint 0 warnings, build + budget
  • python -m pytest -q: 1506 passed / 8 skipped

GitHub (b375d19, run 33254841409):

  • Clean-repo guard + Python checks: pass (5m48s)
  • UI tests + lint + type-check + build: pass (1m55s)
  • Analyze PR, Cursor Approval, Cursor Security: pass
Open in Web Open in Cursor 

The main CI jobs were red after the rebrand and later Director/editor
changes. Pin the visible HocusPocus copy, keep Maestro compatibility
keys, and update Python/UI assertions that still expected Loreframe
strings or older H3/editor contracts.

Co-authored-by: THEINAOG <IAnMove@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 23 file(s); +232/-149; GitHub workflows, React UI, backend services, repo scripts / CI

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

Findings

  • low — UI changed — rebuild before merge
    Run cd ui && npm run build (CI already does this). Pinokio Update rebuilds for end users; keep ui/dist untracked.

Changed files

  • added: ui/src/features/video-editor/editorDraft.ts
  • modified: .github/workflows/ci.yml, app/services/style_library.py, scripts/check_brand_contract.py, tests/test_activity_generation_details.py, tests/test_director_cancellation.py, tests/test_director_minimax_h3.py, tests/test_director_model_compat.py, tests/test_director_v2_story_refs.py, tests/test_media_thumbnails.py, tests/test_model3d_rig_spawn_cancellation.py, tests/test_model3d_rig_task_identity.py, tests/test_scail2_workflows.py, tests/test_series_lab_ui.py, tests/test_story_lab_audio_ui.py, tests/test_video_editor_replacement_ui.py, ui/src/components/Sidebar/CylinderPanoramaComparison.tsx, ui/src/features/video-editor/VideoEditorPanel.tsx, ui/tests/sceneToRecipe.test.mjs, ui/tests/storyLibraryMerge.test.mjs, ui/tests/storyTimelinePolling.test.tsx
    … and 2 more

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.

Extract editor draft helpers so VideoEditorPanel only exports the
component, keep cylinder preview uniforms on refs, persist style-import
job status under the lock, and update remaining source/H3 assertions to
the current contracts.

Co-authored-by: THEINAOG <IAnMove@users.noreply.github.com>
@IAnMove
IAnMove marked this pull request as ready for review August 29, 2026 12:55

@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.

Risk: medium. Aprobé este PR: Cursor Bugbot y Cursor Security Agent terminaron en pass sin hallazgos que requieran revisión humana. No se asignaron reviewers.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

cursoragent and others added 2 commits August 29, 2026 13:00
GitHub runners do not ship ffmpeg, so the thumbnail tests crashed with
FileNotFoundError after the brand gate started reaching pytest. Skip
them the same way mix-concat does, and install ffmpeg in CI so they run.

Co-authored-by: THEINAOG <IAnMove@users.noreply.github.com>
The ffmpeg commit left UI code unchanged, but GitHub Actions hung for
20+ minutes on a single `npm run check` step. Cap job runtime and split
the UI gate so a stuck runner fails fast and the failing step is visible.

Co-authored-by: THEINAOG <IAnMove@users.noreply.github.com>
@IAnMove
IAnMove merged commit 7171013 into main Aug 29, 2026
5 checks passed
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.

2 participants