Skip to content

Add Crusoe provider#3250

Open
acheamponge wants to merge 3 commits into
anomalyco:devfrom
acheamponge:add-crusoe-provider
Open

Add Crusoe provider#3250
acheamponge wants to merge 3 commits into
anomalyco:devfrom
acheamponge:add-crusoe-provider

Conversation

@acheamponge

@acheamponge acheamponge commented Jul 13, 2026

Copy link
Copy Markdown

Adds Crusoe Managed Inference as a provider.

Provider

Models (14)

All chat models from the current catalog. Each entry references an existing canonical models/ definition via base_model (zhipuai GLM-5.1/5.2, the nvidia Nemotron 3 family, google/gemma-4-31b-it, deepseek V4 Flash/Pro, meta/llama-3.3-70b-instruct, openai/gpt-oss-120b, alibaba/qwen3-235b-a22b, moonshotai/kimi-k2.6).

Also adds one new canonical entry: models/deepseek/deepseek-v3-0324.toml (no existing provider defined it).

Pricing intentionally omitted. Excluded: nvidia/Nemotron-3-VoiceChat (speech-to-speech).

Context

I maintain Crusoe's ecosystem integrations (LiteLLM provider: BerriAI/litellm#23195, SGLang: sgl-project/sglang#20475). Happy to adjust anything to match registry conventions.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/crusoe/models/{deepseek-ai/DeepSeek-V4-Flash,deepseek-ai/DeepSeek-V4-Pro,google/gemma-4-31b-it,moonshotai/Kimi-K2.6,nvidia/Nemotron-3-Nano-30B-A3B,nvidia/Nemotron-3-Nano-Omni-Reasoning-30B-A3B,nvidia/Nemotron-3-Super-120B-A12B,nvidia/Nemotron-3-Ultra-550B,openai/gpt-oss-120b,qwen/Qwen3-235B-A22B,zai/GLM-5.1,zai/GLM-5.2}.toml - Check: Reasoning models must declare reasoning_options. Why: Each of these 12 files inherits reasoning = true from its base_model metadata (verified in the corresponding models/... entries), but reasoning_options is provider-specific and is never inherited — model-metadata files do not even carry the field, and generate() only deep-merges inheritable metadata. The merged provider model therefore has reasoning = true with reasoning_options undefined, which the schema refine rejects ("Must set reasoning_options when reasoning is true"), so bun validate fails for all 12. Action: Add a reasoning_options array to each file. Crusoe is an OpenAI-compatible endpoint, so audit whether it forwards reasoning controls (e.g. reasoning_effort, chat_template_kwargs.enable_thinking, thinking.budget_tokens); if no caller control is verified for that model, reasoning_options = [] is the correct declaration.
  • [high] [violation] providers/crusoe/logo.svg:1 - Check: New provider logos must use currentColor, have no fixed size, and preferably a square viewBox. Why: The SVG declares width="121" height="30" (fixed size) and every path uses fill="black" (hardcoded color), so it will not adapt to light/dark themes and will not scale; the viewBox="0 0 121 30" is also non-square. A compliant logo is a hard blocker for new providers. Action: Remove the width/height attributes, replace each fill="black" with fill="currentColor", and prefer a square viewBox.
  • [low] [possible mistake] .pr-review/pull-request.json:4 (PR body) vs providers/crusoe/models/**/*.toml - Check: PR body claims must match the final diff. Why: The body advertises "pay-as-you-go pricing from https://www.crusoe.ai/cloud/pricing#Managed-Inference-pay-as-you-go (input/output/cache_read per 1M tokens)" with specific per-model prices and states Nemotron-3-Ultra-550B was excluded, but the second commit ("Remove pricing; add Nemotron-3-Ultra-550B") deleted every [cost] block and added that model. The final diff ships 14 Crusoe models with no pricing and includes the model the body said was excluded. Action: Reconcile the body with the diff — either restore the cited per-1M-token pricing on each model (mapping the pricing-page citation to each value) or update the body to explain the pricing removal and the Ultra-550B inclusion.

- Add reasoning_options = [] to the 12 reasoning-model TOMLs: Crusoe's
  OpenAI-compatible endpoint documents no caller-side reasoning controls
  (docs.crusoecloud.com defers to the generic OpenAI API reference), so
  an empty declaration is correct per the validate schema.
- logo.svg: drop fixed width/height, use fill="currentColor" so the
  wordmark adapts to light/dark themes.

bun validate passes locally.
@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [medium] [violation] providers/crusoe/models/deepseek-ai/DeepSeek-V4-Flash.toml:2 (and the 11 other reasoning-model TOMLs) - Check: Rationale/citation comments must live in a leading comment block above the first key. Why: The three-line comment explaining reasoning_options = [] is placed after base_model (the first key) and above reasoning_options. AGENTS.md requires source citations/rationale to be in a leading header block above the first key because sync serialization silently deletes comments placed between keys. This affects all 12 reasoning-model files added in patch 3. Action: Move the comment block above base_model so it becomes a leading header, or move the rationale/citation into the PR body (per the audit-reasoning-options skill, citations belong in the PR body unless kept as a leading TOML header).
  • [low] [possible mistake] providers/crusoe/provider.toml / PR body - Check: Data-changing PRs should cite direct provider sources for material factual claims that cannot otherwise be reviewed. Why: The 14-model catalog and exact model IDs/namespacing (e.g. zai/GLM-5.1, nvidia/Nemotron-3-Ultra-550B) are material claims not verifiable from the general docs-overview link alone, and the reasoning_options = [] claim needs a provider reasoning-API citation per the audit skill's evidence standard. Action: Add a direct citation to the Crusoe catalog/models listing that enumerates these models and confirms their IDs, and cite the specific reasoning API documentation (or confirm its absence) supporting the empty reasoning_options arrays.

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