agent-platform release v4.118.0
Added
- A serving preset declares the GPU generation it runs natively on:
requirements.minComputeCapability (giantswarm/agent-platform#832). The ServingPreset contract gains the key (a CUDA compute capability such as "8.9"), and every shipped preset declares it: 8.9 for the FP8 recipes (qwen3-5-9b-fp8, gemma-4-31b, muse-glimmer-30b, qwen3-6-35b-a3b, devstral-small-2, kolibri-1) and for the two NVFP4 recipes proven on the L40S through vLLM’s Marlin weight-only FP4 path (qwen3-8-27b-l40s, mistral-small-4); 10.0 for the recipes tuned on a Blackwell node (nemotron-3-super-nvfp4, qwen3-8-27b, qwen3-8-flash-next-nvfp4); 8.0 for the bf16-activation recipes (qwen3-5-4b, qwen3-5-4b-hf, gemma-4-12b, gpt-oss-20b, gpt-oss-120b). An FP8 W8A8 checkpoint on an A10G (Ampere, 8.6) goes Ready and answers wrong through vLLM’s weight-only FP8 Marlin fallback while the memory fit says it hosts (giantswarm/model-manager#264); cluster-manager’s form fit reads the declared floor to refuse such a pool (giantswarm/cluster-manager#178), model-manager keeps judging from the checkpoint. make verify-preset-weights holds the declared floor at or above what the checkpoint’s quantization and dtype need (config.json, params.json for the mistral format, hf_quant_config.json for ModelOpt mixed precision; a CUTE_DSL_ARCH pin to Blackwell needs 10.0), with tests/fixtures/serving-preset-floor-understated.yaml as the negative control; a values preset without the key is judged on memory alone.