Skip to content

fix(generate-video): offer the same-provider successor first for retired video models - #55

Open
mattmillerai wants to merge 1 commit into
mainfrom
matt/be-26025-retired-video-successor-first
Open

mattmillerai wants to merge 1 commit into
mainfrom
matt/be-26025-retired-video-successor-first

Conversation

@mattmillerai

Copy link
Copy Markdown
Member

ELI5

When someone asks for a video model that has been shut down, the assistant now first offers that same company's newer model and runs it straight away. If the company has no newer model, the assistant explains the original is gone and asks which other company's model to use, so it no longer swaps in a different product (and spends credits on it) without asking.

What

Rewrites the Retired — redirect, don't route. paragraph in claude-code/commands/generate-video.md and its legacy mirror skills/comfy-generate-video.md. The two lines are still byte-identical. The paragraph now says, in this order:

  1. Opening (unchanged): the three retired families (OpenAI Sora, Runway gen3a_turbo, gemini-omni-flash-preview), their dates, and "Don't look up the retired name itself — discover its replacement instead."
  2. Same-provider successor first. Runway gen3a_turbo maps to the Runway Gen-4 Turbo api_* template, which is image-to-video, so a prompt-only Runway request has no same-provider successor and goes to step 3. gemini-omni-flash-preview maps to the Gemini Omni Flash 1.1 api_* template: _t2v for a prompt, _i2v for input media. The agent finds the template with search_templates on the successor family name, narrowed by the task tag (never "video"), runs it with run_template, carries the user's prompt and media into the slots get_template_schema names, and says which model ran. The run's own spend prompt still applies.
  3. Cross-provider replacement only with the user's pick. This covers Sora and prompt-only Runway. The agent lists what is live: the partner_generate video slugs, or for input media the like-for-like api_* template. It says plainly that the named model is retired and that the options are other providers' products, then asks which one before calling partner_generate or run_template. The agent does not quote a price for a partner_generate pick (there is no estimate), because the spend prompt on the confirmed call carries the charge. It skips the question only if the user already said any live model will do, or set a standing approval earlier in the conversation.
  4. Closing (unchanged): "Comfy Cloud answers these three names with the same redirect…".

Why: the old paragraph sent a prompt-only request straight to another provider's model without telling the user. That contradicts the same command's Step 0 rule (a suggestion from another provider is not a retry, so ask first). It also skipped Gemini's own text-to-video successor.

Step 0's first sentence already sends the three names to this paragraph, so it is unchanged.

Dated ids (api_runway_gen4_turbo_image_to_video, api_google_gemini_omni_flash_1_1_t2v / _i2v, bfl/flux-3-video, veo/veo-3-t2v, kling/kling-v3-t2v, api_bfl_flux3_i2v) appear only as "as of 2026-09" examples. Next to them the paragraph tells the agent to use whatever the live search returns, following the README rule "Live specifics never freeze."

Notes for reviewers

  • The skip-the-question clause is load-bearing. A gate case in our eval suite (the retired partner-video bounce case) puts a cross-provider re-call authorization in its prompt. Rule 3's "skip the question only if the user already said any live model will do" clause keeps that case passing. Please don't drop it.
  • Negative claims: every "no"/"don't" in the paragraph names the working path. "No same-provider successor" points to the cross-provider path. "Never "video"" points to the task tags. "Don't quote a price" points to the spend prompt on the confirmed call. The paragraph contains no dead end.
  • Server parity: I checked the split against the hosted server's retired-model hint table on its default branch:
    • Sora: no successor flag, media template api_bfl_flux3_i2v.
    • Runway: successor: true, media only, api_runway_gen4_turbo_image_to_video.
    • Gemini: successor: true, text api_google_gemini_omni_flash_1_1_t2v and media api_google_gemini_omni_flash_1_1_i2v.
    • All three list the same three alternative slugs.
    • The server also says partner_generate quotes no estimate.

Provenance

  • Authored by: agent-work loop
  • Verified:
    • Both **Retired lines byte-identical: diff <(grep '^\*\*Retired' skills/comfy-generate-video.md) <(grep '^\*\*Retired' claude-code/commands/generate-video.md) is empty
    • claude plugin validate ./claude-code: passed
    • Successor split, template ids and alternative slugs match the hosted server's retired-model hint table (read from source on its default branch)
    • Doc-drift sweep: 12 references checked, 0 updated (all generic mentions of search_templates, ComfyUI or "video"; none describe the old retired-model routing)
    • Not run: a live MCP session against the paragraph, or the eval suite
  • Deviations: none

Residual

  • The hosted server's own copy of this guidance needs a mirror. The comfy-cloud-mcp-server repo needs a follow-up: mirror this successor-first / ask-before-cross-provider wording into its own guide text, and add a lint row covering the cross-provider-ask rule. That work is tracked as a separate sibling item and is blocked on this PR. This PR only changes the skill text.
  • Not exercised live: I did not run search_templates / run_template / partner_generate against Comfy Cloud for the three retired names, so the live search results for "Runway Gen4", "Gemini Omni Flash" and "Flux 3 Video" with the task tags were not re-checked here. I checked the template ids and slugs against server source, not against a live catalog query. I also did not run the eval suite's retired partner-video bounce case against this text. Its pre-authorization clause is kept on purpose (see above).

…red video models

The Retired paragraph sent a prompt-only Sora, Runway gen3a_turbo or Gemini
Omni Flash preview request straight to another provider's model without
saying so, contradicting Step 0's "ask before a cross-provider re-call" rule,
and skipped Gemini's own Omni Flash 1.1 text-to-video successor.

Split it: a same-provider successor (Runway Gen-4 Turbo for media, Gemini
Omni Flash 1.1 t2v/i2v) runs without re-asking about the swap; anything
else (Sora, prompt-only Runway) lists the live cross-provider options, says
the named model is retired, and asks which one, unless the user already
said any live model will do. Both copies stay byte-identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mattmillerai mattmillerai added cursor-review Request the Cursor multi-model review matrix agent-coded Implemented by the agent-work loop labels Nov 11, 2026
@coderabbitai

coderabbitai Bot commented Nov 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

This review includes 2 billable files and costs up to $0.50.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 41 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available. Your 84 included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: 5b33104e-4a22-45d6-b105-8f59fc40a24d
Commits

Reviewing files that changed from the base of the PR and between 88116d7 and da27822.

Files selected for processing: 2

  • claude-code/commands/generate-video.md
  • skills/comfy-generate-video.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Labels

agent-coded Implemented by the agent-work loop cursor-review Request the Cursor multi-model review matrix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant