- 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.
Illustrative fragment (not a standalone program; use the complete example linked on this page).
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: Illustrative fragment (not a standalone program; use the complete example linked on this page).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
recommended_*fields are set if the family has been tested enough to provide stable baseline advicepreset.override()works for users who need to tweak your preset without editing source
