{% extends "base.html" %} {% block title %}Observability & Monitoring - Memorizz{% endblock %} {% block content %}
{% if ui_read_only %}Read-only provider{% else %}Writable provider{% endif %} Content mode: {{ trace_content_mode or 'full' }} {% if trace_query_metadata %} Query: {% if trace_query_metadata.provider_native %}provider-native{% else %}compatibility fallback{% endif %} {% if trace_query_metadata.truncated %}Window truncated{% endif %} {% endif %}
{% if error %}
! {{ error }}
{% endif %}

Agents

{% if selected_agent_id %} {% endif %}
{% if agent_rows %}
{% for row in agent_rows %} {% set is_parent_expanded = (row.agent_id == selected_agent_id) %} {% for thread_row in row.thread_rows %} {% endfor %} {% endfor %}
Agent ID Mode Memories Tools Trace Events Last Activity
{{ row.name }}
{{ row.agent_id[:10] }}... {{ row.mode }} {{ row.memory_count }} {{ row.tool_count }} {{ row.event_count }} {{ row.last_activity }}
Thread {{ thread_row.thread_id|truncate(24) }}
{{ thread_row.thread_id|truncate(18) }}
thread
{{ thread_row.memory_id|truncate(16) }}
-
{{ thread_row.event_count }}
{{ thread_row.last_activity }}
{% else %}
TRACE

No matching agents

Try a different search query.

{% endif %}
{% if selected_agent %}
Agent {{ selected_agent_name or 'Agent' }}
Agent ID {{ selected_agent.agent_id }}
{% if selected_thread_row %}
Thread ID {{ selected_thread_row.thread_id }}
Thread Memory {{ selected_thread_row.memory_id }}
{% endif %} {% if trace_summary %}
Trace Events {{ trace_summary.event_count }}
Latest {{ trace_summary.latest_timestamp }}
{% endif %}
{% if trace_analysis %}

Trace Insights

Read-only analysis

{{ trace_analysis.methodology }}

{% if trace_analysis_export_url %}
Export JSON {% if not ui_read_only %}
{% if selected_thread_id %}{% endif %} {% if selected_thread_memory_id %}{% endif %}
{% endif %}
{% endif %}
Trace volume {{ trace_analysis.summary.events_analyzed }} Events analyzed {{ trace_analysis.summary.threads_analyzed }} thread{% if trace_analysis.summary.threads_analyzed != 1 %}s{% endif %} · {{ trace_analysis.summary.context_provenance_events }} provenance events
Verified outcomes {{ trace_analysis.summary.verified_outcome_successes }}/{{ trace_analysis.summary.verified_outcomes }} Successful outcomes {{ trace_analysis.summary.verified_outcome_failures }} failed · {{ trace_analysis.summary.verified_negative_feedback }} negative feedback
Context integrity {{ trace_analysis.summary.page_context_mismatches }} Page / thread mismatches {{ trace_analysis.summary.missing_current_page_grounding }} missing grounding · {{ trace_analysis.summary.unverified_page_ownership }} unverified ownership
Tool health {{ trace_analysis.summary.tool_calls }} Tool calls {{ trace_analysis.summary.tool_failures }} failures · {{ trace_analysis.summary.unique_tools }} unique tools
Semantic cache {{ trace_analysis.summary.cache_hits }} Validated hits {{ trace_analysis.summary.cache_misses }} miss · {{ trace_analysis.summary.cache_bypasses }} bypass · {{ trace_analysis.summary.cache_rejections }} rejected
Continual learning {{ trace_analysis.summary.learning_candidates }} Learning candidates {{ trace_analysis.summary.priority_counts.P0 }} P0 · {{ trace_analysis.summary.priority_counts.P1 }} P1 · {{ trace_analysis.summary.priority_counts.P2 }} P2 findings
{% if trace_analysis.insights %}
{% for insight in trace_analysis.insights %} {% set saved = persisted_recommendations.get(insight.id) %}
{{ insight.priority }} {{ insight.component }}

{{ insight.title }}

{{ insight.confidence }} confidence {{ insight.evidence_count }} signal{% if insight.evidence_count != 1 %}s{% endif %} {{ insight.effort }} effort

{{ insight.finding }}

Recommended change

{{ insight.recommendation }}

{{ insight.target }}
{% if saved %} {{ saved.review_status|replace('_', ' ')|title }} · revision {{ saved.revision }} {% if not ui_read_only %}
{% endif %} {% else %} Not yet saved for review {% endif %}
{% endfor %}
{% else %}
OK

No actionable signals in this trace window

Broaden the trace window or add explicit outcome feedback before changing the agent.

{% endif %}

Continual-learning handoff

{% if trace_analysis.learning_candidates %}

{{ trace_analysis.learning_candidates|length }} recurring trajectory candidate{% if trace_analysis.learning_candidates|length != 1 %}s{% endif %} found. Review outcomes before promotion; the existing diversity, success-rate, recency, and shadow-readiness gates still apply.

{% else %}

No repeated multi-step trajectory is strong enough in this window. Memorizz will keep collecting evidence without changing the agent.

{% endif %}
Review Workflow Memory
{% endif %}

Trace Timeline

{% if trace_events %}
{% for event in trace_events %}
{% if event.role == 'user' %}U{% elif event.role == 'assistant' %}A{% elif event.role == 'tool' %}T{% else %}S{% endif %}
{{ event.title or event.role|default('Event')|title }}
{% if event.kind %}{{ event.kind|replace('_', ' ')|title }}{% endif %} {% if event.canonical_page_type %}Page {{ event.canonical_page_type }} · {{ event.canonical_page_id|default('—')|truncate(12) }}{% endif %} {% if event.thread_binding_status %}Binding {{ event.thread_binding_status|replace('_', ' ') }}{% endif %} {% if event.ownership_verified is defined and event.ownership_verified is not none %}Ownership {% if event.ownership_verified %}verified{% else %}unverified{% endif %}{% endif %} {% if event.grounding_status %}Grounding {{ event.grounding_status|replace('_', ' ') }}{% if event.grounding_source %} · {{ event.grounding_source|replace('_', ' ') }}{% endif %}{% endif %} {% if event.cache_decision %}Cache {{ event.cache_decision }}{% endif %} {% if event.canonical_title_fingerprint or event.client_title_fingerprint %}Content fp {{ (event.canonical_title_fingerprint or event.client_title_fingerprint)|truncate(14) }}{% endif %} {% if event.request_context_fingerprint %}Context fp {{ event.request_context_fingerprint|truncate(14) }}{% endif %} {% if event.trace_id %}Trace {{ event.trace_id|truncate(14) }}{% endif %} {% if event.run_id %}Run {{ event.run_id|truncate(12) }}{% endif %} {% if event.span_id %}Span {{ event.span_id|truncate(12) }}{% endif %} Memory {{ event.memory_id|truncate(12) }} Thread {{ event.thread_id|default('—')|truncate(12) }} {{ event.timestamp }}
{{ event.content or 'No content' }}
{% endfor %}
{% else %}
TRACE

No traces recorded yet

Run the agent in Playground to generate trace logs.

{% endif %}
{% endif %} {% endblock %}