Skip to content

Add optional decision-model family schema - #16

Merged
softmarshmallow merged 1 commit into
mainfrom
chore/decision-model-schema
Oct 13, 2026
Merged

softmarshmallow merged 1 commit into
mainfrom
chore/decision-model-schema

Conversation

@softmarshmallow

Copy link
Copy Markdown
Member

The catalogue cannot distinguish a bounded decision offering from chat generation. Add optional decision.models with an explicit underlying model identity and independently sourced provider contracts. Existing version 1 snapshots remain valid and generate byte-for-byte unchanged until a decision card is authored.

The additive decision_contract records each provider's actual question vocabulary, input forms, typed-choice behavior and documented bounds. Decision cards reject inherited chat-only fields. The checker validates source URLs and inverted bounds; provider contracts and prices remain independent.

This is the schema/tooling portion of #15. Model data will be a separate dependent PR. The field design is grounded in the OpenAI native Decisions reference, Vercel's compatible Decisions contract, and OpenRouter's distinct Decisions contract; no provider behavior or price is added in this PR.

Validation: catalogue build/check, all 287 pytest checks, pinned formatter and complete diff review pass. Tests cover omission of the optional family, source-to-contract generation, provider bindings, sourced bounds and rejection of accidental chat fields.

@softmarshmallow
softmarshmallow merged commit db9096e into main Oct 13, 2026
4 checks passed
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