From 220a9353e58e1745f2969fa9ec0b264a6d9d1f1d Mon Sep 17 00:00:00 2001 From: Hanashi Date: Mon, 10 Aug 2026 01:18:28 -0400 Subject: [PATCH] deprecate enum variants --- .../by_table/generic_inference_jobs/inference_category.rs | 5 +++++ .../inference_job_product_category.rs | 5 +++++ .../by_table/generic_inference_jobs/inference_job_type.rs | 5 +++++ .../by_table/generic_inference_jobs/inference_model_type.rs | 6 ++++++ .../enums/src/by_table/media_files/media_file_class.rs | 5 +++++ .../src/by_table/media_files/media_file_origin_category.rs | 5 +++++ .../by_table/media_files/media_file_origin_model_type.rs | 5 +++++ .../media_files/media_file_origin_product_category.rs | 5 +++++ .../enums/src/by_table/media_files/media_file_subtype.rs | 5 +++++ .../enums/src/by_table/media_files/media_file_type.rs | 5 +++++ .../schema/public/enums/src/by_table/prompts/prompt_type.rs | 5 +++++ .../uploaded_video_note_reported_model_type.rs | 6 ++++++ .../uploaded_videos/uploaded_video_detected_model_type.rs | 6 ++++++ .../public/enums/src/by_table/users/user_signup_source.rs | 5 +++++ .../public/enums/src/common/generation/common_model_type.rs | 6 ++++++ .../enums/src/common/generation/common_video_model.rs | 6 ++++++ .../cost_estimate/video/estimate_video_cost_handler.rs | 1 + .../video/tests/seedance_2p0/seedance_2p0_fast_tests.rs | 2 ++ .../generate/video/tests/seedance_2p0/seedance_2p0_tests.rs | 1 + .../src/http_server/endpoints/video_info/provenance.rs | 2 ++ 20 files changed, 91 insertions(+) diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs index 27fe0c46c5..715e562d8b 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs index 9910d317aa..c54c6abd58 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs index 274eb89075..7a42a9e56f 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs index 93671a657f..676369bb77 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs @@ -1,3 +1,7 @@ +// The deprecated Seedance 2.0 Ultra variants must stay referenced by this +// enum's own coders, variant lists, and tests; suppress the lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] @@ -204,8 +208,10 @@ pub enum InferenceModelType { Seedance2p0BytePlus, #[serde(rename = "seedance_2p0_bp_fast")] Seedance2p0BytePlusFast, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u")] Seedance2p0Ultra, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u_fast")] Seedance2p0UltraFast, #[serde(rename = "seedance_2p0_bpu")] diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs index 74b2ba66a4..7875b711d5 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs index 1164d1b3b1..dc5a55c6f3 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; use serde::Deserialize; diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs index 26c796905d..e982157a93 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; use serde::Deserialize; diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs index c54b6447ec..fea8a6254f 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs index c7507ac74e..6665c22a67 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; use serde::Deserialize; diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs index 52c3efd536..2fdd21a745 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs b/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs index fd72a14f36..0f8c747637 100644 --- a/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs +++ b/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs b/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs index 28a5fca764..8a8817b41f 100644 --- a/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs +++ b/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs @@ -1,3 +1,7 @@ +// The deprecated Seedance 2.0 Ultra variants must stay referenced by this +// enum's own coders, variant lists, and tests; suppress the lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; use serde::Deserialize; @@ -53,8 +57,10 @@ pub enum UploadedVideoNoteReportedModelType { Seedance2p0BytePlus, #[serde(rename = "seedance_2p0_bp_fast")] Seedance2p0BytePlusFast, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u")] Seedance2p0Ultra, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u_fast")] Seedance2p0UltraFast, #[serde(rename = "seedance_2p0_bpu")] diff --git a/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs b/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs index 9a79c0e8cf..e00b543dd4 100644 --- a/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs +++ b/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs @@ -1,3 +1,7 @@ +// The deprecated Seedance 2.0 Ultra variants must stay referenced by this +// enum's own coders, variant lists, and tests; suppress the lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; use serde::Deserialize; @@ -53,8 +57,10 @@ pub enum UploadedVideoDetectedModelType { Seedance2p0BytePlus, #[serde(rename = "seedance_2p0_bp_fast")] Seedance2p0BytePlusFast, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u")] Seedance2p0Ultra, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u_fast")] Seedance2p0UltraFast, #[serde(rename = "seedance_2p0_bpu")] diff --git a/crates/schema/public/enums/src/by_table/users/user_signup_source.rs b/crates/schema/public/enums/src/by_table/users/user_signup_source.rs index ee967f0b23..2384bde4b9 100644 --- a/crates/schema/public/enums/src/by_table/users/user_signup_source.rs +++ b/crates/schema/public/enums/src/by_table/users/user_signup_source.rs @@ -1,3 +1,8 @@ +// Deprecated model variants (e.g. the Seedance 2.0 Ultra tier) must keep +// their classification arms here so historical rows still map; suppress the +// deprecation lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] diff --git a/crates/schema/public/enums/src/common/generation/common_model_type.rs b/crates/schema/public/enums/src/common/generation/common_model_type.rs index b3e817c339..92d66e57ec 100644 --- a/crates/schema/public/enums/src/common/generation/common_model_type.rs +++ b/crates/schema/public/enums/src/common/generation/common_model_type.rs @@ -1,3 +1,7 @@ +// The deprecated Seedance 2.0 Ultra variants must stay referenced by this +// enum's own coders, variant lists, and tests; suppress the lint file-wide. +#![allow(deprecated)] + use std::collections::BTreeSet; #[cfg(test)] @@ -175,8 +179,10 @@ pub enum CommonModelType { Seedance2p0BytePlus, #[serde(rename = "seedance_2p0_bp_fast")] Seedance2p0BytePlusFast, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u")] Seedance2p0Ultra, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u_fast")] Seedance2p0UltraFast, #[serde(rename = "seedance_2p0_bpu")] diff --git a/crates/schema/public/enums/src/common/generation/common_video_model.rs b/crates/schema/public/enums/src/common/generation/common_video_model.rs index 28de79f2f1..6e0a4f3e9d 100644 --- a/crates/schema/public/enums/src/common/generation/common_video_model.rs +++ b/crates/schema/public/enums/src/common/generation/common_video_model.rs @@ -1,3 +1,7 @@ +// The deprecated Seedance 2.0 Ultra variants must stay referenced by this +// enum's own coders, variant lists, and tests; suppress the lint file-wide. +#![allow(deprecated)] + use utoipa::ToSchema; /// Video models available for generation. @@ -74,9 +78,11 @@ pub enum CommonVideoModel { #[serde(rename = "seedance_2p0_bp_fast")] Seedance2p0BytePlusFast, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u")] Seedance2p0Ultra, + #[deprecated(note = "Never launched and unroutable; kept only so historical database rows keep decoding")] #[serde(rename = "seedance_2p0_u_fast")] Seedance2p0UltraFast, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/cost_estimate/video/estimate_video_cost_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/cost_estimate/video/estimate_video_cost_handler.rs index 5f7dab1176..4c6aa871d3 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/cost_estimate/video/estimate_video_cost_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/cost_estimate/video/estimate_video_cost_handler.rs @@ -148,6 +148,7 @@ fn map_video_model(model: CommonVideoModel) -> Result RouterVideoModel::Seedance2p0, CommonVideoModel::Seedance2p0Fast => RouterVideoModel::Seedance2p0Fast, // Deprecated: these never launched and have no execution route. + #[allow(deprecated)] CommonVideoModel::Seedance2p0Ultra | CommonVideoModel::Seedance2p0UltraFast => { return Err(HandlerError::InvalidInput(format!("Model is not supported: {:?}", model))); diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs index ca8b844fab..5058a02160 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs @@ -1045,6 +1045,7 @@ mod seedance_2p0_u_fast { /// must be written for it. #[tokio::test] #[cfg_attr(feature = "skip_database_tests", ignore)] + #[allow(deprecated)] async fn seedance_2p0_ultra_fast_is_unroutable_and_charges_nothing() { let harness = TestHarness::create().await; @@ -1088,6 +1089,7 @@ mod premium { /// real pricing tests are required. #[tokio::test] #[cfg_attr(feature = "skip_database_tests", ignore)] + #[allow(deprecated)] async fn seedance_2p0_ultra_fast_is_deprecated_and_cannot_be_quoted() { use actix_web::web::Json; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs index eadac1b0f6..c059645a33 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs @@ -1068,6 +1068,7 @@ mod seedance_2p0_u { /// written for it. #[tokio::test] #[cfg_attr(feature = "skip_database_tests", ignore)] + #[allow(deprecated)] async fn seedance_2p0_ultra_is_unroutable_and_charges_nothing() { let harness = TestHarness::create().await; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/video_info/provenance.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/video_info/provenance.rs index 3122cb4769..2533343a44 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/video_info/provenance.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/video_info/provenance.rs @@ -103,6 +103,8 @@ pub fn model_family_for_type( | Type::Kling3p0Standard | Type::Kling3p0Pro => Family::Kling, Type::HappyHorse1p0 => Family::HappyHorse, + // Historical rows may carry the deprecated Ultra tier variants. + #[allow(deprecated)] Type::Seedance10Lite | Type::Seedance1p5Pro | Type::Seedance2p0