Steadybase
Core Concepts

Hierarchical Memory

Four-scope durable memory system with auto-compression, pinned facts, and version tracking.

Hierarchical Memory

Steadybase's memory system is a hierarchical durable key-value store implemented as a long-running Temporal workflow. Unlike stateless AI systems that forget everything between sessions, Steadybase workers accumulate knowledge over time.

Memory Scopes

Memory is organized into four hierarchical scopes:

┌──────────────────────────────────────┐
│            Organization              │
│  Company-wide facts, ICP, strategy   │
│  ┌──────────────────────────────┐    │
│  │           Team               │    │
│  │  Territory, campaigns, rules │    │
│  │  ┌──────────────────────┐    │    │
│  │  │       Worker         │    │    │
│  │  │  Research, patterns  │    │    │
│  │  │  ┌──────────────┐    │    │    │
│  │  │  │   Session    │    │    │    │
│  │  │  │  Temp context│    │    │    │
│  │  │  └──────────────┘    │    │    │
│  │  └──────────────────────┘    │    │
│  └──────────────────────────────┘    │
│                                      │
└──────────────────────────────────────┘

Organization

Scope: org

Company-wide facts shared across all workers:

  • ICP (Ideal Customer Profile) definitions
  • Total pipeline values and targets
  • Strategic use cases and priorities
  • Pricing frameworks and discount policies
{
  "scope": "org",
  "key": "icp-definition",
  "value": "B2B SaaS, 100-5000 employees, $5M+ ARR, using Temporal or considering workflow orchestration",
  "pinned": true
}

Team

Scope: team

Team-level context:

  • AE territory assignments and coverage maps
  • Active marketing campaigns
  • Messaging frameworks and talk tracks
  • Team-specific playbooks
{
  "scope": "team",
  "key": "west-territory",
  "value": "Sarah AE covers: Acme Corp, Stripe, Vercel, PlanetScale, Neon",
  "pinned": true
}

Worker

Scope: worker

Individual worker memories:

  • Past research findings
  • Learned patterns and calibrations
  • Relationship context with accounts
  • Skill-specific knowledge
{
  "scope": "worker",
  "key": "acme-corp-history",
  "value": "Champion: Sarah Kim (VP Eng). Last QBR: Jan 15. Key concern: migration timeline. Preferred contact: Slack.",
  "pinned": false
}

Session

Scope: session

Temporary conversation context:

  • Current chat context
  • Active task parameters
  • Intermediate computation results

Session memories are not persisted beyond the active session.

Key Features

Auto-Compression

The memory system automatically compresses stale entries to prevent unbounded growth:

  • Entries older than 24 hours that are not pinned are candidates for compression
  • Compression merges related entries and removes redundant information
  • The compressMemory signal can be sent to trigger manual compression

Pinned Facts

Important memories can be pinned to survive auto-compression:

POST /api/memory
{
  "scope": "org",
  "key": "pricing-framework",
  "value": "Consumption-based: $0.10/workflow execution + $0.001/memory read",
  "pinned": true
}

Pinned facts remain in memory indefinitely until explicitly updated or unpinned.

Version Tracking

Every memory entry tracks its version number, incremented on each write. This provides an audit trail of how knowledge evolves:

{
  "key": "acme-deal-status",
  "value": "Moved to negotiation. Discount request pending.",
  "version": 7,
  "lastUpdated": "2026-03-04T10:30:00Z"
}

Health Monitoring

Memory health can be monitored per worker:

GET /api/memory/health/sarah-ae-west

Returns:

  • Total memory entries
  • Compression ratio
  • Staleness metrics
  • Pinned vs. unpinned breakdown

Memory Signals

The Memory Store workflow accepts three signals:

SignalPurpose
writeMemoryStore or update a memory entry
compressMemoryTrigger manual compression
pinMemoryToggle pin status on an entry

Memory Queries

QueryPurpose
readMemoryRead a specific memory entry by scope and key
getHealthGet memory health metrics
getAllMemoriesList all entries (with optional scope filter)

On this page