Skip to main content
QitOS provides export APIs that allow Snowl (or any compatible adapter) to consume agent configuration, tool permissions, critic traces, and handoff traces. This guide covers the three integration paths and walks through each export API.

Integration Paths

PathWhen to useWhat it provides
QitOSAdapterDirect Python integrationFull bridge class that wraps Engine results for Snowl consumption
snowl_compat.pyLightweight shimThin compatibility layer with minimal dependencies
InstalledAgentSnowl-managed deploymentAgent packaged as a Snowl plugin with lifecycle hooks

Engine Configuration Export

Engine.export_config() returns an EngineConfig snapshot capturing the agent’s runtime configuration:

EngineConfig Fields

FieldTypeDescription
agent_namestrName of the agent module
model_idstrResolved model identifier
budget_max_stepsintMaximum step budget
budget_max_runtime_secondsfloat | NoneRuntime budget
budget_max_tokensint | NoneToken budget
critic_nameslist[str]Names of attached critics
stop_criteria_nameslist[str]Names of stop criteria
has_checkpoint_storeboolWhether checkpointing is enabled
has_tracing_providerboolWhether tracing is enabled
protocol_idstr | NonePrompt protocol identifier
delegate_depthintCurrent delegation depth
has_shared_memoryboolWhether shared memory is attached
has_envboolWhether an environment is attached
tool_countintNumber of registered tools

Tool Permission Export

ToolRegistry.export_permissions() returns a list of ToolPermissionSpec objects describing each tool’s capability and safety profile:

ToolPermissionSpec Fields

FieldTypeDescription
namestrTool name
descriptionstrTool description
permissionsToolPermissionNetwork, filesystem, subprocess flags
needs_approvalboolWhether human approval is required
read_onlyboolWhether the tool only reads (no side effects)
concurrency_safeboolWhether the tool can run in parallel
required_opslist[str]Required operations

Critic Trace Extraction

EngineResult includes critic_traces — a list of CriticTrace records from every critic evaluation during the run:

CriticTrace Fields

FieldTypeDescription
step_idintStep where the critic fired
critic_namestrName of the critic
actionstr"continue", "stop", or "retry"
reasonstrHuman-readable reason
scorefloatNumeric score (0–1)
detailsdictAdditional structured data
instruction_patchstr | NoneSuggested instruction modification
state_patchdict | NoneSuggested state modification

Manual Extraction from StepRecords

If you have raw StepRecord.critic_outputs instead of EngineResult:

Handoff Trace Extraction

EngineResult includes handoff_traces — a list of HandoffTrace records from every agent handoff during the run:

HandoffTrace Fields

FieldTypeDescription
step_idintStep where the handoff occurred
from_agentstrSource agent name
to_agentstrTarget agent name
context_strategystr"ISOLATED", "SUMMARY", or "FULL"
messages_passedintNumber of messages transferred

Manual Extraction from RuntimeEvents


End-to-End Example

Develop an agent in QitOS, then evaluate it in Snowl:

Conformance Testing

QitOS ships conformance tests that verify all export APIs produce correct, serializable output. Run them with:
The test suite covers:
  • EngineConfig field completeness and JSON serialization
  • ToolPermissionSpec field mapping and serialization
  • CriticTrace extraction and round-trip serialization
  • HandoffTrace extraction and round-trip serialization
  • Combined EngineResult with all trace types