Policy & Capability Metadata¶
CT Toolkit resolves role-based execution policy through a startup capability registry and exposes the result as standardized metadata across middleware.
Registry file¶
Default registry path:
config/llm_capability.yaml
This file stores:
- Provider/model capabilities (
text,image,audio,video,tool_call,reasoning) - Role policies (
main,sub,judge,l3) - Environment overrides (
dev,test,prod)
Effective policy resolution¶
Use TheseusWrapper.resolve_llm_policy() to merge:
- Role defaults
- Registry
role_policies - Environment override block
- Model capability constraints
Example:
policy = wrapper.resolve_llm_policy(model="gpt-4o-mini", role="judge")
print(policy["effective"]["tool_call"]) # False
Standard metadata payload¶
Use TheseusWrapper.propagate_policy_metadata():
{
"role": "main",
"environment": "prod",
"effective": {
"text": True,
"image": True,
"audio": True,
"video": False,
"multimodal": True,
"tool_call": True,
"reasoning": False,
},
}
Middleware exposure¶
CT Toolkit now exposes this payload consistently:
- LangChain:
TheseusChatModel.policy_metadataandgeneration_info["ct_policy"] - CrewAI:
crew.ct_policy,agent.ct_policy, andmetadata["ct_policy"] - Deep Agents:
metadata["ct_policy"]in wrapped factory calls and helper config - AutoGen:
llm_config.metadata.ct_policyandconfig_list[*].metadata.ct_policy
Policy environment at runtime¶
You can select environment-level overrides via:
WrapperConfig(policy_environment="dev" | "test" | "prod")- CLI:
ct-toolkit audit --policy-environment test - CLI:
ct-toolkit serve --policy-environment prod