Skip to content

Carry provider failure detail, name both providers, expose the Atlas-only knobs - #27

Merged
leochenpm merged 1 commit into
fix/atlas-i2v-default-modelfrom
fix/atlas-nits
Aug 12, 2026
Merged

Carry provider failure detail, name both providers, expose the Atlas-only knobs#27
leochenpm merged 1 commit into
fix/atlas-i2v-default-modelfrom
fix/atlas-nits

Conversation

@leochenpm

Copy link
Copy Markdown
Collaborator

The three nits recorded in the #13 review, in one bounded pass. Stacked on #26 (same function); merge #26 first, then re-target this to main.

  1. A refusal carries the provider's reason. A failed/canceled poll now includes Atlas's data.error / Doubao's error.messagevideo: task t9 failed: quota exceeded instead of a bare failed. (Doubao had been dropping it since before feat(video): add Atlas Cloud provider #13.)
  2. The no-provider error names both choices (provider=doubao or provider=atlas).
  3. The Atlas-only knobs are expressible end to end: ratio: "adaptive", duration: -1 (provider-chosen; the Atlas builder accepts it, Doubao keeps its 4–15 bound), and the -SR/4k resolutions — widened in VideoParams, the MCP schema (with Atlas-only notes), and the CLI descriptions. Values stay provider-checked: an Atlas-only value sent to Doubao fails at the provider with its own error, which is the BYO contract.

Verification

Build green; 222 tests pass (+4): Atlas failure detail, Doubao failure detail, the both-providers message, and -1/adaptive/1080p-SR passing through the builder while duration: 3 still gets the 4–15-or-−1 refusal.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VL7mRpmEphLAbcH7YmABnV

…e the Atlas-only knobs

The three nits recorded in the #13 review, in one bounded pass:

- A failed/canceled poll now carries the provider's own reason —
  Atlas data.error and Doubao error.message — instead of a bare
  "task X failed". The response already said WHY; a refusal must
  hand that detail over. (Doubao had dropped it since before #13.)
- The no-provider error names both configured choices
  (provider=doubao or provider=atlas); it still said doubao-only.
- The Atlas-only generation knobs are now expressible end to end:
  ratio "adaptive" (follow the source/first frame), duration -1
  (provider-chosen length, Atlas builder accepts it while Doubao
  keeps its 4-15 bound), and the -SR / 4k resolution variants —
  widened in VideoParams, the MCP schema (with Atlas-only notes),
  and the CLI descriptions. Values remain provider-checked: passing
  an Atlas-only value to Doubao fails at the provider with its own
  error, which is the BYO contract.

Verified: build green; 222 tests pass (+4): Atlas failure detail,
Doubao failure detail, both-providers message, and the -1/adaptive/
1080p-SR pass-through with the 4-15-or--1 bound still enforced.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VL7mRpmEphLAbcH7YmABnV
@leochenpm
leochenpm merged commit 218f4d3 into fix/atlas-i2v-default-model Aug 12, 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