Skip to content

[privatemode] sync supported models#3240

Draft
jmxnzo wants to merge 1 commit into
anomalyco:devfrom
edgelesssys:privatemode-sync-models
Draft

[privatemode] sync supported models#3240
jmxnzo wants to merge 1 commit into
anomalyco:devfrom
edgelesssys:privatemode-sync-models

Conversation

@jmxnzo

@jmxnzo jmxnzo commented Jul 13, 2026

Copy link
Copy Markdown

Generated by the Privatemode sync-models-dev workflow.

This PR synchronizes the Privatemode model definitions in models.dev with the current production deployment.

The workflow is triggered when:

  • a model is deprecated
  • a new model is added
  • an existing model is updated

Please visit the Privatemode model overview for more information about the supported models.
Check the release notes for the latest model updates and changes.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/privatemode-ai/models/gemma-4-31b.toml:3 - Check: base_model must resolve to an existing models/ entry. Why: The value google/gemma-4-31B-it does not match any metadata file; the actual file is models/google/gemma-4-31b-it.toml (lowercase b). generate() keys the metadata map by the case-sensitive filesystem path, so bun validate throws Unable to resolve base_model and the whole catalog fails to build. Action: Change to base_model = "google/gemma-4-31b-it".
  • [high] [violation] providers/privatemode-ai/models/kimi-k2.6.toml:3 - Check: base_model must resolve to an existing models/ entry. Why: The value moonshotai/Kimi-K2.6 does not match any metadata file; the actual file is models/moonshotai/kimi-k2.6.toml (lowercase k). Same case-sensitivity failure as above. Action: Change to base_model = "moonshotai/kimi-k2.6".
  • [high] [violation] providers/privatemode-ai/models/qwen3-embedding-4b.toml:3 - Check: base_model must point to an existing models/<provider>/<model>.toml; otherwise a full inline definition is required. Why: Qwen/Qwen3-Embedding-4B resolves to nothing — there is no models/Qwen/ directory and no Qwen3-Embedding metadata anywhere in models/. The file also no longer carries release_date/last_updated/description, so even if the pointer were ignored it would fail the required-fields schema. Action: Restore a full inline provider definition (with description, release_date, last_updated, etc.) or add the corresponding models/ metadata entry in this PR.
  • [high] [violation] providers/privatemode-ai/models/voxtral-mini-3b.toml:3 - Check: base_model must point to an existing models/ entry; otherwise a full inline definition is required. Why: mistralai/Voxtral-Mini-3B-2507 resolves to nothing — the directory is models/mistral/ (not mistralai) and no Voxtral metadata file exists. The file is also missing release_date/last_updated/description. Action: Restore a full inline provider definition (with description, release_date, last_updated, etc.) or add the corresponding models/ metadata entry in this PR.
  • [medium] [possible mistake] providers/privatemode-ai/models/gemma-4-31b.toml:6 and providers/privatemode-ai/models/kimi-k2.6.toml:6 - Check: reasoning_options must reflect the inference provider's actual API surface; niche providers documenting a toggle must express the exact request syntax as an adjacent TOML comment. Why: Both new files declare reasoning_options = [{ type = "toggle" }] with no comment, while providers/privatemode-ai/provider.toml states Privatemode "defines no provider-wide reasoning enum or bounds" and only passes parameters through to the active model server. There is no evidence in the PR that Privatemode exposes a verified reasoning toggle for these models. Action: Either add a comment documenting the exact API request syntax for the toggle (e.g. # API: {"chat_template_kwargs": {"enable_thinking": false}}) and confirm the provider supports it, or use reasoning_options = [] if no caller control is verified.
  • [low] [possible mistake] providers/privatemode-ai/models/whisper-large-v3.toml:17 - Check: Material factual changes should be supported by a citation. Why: limit.output changes from 4096 to 0 with no source, and the PR body provides no citations for any data change. An output limit of 0 for a transcription model that emits text is unusual and cannot be reviewed against evidence. Action: Provide a Privatemode API/docs reference for the output limit (or revert to the prior value if 0 is not intentional).

