One of the strongest QitOS opinions is also one of the simplest: a run should have one execution kernel (the core AgentModule + Engine execution loop). In practice, that means: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.
AgentModuledefines policyEngineowns execution- parsers, toolsets, critics (modules that evaluate each step and can trigger retries or stops), memory, and tracing attach to that runtime
Why this matters
When frameworks introduce multiple implicit runtimes, three things usually happen:- examples become hard to compare with production agents
- benchmark logic drifts away from day-to-day agent logic
- traces stop telling a coherent story
- traces remain comparable
- debugging techniques transfer
- prompt and parser experiments are easier to reason about
- long-running behavior stays inspectable instead of turning into framework glue
Where specialization belongs
QitOS does support specialization, but specialization should live in the right places:- state design
- prompt policy
- parser (a component that converts raw model output into a typed Decision) and protocol (the output format the model is asked to follow) choice
- tool composition
reduce()(a function that folds the current observation and decision into the next state) semantics
What this means for users
If you’re building on QitOS, the default question should not be:Do I need a second orchestrator?It should usually be:
Can I express this through state, prompt, parser, tools, history, or memory on top of the same kernel?That constraint makes the system easier to learn, easier to test, and easier to reproduce.
