Skip to main content

Contracts

Contracts are abstract interfaces that define capabilities without importing specific database clients.

Design Rules

Core contracts must NOT import:
  • opensearch / neo4j / qdrant / surrealdb client packages
  • langchain / crewai / autogen frameworks
  • fastapi

Store Contracts

ObjectStore

CRUD operations for domain objects:

OutboxStore

Event queue for agent communication:

AdminStore

Tenant and configuration management:

Retrieval Contracts

TextSearchProvider

Full-text search with highlights and facets:

VectorSearchProvider

Embedding similarity search:

GraphSearchProvider

Entity graph traversal:

LLM Contracts

LLMGateway

LLM completion interface:

EmbedderBase

Embedding generation:

RerankerBase

Cross-encoder reranking:

Adaptive Cognitive Plane Contracts

These contracts support the self-evolving knowledge layer. They follow the same design rules as all other contracts — no provider client imports.

StrategyStore

CRUD and scope resolution for MemoryStrategy objects:

OutcomeStore

Append-only persistence for outcome signals. Outcomes are never updated or deleted.

ProposalStore

CRUD and status management for strategy change proposals:
The OutcomeStore enforces append-only semantics. There is no update_outcome or delete_outcome method. This is a safety guarantee — the system never loses feedback data, ensuring every adaptation decision is fully auditable.

Next Steps

Adaptive Cognitive Plane

How these contracts power self-evolution

Providers

See provider implementations

Agents

Learn about agents