{% load json_filters %}
{# Read-only summary of agentic controls — only shows fields that have values. #}
{% if agentic.tools.expected or agentic.tools.forbidden or agentic.retrieval.sources or agentic.trajectory.required_sequence or agentic.budgets.max_tool_calls or agentic.enforcement.mode %}
{% endif %}
{% if agentic.budgets.max_tool_calls %}
Max tool calls:{{ agentic.budgets.max_tool_calls }}
{% endif %}
{% if agentic.enforcement.mode %}
Enforcement mode:{{ agentic.enforcement.mode }}
{% endif %}
{% endif %}
{% if agentic.retrieval.min_documents or agentic.retrieval.max_documents or agentic.rerank.required or agentic.rerank.min_calls or agentic.rerank.max_calls %}
Retrieval and reranking
{% if agentic.retrieval.min_documents %}
Min retrieved documents:{{ agentic.retrieval.min_documents }}
{% endif %}
{% if agentic.retrieval.max_documents %}
Max retrieved documents:{{ agentic.retrieval.max_documents }}
{% endif %}
{% if agentic.rerank.required %}
Require reranking:yes
{% endif %}
{% if agentic.rerank.min_calls %}
Min rerank calls:{{ agentic.rerank.min_calls }}
{% endif %}
{% if agentic.rerank.max_calls %}
Max rerank calls:{{ agentic.rerank.max_calls }}
{% endif %}
{% endif %}
{% if agentic.policy.read_only or agentic.policy.allowed_data_scopes or agentic.policy.forbidden_data_scopes or agentic.policy.forbidden_side_effects or agentic.policy.allowed_destinations or agentic.policy.allow_side_effects %}
Policy
{% if agentic.policy.read_only %}
Read-only policy:on
{% endif %}
{% if agentic.policy.allowed_data_scopes %}
Allowed data scopes:{{ agentic.policy.allowed_data_scopes|join:", " }}
{% endif %}
{% if agentic.policy.forbidden_data_scopes %}
Forbidden data scopes:{{ agentic.policy.forbidden_data_scopes|join:", " }}
{% endif %}
{% if agentic.policy.forbidden_side_effects %}
Forbidden side effects:{{ agentic.policy.forbidden_side_effects|join:", " }}
{% endif %}
{% if agentic.policy.allowed_destinations %}
{% endif %}
{% if agentic.policy.allow_side_effects %}
Allow side effects:on
{% endif %}
{% endif %}
{% if agentic.guardrails.required or agentic.guardrails.must_pass or agentic.guardrails.before_actions or agentic.approvals.required_for or agentic.approvals.must_precede_execution %}
{% endif %}
{% if agentic.approvals.must_precede_execution %}
Approval must precede execution:yes
{% endif %}
{% endif %}
{% if agentic.handoffs.allowed or agentic.handoffs.forbidden or agentic.handoffs.required or agentic.handoffs.max_handoffs or agentic.handoffs.max_depth or agentic.trajectory.max_steps or agentic.trajectory.max_retries_per_tool or agentic.trajectory.max_identical_consecutive_calls or agentic.budgets.max_errors or agentic.state.assertions %}