{# ── Memory Files ── #} {% if memory_files %}

{{ chevron() }}Memory Files ({{ memory_files|length }})

{% for mf in memory_files %}
{{ mf.filename }}
{{ mf.html|safe }}
{% endfor %}
{% endif %} {# ── Metadata ── #} {% set meta = project.metadata or {} %} {# Defensive coercion — a malformed metadata payload can put a #} {# non-dict at ``permissions`` or non-list at any of the three #} {# inner keys. ``is iterable and is not string`` matches lists / #} {# tuples but rejects strings (which are also iterable, and #} {# would otherwise count by character length). #} {% set _raw_perms = meta.get('permissions', {}) %} {% set perms = _raw_perms if _raw_perms is mapping else {} %} {% set _allow = perms.get('allow') %} {% set _deny = perms.get('deny') %} {% set _ask = perms.get('ask') %} {% set allow = _allow if (_allow is iterable and _allow is not string and _allow is not mapping) else [] %} {% set deny = _deny if (_deny is iterable and _deny is not string and _deny is not mapping) else [] %} {% set ask = _ask if (_ask is iterable and _ask is not string and _ask is not mapping) else [] %} {% if allow or deny or ask %}

{{ chevron() }}Permissions

{% if allow %}

Allow ({{ allow|length }})

{% for tool in allow %}
{{ tool }}
{% endfor %}
{% endif %} {% if deny %}

Deny ({{ deny|length }})

{% for tool in deny %}
{{ tool }}
{% endfor %}
{% endif %} {% if ask %}

Ask ({{ ask|length }})

{% for tool in ask %}
{{ tool }}
{% endfor %}
{% endif %}
{% endif %} {% if meta.get('allowedTools') %}

{{ chevron() }}Allowed Tools ({{ meta.allowedTools|length }})

{% for tool in meta.allowedTools %}
{{ tool }}
{% endfor %}
{% endif %} {% if meta.get('mcpServers') %}

{{ chevron() }}MCP Servers ({{ meta.mcpServers|length }})

{% for name, srv in meta.mcpServers.items() %} {% endfor %}
NameDetails
{{ name }} {{ json.dumps(srv, indent=2)[:200] }}
{% endif %} {% if meta.get('modelUsage') %}

{{ chevron() }}Model Usage

{% for model, usage in meta.modelUsage.items() %}
{{ model }} {{ usage }}
{% endfor %}
{% endif %} {% if meta.get('exampleFiles') %} {% endif %} {# ── Recent Sessions ── #} {% if project_sessions %}

{{ chevron() }}Recent Sessions ({{ project_sessions|length }})

{% endif %} {% if not memory_files and not project_sessions and not meta %}

No detailed data available for this project yet.

{% endif %}