Skip to content

fix(wizard): preservar texto de escena y órdenes reales de cancelar/reintentar - #293

Open
cursor[bot] wants to merge 3 commits into
developmentfrom
cursor/critical-bug-management-f1e3
Open

fix(wizard): preservar texto de escena y órdenes reales de cancelar/reintentar#293
cursor[bot] wants to merge 3 commits into
developmentfrom
cursor/critical-bug-management-f1e3

Conversation

@cursor

@cursor cursor Bot commented Sep 9, 2026

Copy link
Copy Markdown

Resumen ejecutivo

Qué cambia

El Wizard distingue las palabras de un cartel o diálogo de las órdenes de cancelar/reintentar. Un reintento explícito conserva su tarea original aunque el mensaje también describa la imagen que debe generar.

Para qué sirve

El hallazgo de Cursor era real: «Generate a video of a director yelling stop the video» podía cancelar otro trabajo. Su primera solución daba prioridad a cualquier mención de generación y rompía un reintento real de Flux ya cubierto por la suite completa.

Impacto para el usuario

Los textos literales permanecen intactos. Las órdenes explícitas de cancelar/reintentar, incluidas las que aparecen en otra frase, mantienen su identificador de tarea y no se convierten en una generación nueva.

Riesgo

  • Bajo, clasificador acotado EN/ES.

Estado

  • Listo para revisión
  • CI obligatoria del HEAD actualizado aprobada

Summary

Fix task-word hijacking without giving generation unconditional priority across an entire message. Keep current development's #291 capability guards. Inspect task controls per clause; mask quoted content only in a derived classification view of a generation request. Leading task commands and explicit controls in another sentence retain the existing task precedence.

Overview

A generation clause describing a director saying stop the video remains generation. Quoted scene text can contain punctuation without creating task commands. Retry the failed image task. Create an image of a lighthouse. retains its retry_task and exact task ID. An explicit cancellation in another sentence remains a cancellation.

Detailed changes

Backend

No task/queue/retry endpoint changes.

UI and Wizard

  • Use the existing generation classifiers to identify scene-description prefixes.
  • Inspect cancel/retry occurrences per clause, preserving task control when it precedes generation wording.
  • Remove quoted captions only from derived classifier input when the unquoted request is generative; never mutate the request or submitted prompt.
  • Cover explicit task identity, quoted captions with punctuation, ordinary generation, and the existing Flux retry regression.

Data, provenance and compatibility

Existing task IDs, prompts and proposals are retained. Current how-to guards remain in place. No schema, workspace, persistence or model changes.

Files and ownership

  • ui/src/features/agent/agentActions.ts
  • ui/tests/agentActions.test.mjs
  • Existing wizardTurnReport.test.ts remains unchanged and must pass.

Validation

  • Base: bde8a3b6d01c2ccbdd71a45f83cf8f474713c8dd (development).
  • Head: 8677f248b39dcd58592f8a6ab024c9fcb9609510.
  • Original patch on the updated base: 2 regression groups FAIL, including the unmodified existing Flux retry test. Logs retained.
  • Corrected candidate: 109 focused action/report/Labs tests PASS.
  • Full local UI: 1,450 tests PASS. Clean-repo guard, i18n, ESLint, TypeScript, production build, bundle budget and code-health ratchet against exact development base PASS. No baseline or budget changes. Current-head remote CI passed.
  • No actions executed, external LLM calls or new model inference during these tests.

CI and review

  • Updated-head CI SUCCESS: run 34415164216. 3,022 Python passed / 9 skipped; 1,450 UI passed; 26 Chromium E2E and 5 Windows Speech export E2E passed. CI required and both Cursor automations SUCCESS. Formal Independent QA and Cursor Bugbot NEUTRAL are not approvals.
  • Original run 34411499198 failed the existing Flux retry test, not an infrastructure check.
  • Technical review performed here; independent Luna review unavailable in this pass.
  • No remote merge or release.

Notes and limitations

This remains a bounded EN/ES intent heuristic. It does not certify arbitrary prose, all quotation syntaxes or every same-sentence compound command. Separate explicit task-control clauses retain the existing precedence instead of launching extra work. The change fixes the reported literal-scene cases and preserves the real retry fixture rather than weakening it.

Quoted cancel/retry language inside an explicit generate command was
matching cancel_task / retry_task first and killing or relaunching the
active GPU job instead of enqueueing the requested video or image.

Treat a Studio generation command as generation, not cancel/retry.
Keep standalone cancel the generation and retry the failed job as commands.

Co-authored-by: ignaciodelcano+dcl <ignaciodelcano+dcl@gmail.com>
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: medium
Scope: 2 file(s); +104/-2; React UI

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

Findings

  • medium — Dangerous dynamic execution (ui/src/features/agent/agentActions.ts)
    ui/src/features/agent/agentActions.ts adds exec(). Confirm the input is trusted and sandboxed.
  • 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

  • modified: ui/src/features/agent/agentActions.ts, ui/tests/agentActions.test.mjs

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.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Code health

Quality score: 58.7/100

Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.

Component Weight Current Change
Cyclomatic health 45% 56.2 +0.0
File concentration 25% 66.5 +0.1
Oversized-file debt 20% 42.4 +0.0
Modularity 10% 83.0 +0.0

Change vs PR base: +0.0 points.

Metric Value
Production LOC 282,892
Production files 856
Test LOC 111,926
Functions measured 18,649
Functions complexity ≥ 15 865
Maximum complexity 674
Policy code-health-policy-v1
HEAD e6f1dd6de41b06ea38785ea3581f11dd96d4d8e1
Base bde8a3b6d01c2ccbdd71a45f83cf8f474713c8dd
UI measurement complete

Markdown, JSON catalogs and tests are out of this table. Only app/ runtime + ui/src TS/JS count.

Most complex functions

Complexity Where
674 app/wgp.py:7221 generate_video
379 ui/src/stores/useStore.ts:4122 Async method 'startGeneration'
355 app/_launch_runtime.py:23653 _run_generation
308 app/wgp.py:12363 generate_video_tab
264 ui/src/stores/useStore.ts:8667 Async method 'loadSettingsFromOutput'
262 ui/src/components/Sidebar/SceneAnimatorPanel.tsx:496 Function 'SceneAnimatorPanel'
258 app/services/director/planners/short_film.py:3433 ShortFilmPlanner._plan_story_driven
248 app/services/director_pipeline.py:13607 _run_video_generation
245 app/services/director_pipeline.py:7712 _run_pipeline
233 ui/src/features/agent/agentActions.ts:1152 Function 'parseAction'
226 app/services/director_pipeline.py:6541 update_comic_preview
225 ui/src/features/agent/agentActions.ts:2973 Async function 'executeAgentActions'

Trend vs baseline

Metric Δ
Production LOC +25
Test LOC +77
Functions ≥ 15 +0
Maximum complexity +0

Warnings

  • production LOC increased by +25
  • hotspot ui/src/features/agent/agentActions.ts increased by +25 lines

Ratchet passed.

@IAnMove IAnMove changed the title fix(wizard): no cancelar ni reintentar cuando el usuario pide generar fix(wizard): preservar texto de escena y órdenes reales de cancelar/reintentar Sep 9, 2026
@IAnMove
IAnMove marked this pull request as ready for review September 9, 2026 23:03
@cursor

cursor Bot commented Sep 9, 2026

Copy link
Copy Markdown
Author

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_5d3dc609-500f-42fa-98da-adf1e493bfd4)

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