Skip to main content
Applies to v3.9.0Reviewed 2026-06-03

ACT-R memory

Achiral uses an ACT-R-inspired memory model to rank, decay, reinforce, and consolidate memory objects. The implementation is not a full ACT-R cognitive architecture. It does not run production rules, simulate perceptual-motor modules, or attempt to model human cognition end to end. Achiral uses a narrower part of the theory: activation-based retrieval from declarative memory.

The implementation combines vector and lexical search with metadata derived from ACT-R-style base-level activation. Each memory object is stored with fields that describe how recently it was retrieved, how often it has been retrieved, how salient it was when written, which tier it belongs to, and whether it has been marked for durable retention.

Historical background and theoretical treatment

ACT-R, short for Adaptive Control of Thought-Rational, is a cognitive architecture developed in the cognitive science community around work by John R. Anderson and collaborators at Carnegie Mellon University. The official ACT-R project describes it as a theory for simulating and understanding human cognition, with a focus on how people organize knowledge and produce intelligent behavior.

The architecture has both symbolic and subsymbolic components. Symbolic structures represent declarative chunks and procedural rules. Subsymbolic quantities, including activation and utility, influence which chunks are retrieved and which productions are selected.

Achiral uses this theoretical treatment as a model for memory retrieval rather than as a complete agent architecture. The relevant ACT-R idea is that memory availability should depend on more than semantic similarity. In ACT-R, a chunk's activation is affected by past use, elapsed time, contextual support, matching penalties, and noise. Achiral implements a simplified form of that idea for production memory: a memory that was used often and recently should be easier to retrieve than one that was rarely used or has gone stale.

What ACT-R memory means in Achiral

In Achiral, an ACT-R memory is a Weaviate object with additional activation metadata. The object may come from a conversation, document, decision, preference, or domain-knowledge source. Retrieval uses both search relevance and the object's current activation state.

The core metadata fields are:

FieldMeaning
activationScoreNormalized current activation value used for ranking and display.
decayRateTier-specific decay parameter. Higher values decay faster.
salienceScoreImportance score assigned when the memory is written.
accessCountNumber of times the memory has been retrieved or reinforced.
lastAccessedAtTimestamp used for recency decay.
memoryTierOne of episodic, semantic, or core.
isCoreMemoryWhether the object is approved for durable retention.
candidateCoreMemoryWhether the object is awaiting human review for core-memory promotion.

Activation formula

ACT-R's base-level activation is commonly expressed as:

B_i = ln(sum(t_j^-d)) + S_i

where t_j is the elapsed time since a prior use, d is the decay parameter, and S_i represents associative or contextual support.

Achiral does not store every retrieval timestamp for every object. It stores accessCount and lastAccessedAt, then uses the following approximation:

B_i ~= ln(accessCount) - d * ln(secondsSinceLastAccess + 1) + salienceScore

The raw activation value is mapped into a normalized 0 to 1 range for ranking and UI display. Existing memories keep a small floor value so that low-activation memories can still be inspected and managed.

For newly written memory objects with no retrieval history, Achiral assigns an initial activation based on salience:

initialActivation = min(1.0, 0.8 + salienceScore * 0.2)

Memory tiers

Achiral separates memory into three tiers with different decay behavior:

TierStored dataDefault decay behavior
episodicRecent conversations and eventsFaster decay, default 0.5.
semanticDecisions, preferences, and domain knowledgeSlower decay, default 0.1.
coreApproved long-term documents and durable contextNear-zero decay, default 0.01.

The default collection mapping is:

CollectionTierDecay rate
TenantConversationsepisodic0.5
ConversationMemoryepisodic0.5
DomainKnowledgesemantic0.1
UserPreferencessemantic0.1
DecisionLogsemantic0.1
TenantDocumentscore0.01
Assistant_*_Memoryepisodic unless overridden0.5

These tier defaults are implementation parameters. They are not claims about biological memory categories.

Retrieval pipeline

Achiral retrieval has four stages:

  1. Convert the incoming message, task, or event into a retrieval query.
  2. Search Weaviate using hybrid retrieval, combining lexical matching and vector similarity.
  3. Re-rank candidate objects using activation metadata: access frequency, recency, decay rate, and salience.
  4. Reinforce retrieved objects asynchronously by incrementing accessCount, updating lastAccessedAt, and writing the updated activation metadata back to Weaviate.

This means a memory can rank highly because it is semantically relevant, because it has high activation, or because both signals agree.

Salience scoring

When Achiral writes a new memory object, it assigns a salience score:

salienceScore = (emotionalIntensity + explicitIntent + semanticNovelty) / 3

The three components are:

ComponentImplementation source
emotionalIntensityDerived from persona-analysis empathy signals.
explicitIntentDerived from patterns such as commitments, approvals, rejections, deadlines, escalations, and action items.
semanticNoveltyDerived from vector distance against nearby existing memories.

Objects with salienceScore >= 0.8 are marked as candidateCoreMemory. They are not automatically made permanent. They enter a review queue for an owner or admin.

Consolidation

Achiral runs a scheduled consolidation job once per day at 03:00 UTC. The job scans active organizations and processes episodic memory collections.

The consolidation job:

  • Recomputes activation for episodic memories.
  • Archives memories whose activation falls below 0.1.
  • Promotes episodic memories to semantic memory when salienceScore >= 0.7 and accessCount > 2.
  • Updates promoted objects to memoryTier: semantic and decayRate: 0.1.
  • Counts candidate core memories for dashboards and review surfaces.

The job does not decay TenantTrainingData, and it does not scan core document memory for pruning.

Human review for core memory

Core memory promotion is explicit. Candidate memories appear in the assistant and organization Memory tabs for users with the owner or admin role.

Approving a candidate sets:

{
"candidateCoreMemory": false,
"isCoreMemory": true,
"memoryTier": "core",
"decayRate": 0.01,
"activationScore": 1.0
}

Rejecting a candidate deletes the Weaviate memory object. It does not delete the original conversation record in MongoDB.

Operational surfaces

The memory model is visible in two product areas:

Both surfaces expose tier distribution, top activated memories, and core-memory candidates. They are inspection and curation tools; they are not general-purpose Weaviate administration screens.

Limits and non-goals

Achiral's implementation should be treated as an operational memory-ranking system inspired by ACT-R, not as a cognitive-science simulation.

Important limits:

  • It uses an approximate activation formula based on accessCount and lastAccessedAt, not a complete history of retrieval timestamps.
  • It does not implement ACT-R production rules, buffers, perceptual modules, motor modules, or conflict resolution.
  • It uses salience heuristics that are product-specific, not part of canonical ACT-R.
  • It uses Weaviate retrieval and application-side metadata updates, so behavior depends on both search relevance and activation scoring.
  • It uses admin review before core-memory promotion to avoid making high-salience memories permanent without human confirmation.

References