{% extends "base.html" %} {% block title %}Curated Memory — Admin{% endblock %} {% block head_extra %} {% endblock %} {% block layout %}
{# Match the obs-page header pattern used by /admin/activity, /admin/telemetry and /admin/sessions so admins see one consistent visual chrome across the Activity Center + Agent Experience groups. Styles inlined for now; the obs-* class set isn't promoted to a shared stylesheet yet (one page over four already; lift on next iteration). #}

Curated Memory

Knowledge items extracted from analyst sessions by the verification processor. Admin reviews pending entries and approves, mandates or rejects them; approved items become shared organizational knowledge that AI agents pull at runtime via /api/memory/*.

{% if pending_review_count and pending_review_count > 0 %}
{{ pending_review_count }} pending item{{ 's' if pending_review_count != 1 else '' }} awaiting review — review them at /corporate-memory/admin
{% endif %}
{{ stats.contributors }}
Contributors
{{ stats.knowledge_count }}
Knowledge Items
{{ user_stats.authored }}
My Contributions
{% if user_contributions %} My Contributions ({{ user_contributions|length }}) {% endif %}
{% for cat in categories %} {% endfor %}
{% for item in knowledge['items'] %}
{{ item.title }}
{{ item.category.replace('_', ' ').title() }} {% if item.domain %}{{ item.domain|title }}{% endif %} {% if item.confidence %}{{ '%.0f'|format(item.confidence * 100) }}%{% endif %} {% if item.source_type == 'user_verification' %}Verified{% endif %} {% if item.status == 'mandatory' %}Mandatory{% endif %} Added {{ item.created_at.strftime('%Y-%m-%d') if item.created_at else 'recently' }}
{% if item.synced %} In your rules {% endif %}
{{ item.content }}
{% else %}

No knowledge items yet.

Knowledge is extracted from team CLAUDE.local.md files every 30 minutes.

{% endfor %}
{% if user_contributions %}

My Contributions

Items you contributed via session corrections or notes. Flag items as personal to exclude from enterprise memory.

{% for item in user_contributions %}
{{ item.title }}
{{ item.category.replace('_', ' ').title() if item.category else 'N/A' }} {% if item.domain %}{{ item.domain|title }}{% endif %} {% if item.confidence %}{{ '%.0f'|format(item.confidence * 100) }}%{% endif %} {{ item.status|title }} {% if item.is_personal %}Personal{% endif %}
{{ item.content }}
{% endfor %}
{% endif %}
{% endblock %} {% block scripts %} {% endblock %}