pub const FINETUNE_GPU_BACKEND_VALUES: [&str; 3];Expand description
Backends apr finetune --gpu-backend accepts.
#2583 follow-up: this site is the SAME silent-wrong-backend defect as
apr serve run --backend, one command over. It was declared
#[arg(long, default_value = "auto")] gpu_backend: String with no
value_parser, and gpu_backend_notice() (commands/finetune.rs:265)
dispatches on it with a catch-all _ => arm that means “auto”. So
--gpu-backend cudaa parsed, printed auto → …, and trained on whatever
backend auto-selection picked — the typo was indistinguishable from not
passing the flag at all.
It is deliberately NOT BackendArg: the domains genuinely differ. auto is
a valid selection here and is absent from BACKEND_VALUES; cpu is not a
selectable training backend and is present there. Sharing the declaration
across two different value sets would have to widen both, re-admitting
--backend auto on apr run (unvalidated again, by a different route) and
--gpu-backend cpu on apr finetune (silently the _ => auto arm again).
What is shared instead is the invariant, enforced by
test_every_backend_arg_advertises_its_values_2583 over the built clap tree.