{% 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
Memory supply {{ trace_analysis.summary.memory_supplied }} Items supplied to the model {{ trace_analysis.summary.memory_candidates }} retrieved candidates · {{ trace_analysis.summary.memory_explicit_references }} explicit references · {{ trace_analysis.summary.memory_degraded_turns }} degraded
Tool health {{ trace_analysis.summary.tool_calls }} Tool calls {{ trace_analysis.summary.tool_failures }} failures · {{ trace_analysis.summary.tool_fallbacks }} fallback · {{ trace_analysis.summary.tool_degraded_results }} degraded
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
Memory-first observability

What the model could actually use

Counts and hashed source references only. Raw profile facts, conversation excerpts, preferences, and writing samples are never copied into the trace.

Content-safe
1 · Retrieved {{ trace_analysis.summary.memory_candidates }} candidates considered
2 · Supplied {{ trace_analysis.summary.memory_supplied }} {{ trace_analysis.summary.memory_injected_chars }} context characters
3 · Referenced {{ trace_analysis.summary.memory_explicit_references }} conservative exact overlaps
{% if trace_analysis.memory_health %}
{% for source in trace_analysis.memory_health %}
{{ source.source|replace('_', ' ')|title }} {{ source.supplied }} {{ source.explicit_references }} explicit reference{% if source.explicit_references != 1 %}s{% endif %}
{% endfor %}
{% else %}

No memory-supply events are available in this trace window yet.

{% endif %} {% if trace_analysis.summary.memory_behavioral_sources_not_measured %}

{{ trace_analysis.summary.memory_behavioral_sources_not_measured }} style/preference signal{% if trace_analysis.summary.memory_behavioral_sources_not_measured != 1 %}s were{% else %} was{% endif %} supplied but not labelled “referenced”: behavioral application requires outcome evaluation, not string matching.

{% endif %}
{% 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.outcome %} {% if event.outcome == 'success' %}Completed{% elif event.outcome == 'empty' %}Completed · no results{% elif event.outcome == 'fallback' %}Completed via fallback{% elif event.outcome == 'degraded' %}Completed with limitations{% elif event.outcome == 'provider_error' %}Provider error{% else %}Failed{% endif %} {% endif %} {% if event.tool_provider %}Provider {{ event.tool_provider }}{% endif %} {% if event.outcome_reason_code %}Reason {{ event.outcome_reason_code|replace('_', ' ') }}{% 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.kind == 'memory_context' %}{{ event.memory_supplied_count|default(0) }} supplied · {{ event.memory_candidate_count|default(0) }} candidates{% endif %} {% if event.kind == 'memory_reference' %}{{ event.memory_referenced_count|default(0) }} explicitly referenced{% 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 %}