A family preset (a configuration bundle that maps a model family to its default protocol, adapter, and tool delivery) lets you add support for a new model family without writing a new runtime. Do not start by writing one. Start by answering five questions:Documentation Index
Fetch the complete documentation index at: https://qitor.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
- What model names should resolve to this family?
- Which transport (the adapter layer that handles API communication with the model provider) builds the model object?
- What is the default protocol (the output format the model is expected to follow)?
- What fallback protocol chain should remain stable?
- How should tools and context be delivered by default?
The minimal path
Add oneFamilyPreset entry under qitos/harness/_presets.py.
Reuse protocol objects instead of inventing new ones
QitOS v0.4 reuses the existingModelProtocol set, so most new families should choose from:
react_text_v1json_decision_v1xml_decision_v1terminus_json_v1terminus_xml_v1minimax_tool_call_v1
Reuse adapters when possible
For v0.4, the default adapter is:Keep the preset traceable
The preset becomes valuable only if researchers can see it later. Make sure the resolved harness metadata is visible through:RunSpec.metadata- trace manifest (the JSON record of the full run history)
qita
Validation checklist
resolve_family_preset(...)resolves the family from both family id and model namebuild_harness_policy(...)returns the right protocol and parser (the component that converts raw model output into a structuredDecision)infer_model_profile(...)stays aligned with preset defaults- the flagship example can switch into the new family without changing agent code