@jmxnzo jmxnzo force-pushed the privatemode-sync-models branch from 0dae6c4 to 5767381 Compare July 13, 2026 15:33
@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [critical] [violation] providers/privatemode-ai/models/gpt-oss-120b.toml:1 - Check: base_model must be retained when a matching models/ entry exists. Why: The diff removes base_model = "openai/gpt-oss-120b" and inlines provider-agnostic fields, but drops the inherited description, release_date, and last_updated without re-adding them. The resulting file has no description/release_date/last_updated and no base_model to inherit from, so it fails the required-field schema and breaks catalog generation. Action: Restore base_model = "openai/gpt-oss-120b" and keep only provider-specific fields (the name/release_date/last_updated/knowledge overrides, reasoning_options, [cost], and the limit.output = 131_072 override).

  • [critical] [violation] providers/privatemode-ai/models/kimi-k2.6.toml:3 - Check: base_model must point to an existing models/ entry with the correct case. Why: The file sets base_model = "moonshotai/Kimi-K2.6" (uppercase K), but the metadata file is models/moonshotai/kimi-k2.6.toml (lowercase). On the case-sensitive checkout, resolveBaseModel throws "Unable to resolve base_model"; every other provider uses moonshotai/kimi-k2.6. Action: Change to base_model = "moonshotai/kimi-k2.6".

  • [critical] [violation] providers/privatemode-ai/models/qwen3-embedding-4b.toml:3 - Check: base_model must point to an existing models/ entry. Why: The diff adds base_model = "Qwen/Qwen3-Embedding-4B", but no models/Qwen/ namespace exists and no Qwen3-Embedding metadata is present anywhere under models/. resolveBaseModel will throw, and the previously inline description/release_date/last_updated were deleted so nothing supplies them. Action: Either create the missing models/Qwen/Qwen3-Embedding-4B.toml metadata or revert to a full inline definition that includes description, release_date, and last_updated.

  • [critical] [violation] providers/privatemode-ai/models/voxtral-mini-3b.toml:1 and providers/privatemode-ai/models/whisper-large-v3.toml:2 - Check: Provider models without base_model must include all required fields. Why: Both files lack base_model and omit the required description, release_date, and last_updated — whisper had them before and the PR deleted them; voxtral never had them. No inheritance supplies them, so both fail validation. Action: Restore/add the required fields inline, or add a valid base_model (e.g., openai/whisper-large-v3 for whisper; for voxtral, create models/mistral/voxtral-mini-3b.toml first or inline the fields).

  • [high] [violation] providers/privatemode-ai/models/gemma-4-31b.toml:1 and providers/privatemode-ai/models/kimi-k2.6.toml:1 - Check: Provider-agnostic facts must not be duplicated inline when base_model is used. Why: Both files set base_model yet re-declare attachment, reasoning, structured_output, temperature, tool_call, open_weights, family, modalities, and limit.context identically to the metadata. The checklist marks this as a blocker. Action: Keep only provider-specific fields and genuine overrides (e.g., limit.output for gemma; modalities.input/family for kimi; reasoning_options; [cost]).

  • [medium] [possible mistake] providers/privatemode-ai/models/gemma-4-31b.toml:4 and providers/privatemode-ai/models/kimi-k2.6.toml:4 - Check: reasoning_options toggle claims require provider evidence and a TOML comment documenting the request syntax. Why: Both files declare reasoning_options = [{ type = "toggle" }] with no comment showing the API request field/values, while provider.toml states Privatemode "defines no provider-wide reasoning enum or bounds." The audit skill requires a documented or reproduced toggle mechanism before claiming toggle. Action: Either add a TOML comment with the exact API request syntax and cite evidence in the PR body, or change to reasoning_options = [].

  • [low] [possible mistake] providers/privatemode-ai/models/qwen3-embedding-4b.toml:17 and providers/privatemode-ai/models/whisper-large-v3.toml:14 - Check: Factual limit values need support. Why: limit.context and limit.output are set to 0 for an embedding model (which accepts input tokens) and a transcription model (which emits text), with no citation; the prior non-zero values were overwritten. Action: Provide a source for the zero limits or restore the prior values.

  • [low] [violation] pull-request.json:4 - Check: Data-changing PRs should cite direct provider sources. Why: The PR body gives no pricing, model documentation, or API references for the new models, deletions, reasoning-option claims, or limit changes. Action: Add first-party citations stating what each link supports (model docs, API reference, pricing).

@jmxnzo jmxnzo marked this pull request as draft July 13, 2026 15:59
@jmxnzo jmxnzo force-pushed the privatemode-sync-models branch from 5767381 to d7b702e Compare July 13, 2026 17:34
@jmxnzo jmxnzo force-pushed the privatemode-sync-models branch from d7b702e to 51cbb63 Compare July 13, 2026 17:46
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.

2 participants