feat(studio): share native audio and upscale commands - #280
Draft
IAnMove wants to merge 61 commits into
Draft
Conversation
…red-audio-tool-commands # Conflicts: # app/services/image_generation_commands.py
…red-audio-tool-commands
# Conflicts: # app/services/image_generation_commands.py
PR Review — Loreframe StudioRisk: medium Automated review from Findings
Changed files
CONTRIBUTING checklist
Posted by the repo PR review workflow. Re-runs on each push to the PR. |
Code healthQuality score: 58.6/100Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.
Change vs PR base: +1.5 points.
Markdown, JSON catalogs and tests are out of this table. Only Most complex functions
Trend vs baseline
Warnings
Ratchet passed. |
# Conflicts: # ui/src/i18n/locales/en/studio.json # ui/src/i18n/locales/es/studio.json
25 tasks
# Conflicts: # tests/fixtures/architecture_wire_inventory.json
The closed music contract required a non-blank alt_prompt even though the generated schema defaults it to empty and ACE-Step accepts lyrics-only songs. Studio Generate and Wizard start_generation failed after writing lyrics or [Instrumental] without filling Style. Co-authored-by: ignaciodelcano+dcl <ignaciodelcano+dcl@gmail.com>
25 tasks
Wizard queue_sfx_pack reused one capability commandId as every clip's generation.sfx intent_id. Distinct prompts then 409'd after the first clip; identical prompts silently replayed the first receipt. Co-authored-by: ignaciodelcano+dcl <ignaciodelcano+dcl@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Studio speech, music, SFX and Tools upscale use the same durable commands as external MCP clients. Wizard shows the exact request before submission; retrying a transport failure recovers the existing receipt and native task. A deliberate new intention creates another job.
Music preserves lyrics, caption and description, validates native controls and applies seed, steps, guidance and output count visibly. Explicitly bounded authored text in the user request takes precedence over LLM rewrites. References retain source identity and workspace. Executable server contracts supply the catalogs. Audio parsing uses the registered capability without a duplicate fallback.
This draft incorporates development
d88c85d5, rechecked by fetch. Current published HEAD:0220c80c.SFX adds text-only MMAudio and canonical video-guided sound replacement. Server preparation checks all seven installed dependencies without downloads, records guide identity and inspected duration, and rechecks the admitted task/parameters/guide before native work. Wizard preserves literal descriptions and exposes seed/guidance/text weight; omitted guide preserves selection and explicit null removes it. Corrupt recovery hints no longer hide unrelated pending commands.
Validation
60019e54: 1,381 tests pass, i18n, ESLint, TypeScript, build and bundle budget pass (323,245 / 327,680 B gzip). Code-health ratchet against development d88 passes. No baseline or budget increases. Required CI and both Cursor checks on60019 passed. The earlier0578 module graph failure was corrected without changing its allowlist.60019e54: one Wizard turn, one V2 POST, zero legacy POSTs, tasktask-generation-fde42ec3. ACE-Step XL generated a fully decoded 20 s stereo WAV at 48 kHz in 81.13 s (59.65 s loading). The official MCP client replayed the identical intention with the same receipt/task/file; one matching task and zero active tasks. Native/MCP/public SHA-256f09cf7adf288edf273e2ee4d87fed566569dbb2046d6466bb8d692b9a0b3caab.Remaining work
Real SFX is validated: text-only on74d and video-guided on0220, each through one Wizard admission and official MCP receipt replay. Text WAV3.02s,42.71s process; guided MP4 preserves54 original frames, uses1.8s source duration and replaces audio,40.34s process. Guided output fully decoded, audible in Chromium, and downloaded from the application; native/UI/MCP/public hashes match (ffa64ea26b74e01c82c20b63776d698b970893584e31d4986a740977cf4694c1). Earlier rejected attempt retained; stale H3 options and guide instructions fixed. Local0220 UI1398 tests, lint/types/build/budget and ratchet PASS. P5 remaining modalities and P6–P10 are unfinished. H3 processor reference arrays remain limited by the native scalar settings validator. The observation runner now preserves transient GET errors and continues observing the same admitted job; its original failed Music observation is retained.
Evidence:
outputs/wizard-mcp-execution-20260909/. LAN samples: http://192.168.1.87:4192/wizard-mcp-20260909/ . Music: http://192.168.1.87:4192/wizard-mcp-20260909/music/ .