Skip to content

fix(xiaoyunque): register reference image assets#19

Merged
superche merged 2 commits into
mainfrom
feat/xiaoyunque-reference-upload-contract
Jul 22, 2026
Merged

fix(xiaoyunque): register reference image assets#19
superche merged 2 commits into
mainfrom
feat/xiaoyunque-reference-upload-contract

Conversation

@superche

@superche superche commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • register legacy upload_file image results through the first-party AssetCreateV2 contract when pippit_asset_id is missing or blank
  • keep EverPhoto asset_id and PippitAssetID as distinct identities and send only the registered PippitAssetID into generation
  • use the same reference upload/registration contract for both image and video generation
  • assert every governed image and video model advertises reference-image input support
  • fail before submit_run with a stable safe diagnostic when registration is rejected or incomplete
  • release xiaoyunque-generation 0.3.4 with companion 0.3.2 and advance Registry sequence to 23

Why

Reference workflows could stop after upload because upload_file may return only an EverPhoto asset id, while both image and video submission require the registered Pippit asset identity. The previous sidecar parsed pippit_asset_id as optional and then failed generically before submission.

Safety

  • no fallback aliases asset_id as PippitAssetID
  • registration errors do not create an operation record or call submit_run
  • public errors contain no upstream body, Cookie, native path, or asset identifier
  • direct upload responses that already contain pippit_asset_id remain unchanged

Validation

  • rebased onto current origin/main (542be60)
  • bun run check passed outside the restricted loopback sandbox
  • XiaoYunque sidecar tests: 109 passed, including registered Canvas reference images for image and video generation
  • repository tooling tests: 52 passed
  • typecheck, local/darwin-arm64 companion builds, Registry validation, package packing, and index generation passed

No live or billable XiaoYunque generation was triggered during validation.

@superche
superche force-pushed the feat/xiaoyunque-reference-upload-contract branch from ae9688d to edbbb64 Compare July 22, 2026 12:45
@superche
superche merged commit 3724ac5 into main Jul 22, 2026
1 check 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.

1 participant