{% extends "base.html" %} {% block title %}Persona Evolution - Memorizz{% endblock %} {% block head %}{% endblock %} {% block content %}
See what changed, why it changed, and the conversations behind it. Each account has its own approach.
Use the account lookup in Observability to resolve an email to its verified account ID.
{% if error %}{{ error }}
{% endif %} {% if not connected %}Memorizz must ask the host for the account's canonical profile. A shared agent's persona is not a per-user profile.
Inspect a user's approved approach, pending reflection, and change history.
{{ profile.persona.goals }}
{{ 'Daily + manual review' if profile.daily_enabled else 'Manual review' }} · Approval required · {{ 'Paused' if profile.paused else 'Awaiting your decision' if profile.pending else 'Ready to reflect' }}
Last review: {{ profile.last_review_at or 'Not yet reviewed' }}
Reflect now reviews recent user-authored memory. It does not force a change.
{% if profile.daily_enabled is defined %}Check every 24 hours, only after new conversations. Suggestions always wait for approval. This is not a midnight job; busy workers may check later.
{% if profile.daily_enabled %}{{ 'Checks paused' if profile.paused else 'Awaiting your decision' if profile.pending else 'Next check no earlier than ' ~ (profile.next_daily_check_at or 'the next worker check') }}
{% endif %} {% if profile.last_daily_check_at %}Last daily check: {{ profile.last_daily_check_at }} · {{ profile.last_daily_outcome|replace('_', ' ') }}
{% endif %}Inspection only. Persona actions must be explicitly enabled by the host.
{% elif trace_read_only %}Trace editing stays disabled. Host persona actions may append their own audit traces.
{% endif %}{{ profile.pending.reason }}
{{ profile.pending.changes.goals.old }}
{{ profile.pending.changes.goals.new }}
{% endfor %}{{ item.text }}
Inspect conversation traces ↗Memory {{ item.id }} · {{ item.timestamp }}
{{ 'The reviewed conversations did not support a durable change. Your current approach stays in place.' if profile.review_state == 'no_change' else 'When a conversation supports a better teaching approach, a reflection will explain the suggestion here before anything changes.' }}
{% if profile.review_state == 'failed' %}The last reflection failed. Your approved approach is unchanged. Wait two minutes and retry.
{% endif %} {% if profile.review_state == 'reviewing' %}Reflection is running. Refresh this page to check its result.
{% endif %} {% endif %}{{ entry.change_trigger.reason }}
{{ entry.changes.goals.old }}
{{ entry.changes.goals.new }}
{{ entry.actor_id }} · Review {{ entry.review_id }}
{% if entry.trace %}Inspect version decision trace ↗{% endif %} {% for item in entry.evidence or [] %}{% endfor %}{{ item.text }}
Conversation traces ↗Memory {{ item.id }}
No approved changes yet. Reflection suggestions do not count as an evolved persona until approved.
{% endfor %}{{ review.status|replace('_', ' ') }} · {{ review.timestamp }}
{{ review.reason }}{{ review.evidence_count }} memories reviewed · {{ review.selected_count }} selected · {{ review.trigger }}
{% if review.trace %}Inspect reflection trace, usage & outcome ↗{% else %}Reflection trace not captured · Enable host observability for future reviews.{% endif %}
No reflections yet.
{% endfor %}The latest {{ profile.history_limit }} changes and reflection attempts are retained. This is an adaptation history, not model training.