Skip to main content
Applies to v3.10.0Reviewed 2026-06-05

Organization memory

The Memory tab in the organization dashboard gives owners and admins a view of the shared AI memory vault for the entire organization — the same three-tier store that Chiro draws on when answering questions across all team conversations. It also includes the Reflection Loop panel for inspecting and calibrating retrieval quality.

Access: open the organization dashboard at https://{your-slug}.achiral.ai/organization/{your-slug}, then select Memory from the tab bar. The tab is only visible to users with the owner or admin role.

Relationship to per-assistant memory

Each organization has a single Weaviate tenant identified by its slug. All Chiro activity in the organization writes to this tenant. The org-level Memory tab reads aggregate statistics across the whole tenant; the per-assistant Memory tab reads the same tenant but filtered to a single assistant's objects.

For a conceptual overview of how the activation model, three memory tiers, and salience scoring work, see Assistant memory.

Memory tier distribution

The first card shows the breakdown of memories across the three tiers for the entire organization:

TierContentsDecay rate
EpisodicRecent conversations and eventsHigh
SemanticDecisions, preferences, domain knowledgeLow
CoreLong-term documents, persistent contextNear-zero

A stacked progress bar and per-tier counts give an at-a-glance picture of how the organization's memory is composed. The total object count across all tiers is shown in the top-right corner.

Data is fetched from GET /api/organizations/{id}/memory.

Top activated memories

The second card lists the five memories with the highest current activation scores across the organization's tenant.

Each row shows:

  • Tier badge — episodic, semantic, or core.
  • Snippet — a short content preview.
  • Collection — the Weaviate collection the object belongs to.
  • Last accessed date and retrieval count (labeled "retrievals").
  • Activation score — a bar and percentage showing the normalized activation score (0–100%).

These are the memories Chiro is most likely to surface without a direct semantic match, simply because they have been accessed frequently and recently.

Reflection Loop

The Reflection Loop panel sits below top activated memories. It shows recent retrieval events, audit outcomes, calibration writes, and charts for reflection quality over time.

Owners and admins can:

  • Refresh reflection metrics.
  • Toggle the reflection A/B experiment for the organization.
  • See the assigned experiment cohort when the experiment is enabled.
  • Run a bounded audit pass immediately with Run audit.
  • Inspect recent events for false positives, false negatives, outcome score, and calibration writes.

The panel reads:

  • GET /api/memory/reflection/settings
  • GET /api/memory/reflection/events
  • GET /api/memory/reflection/audits
  • GET /api/memory/reflection/metrics/*

Settings updates use PATCH /api/memory/reflection/settings; manual audit runs use POST /api/memory/reflection/run.

Core memory candidates

The third card is the flashbulb candidate queue at the organization level — memories across all team conversations that the salience scorer has flagged for promotion to permanent core memory.

A memory becomes a candidate when its composite salience score (emotional intensity + explicit intent + semantic novelty) crosses the threshold. Candidates wait here until an owner or admin takes action.

When the queue is empty a green notice confirms it:

"No flashbulb candidates pending review. High-salience memories will appear here automatically."

When candidates exist, an orange banner explains the required action:

"These memories scored above the salience threshold and are candidates for permanent core memory. Approve to retain them indefinitely; reject to remove them from the knowledge base."

Each candidate row shows:

  • A content snippet (up to three lines).
  • Its current tier, collection, and salience score (as a percentage).
  • Approve and Reject buttons.

Approving a candidate

Clicking Approve calls PUT /api/organizations/{id}/memory/candidates/{weaviateId} with { "action": "approve" }. The object is promoted to the core tier with a near-zero decay rate and disappears from the queue immediately in the UI.

Rejecting a candidate

Clicking Reject calls the same endpoint with { "action": "reject" }. The object is deleted from the Weaviate tenant and removed from the queue.

Both actions require the owner or admin role. The button shows a spinner during the request; the row disappears on success.

FAQ

Who can see the Memory tab? Only members with the owner or admin role on the organization. Regular members never see this tab.

Does the org Memory tab show memory from all assistants? Yes — it reflects the entire Weaviate tenant for the organization, which includes objects created by Chiro and any personal EAs in the org.

Does rejecting a candidate delete conversations? No. Rejecting removes only the Weaviate memory object. MongoDB conversation messages are not affected.

How is org memory different from a document upload? Documents uploaded through the knowledge base or ingested via integrations are also stored as memory objects in the same vault. The Memory tab shows the live activation state of all objects, not just uploaded documents.

How often do candidates appear? The queue is refreshed each time the Memory tab is opened. New candidates are generated continuously as Chiro has conversations and the salience scorer runs.