Skip to content

docs: guía de Studio Tools y huecos de la semana - #225

Draft
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/engineering-documentation-updates-46a6
Draft

docs: guía de Studio Tools y huecos de la semana#225
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/engineering-documentation-updates-46a6

Conversation

@cursor

@cursor cursor Bot commented Sep 7, 2026

Copy link
Copy Markdown

Resumen ejecutivo

Esta primera sección está pensada para project managers y revisores no
técnicos. Mantén el detalle técnico completo más abajo.

Qué cambia

Documentación de operador para el panel Studio → Tools (upscale, revoice SeedVC, quitar fondo rembg), más correcciones de API/README que el código de esta semana ya tenía y las docs no.

Para qué sirve

Tools creció entre el 3 y el 5 de septiembre (PRs #129, #133 y el contrato de música) sin una HOWUSEIT. Evita que operadores e integradores asuman comportamientos que el código no hace (p. ej. que instruction cambie el matte).

Impacto para el usuario

Ninguno en runtime. Sólo docs: nueva guia, índice, README, API y notas de validación local.

Riesgo

  • Bajo
  • Medio
  • Alto

Estado

  • En desarrollo
  • Listo para revisión
  • Bloqueado por CI o revisión
  • Requiere migración o acción manual

Summary

Weekly documentation automation (cron 0 16 * * 1). Largest weakly documented surface since 2026-08-31: Studio Tools post-processing.

Docs added/updated

  • Added docs/tools/HOWUSEIT.md — operator contract for upscale / SeedVC revoice / rembg
  • Updated docs/HOWUSEIT.md, README first-steps + Usage + Studio audio, app/docs/API.md (revoice section, rembg constraints)
  • Cross-links in Video Editor and Character Kits HOWUSEIT
  • docs/development/LOCAL_VALIDATION.md — UI inherits current PATH; suite stops after a failed UI step
  • README: local MiniMax Music3 (minimax_music3, 5–300 s) vs remote music-2.6 / music-3.0; Story song persist-before-generate

Codepaths covered

  • POST /api/v1/tools/upscale, /revoice, /remove-background
  • app/services/tools_upscale.py, app/shared/tools/*, app/_launch_runtime.py Tools workers
  • ui/src/components/Sidebar/ToolsPanel.tsx + useStore.runTool
  • app/models/TTS/minimax_music3_handler.py duration clamp; Story song identity (docs/development/STORY_SONG_IDENTITY.md)
  • scripts/validate_local.sh PATH / set -e behavior

Knowledge gaps addressed

  • instruction is stored on rembg jobs but U2Net does not consume it
  • rembg formats are narrower than upscale (no bmp/gif/tif)
  • revoice is video-only; conflicting source/video_path is 409
  • Tools workspace is a physical output folder, not a Workspace collection
  • Local Music3 vs remote MiniMax music models; pending song row before generate

Overview

Operators open Studio → Tools, pick a source (gallery, asset catalog, upload), run one of three post-process actions, and get a new file. Jobs use the shared GPU slot, Activity footer, and /api/v1/status / /cancel. This PR only documents that path; it does not change it.

Detailed changes

Backend

No runtime changes. API.md now documents revoice and the rembg instruction/format constraints already enforced by app/routers/tools.py and app/_launch_runtime.py.

UI and Wizard

No UI changes. The guide matches ToolsPanel / Wizard toolsAdapter.

Data, provenance and compatibility

Documents existing sidecar lineage (capability upscale/revoice/remove_background) and the physical-folder workspace field.

Files and ownership

  • docs/tools/HOWUSEIT.md — new operator guide
  • docs/HOWUSEIT.md, docs/video-editor/HOWUSEIT.md, docs/character-kits/HOWUSEIT.md — index/cross-links
  • README.md — Tools entry, Music3, song identity
  • app/docs/API.md — rembg + revoice HTTP contract
  • docs/development/LOCAL_VALIDATION.md — PATH / fail-closed UI
  • Left untouched: Video Editor / Workspaces / Character Kits bodies (contracts unchanged); scheduler.md; Series Lab; LAN auth

Validation

  • python scripts/verify_clean_repo.py — PASS
  • python -m compileall -q app/services app/launch.py scripts — N/A (docs only)
  • Focused Python tests: N/A (docs only)
  • cd ui && npm run i18n:check — N/A
  • UI tests: N/A
  • cd ui && npm run lint -- --max-warnings=0 — N/A
  • cd ui && npm run build — N/A
  • python scripts/check_documentation_links.py — PASS
  • git diff --check — clean (committed)
  • E2E/smoke checks: N/A (documentation-only)
  • Validation scope: fast / docs contract

Code quality

  • Score: pending CI
  • Complexity trend: pending CI (docs-only; no production LOC)
  • Production LOC trend: pending CI
  • Regression versus main: pending CI
  • Ratchet: pending CI

CI and review

  • CI of this HEAD: pending
  • Cursor/Bugbot of this HEAD: pending
  • Independent agent review of this HEAD: pending
  • Human merge click (operational, not code review): pending

Coste de la tarea

  • Tests simulados: 0 tokens externos
  • Tests reales: N/A
  • Llamadas LLM externas: 0
  • Tokens de prompt: N/A
  • Tokens de respuesta: N/A
  • Tokens totales: N/A
  • Generaciones de imágenes/audio/vídeo: 0
  • Tiempo transcurrido: N/A
  • Proveedores/modelos: N/A

Notes and limitations

Claims were checked against current source. instruction must not be documented as steering rembg until the worker reads it. Character Kit lookNotes remains UI-only / stripped.

Follow-up work

  • Persist lookNotes or stop sending it (code change)
  • Lyrics-language guard phase 6; generation-record wiring; server-side song attach
  • Re-audit docs/scene-recipe-gap.md vs sceneToRecipe.ts if the serializer grows
  • Do not recreate Tools / Video Editor / Workspaces / Character Kits HOWUSEIT unless those contracts change

Checklist

  • The executive summary is understandable without reading the code.
  • The detailed Summary/Overview has not been removed or shortened.
  • Tests and their actual results are recorded.
  • Generated assets, secrets and local-only files are not committed.
  • Required CI and Cursor/Bugbot review are complete, or the PR is clearly marked as waiting for them.
Open in Web View Automation 

Document the post-processing Tools panel (upscale, SeedVC revoice, rembg)
against the current HTTP and worker contracts, including the unused
instruction field and narrower rembg formats. Cross-link the HOWUSEIT
index, README, API, and related guides; note local Music3 vs remote
MiniMax and persist-before-generate song identity; record validate_local
PATH inheritance and fail-closed UI steps.

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

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 7 file(s); +230/-15; docs

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

  • added: docs/tools/HOWUSEIT.md
  • modified: README.md, app/docs/API.md, docs/HOWUSEIT.md, docs/character-kits/HOWUSEIT.md, docs/development/LOCAL_VALIDATION.md, docs/video-editor/HOWUSEIT.md

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 7, 2026

Copy link
Copy Markdown

Code health

Quality score: 49.9/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% 52.5 +0.0
File concentration 25% 55.5 +0.0
Oversized-file debt 20% 30.8 +0.0
Modularity 10% 62.3 +0.0

Change vs PR base: +0.0 points.

Metric Value
Production LOC 245,474
Production files 541
Test LOC 72,601
Functions measured 15,344
Functions complexity ≥ 15 793
Maximum complexity 667

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

Most complex functions

Complexity Where
667 app/wgp.py:7164 generate_video
374 ui/src/stores/useStore.ts:4024 Async method 'startGeneration'
355 app/_launch_runtime.py:23508 _run_generation
308 app/wgp.py:12281 generate_video_tab
271 ui/src/components/Sidebar/SceneAnimatorPanel.tsx:474 Function 'SceneAnimatorPanel'
266 ui/src/stores/useStore.ts:8566 Async method 'loadSettingsFromOutput'
258 app/services/director/planners/short_film.py:3433 ShortFilmPlanner._plan_story_driven
248 app/services/director_pipeline.py:13735 _run_video_generation
245 app/services/director_pipeline.py:7860 _run_pipeline
243 ui/src/features/agent/agentActions.ts:1128 Function 'parseAction'
226 app/services/director_pipeline.py:6689 update_comic_preview
225 ui/src/features/agent/agentActions.ts:2796 Async function 'executeAgentActions'

Trend vs baseline

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

Ratchet passed.

@IAnMove

IAnMove commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Revisión independiente: sigue en draft. No retarget ni ready.

La guía de Tools y la corrección de instruction en rembg sí aportan, pero el PR enseña contratos que el código no cumple, en main y en development:

  • Wizard no envía upscale/revoice; toolsAdapter solo hace rembg.
  • ?workspace= vs source_workspace no es 409; gana el campo tipado (200 en tests).
  • Videoclip Music3 en Story Lab es 20–300 s, no 5–300.

Además, frente a development ya está desfasada: picker AssetInput sin ?kind=image, y HTTP upscale incluye rife/dlssg/dlss5/h3facerefine.

Hay que reescribir esas afirmaciones (y mejor contra development) antes de sacarlo de draft.

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