Skip to content

Bug: Transfer source images and masks into ComfyUI before execution #105

Description

@BerryUIKI

Summary

creative_runner.py:364 supplies only a Berry-managed asset basename to LoadImage; the same pattern is used for masks, upscaling, and image-to-video. supervisor.py:169 launches ComfyUI with a separate engine/input directory. No upload/copy bridge connects those locations.

Environment and evidence

  • Review finding: F05 (2026-10-05 product/technical review).
  • Baseline: Windows, dev at c1c5dbe. The remote dev matched this commit when filing.
  • Evidence: Code.
  • Priority recommendation: P1 - proposed first-release blocker. This is review triage, not a production-incident severity declaration.
  • No real credentials, paid inference, engine installation, or unrelated process termination were used for review probes. Mocked observations establish the stated code behavior, not live-provider/GPU acceptance.

Reproduction or validation

Trace an imported managed asset through CreativeRunner._run_comfy into the compiled LoadImage nodes. The graph uses the asset basename, but ComfyUI is launched with a separate engine/input directory. There is no upload/copy bridge in the reviewed path. Live GPU inference was not run; validate using a managed engine and a separately owned external engine.

User impact

Selection-based local editing can reference a file the engine cannot load. ComfyUI validates input filenames against its input directory. ComfyUI LoadImage implementation.

Proposed approach

Transfer source and mask assets through the engine's upload contract, retain the returned engine filename, and verify import -> img2img/inpaint/upscale with a real managed engine and an external engine.

Acceptance criteria

  • Upload/adopt each source and mask through the selected engine's input contract.
  • Use the filename returned by the engine rather than a Berry storage basename.
  • Imported img2img, inpaint, and upscale complete on managed and external ComfyUI.
  • Transfer errors preserve the source and report an actionable failure.

Verification scope

Real GPU inference, paid-provider compatibility, and a clean-machine packaged desktop journey remain unverified. Any follow-up implementation should target dev under the repository's contribution/branching rules.

Activity

  1. added
    bugSomething isn't working
    criticalCritical priority issues that block core functionality or cause vulnerabilities
    backendBackend Python / FastAPI / Engine issues
    on Oct 4, 2026
  2. BerryUIKI commented on Oct 6, 2026

    @BerryUIKI
    OwnerAuthor

    Implemented in #158 and squash-merged into dev at 54d5981.

    Validation: all 238 backend tests passed locally, and the final-head Backend Tests, Frontend Build & Typecheck, and Rust Launcher Build & Test checks passed. Multipart and CreativeRunner contract tests cover source and independent-mask transfers, engine-returned names/subfolders, upload-before-queue ordering, actionable failures without submission, original file preservation, and cache hits skipping upload and execution.

    Closing the file-transfer defect as implemented. Real managed/external GPU journeys remain unverified under #143; selected-engine connection routing remains #127. Painted edit/protect mask semantics are the next separate task, #106.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendBackend Python / FastAPI / Engine issuesbugSomething isn't workingcriticalCritical priority issues that block core functionality or cause vulnerabilities

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions