Skip to main content

Sulcus × Deep Agents

Thermodynamic memory middleware for LangChain Deep Agents. Replace flat AGENTS.md files with a real memory engine.

The Problem

Deep Agents' built-in memory is a Markdown file (AGENTS.md) that the LLM manually edits with edit_file. This means:

  • No search — the entire file is loaded every time, regardless of relevance
  • No decay — everything stays forever until the LLM decides to delete it
  • No cross-agent sharing — sub-agents get isolated filesystems; their memories die when they terminate
  • No cross-session persistence — sandbox restarts lose everything
  • No prioritization — a three-month-old preference and a five-minute-old finding have equal weight

The Fix

sulcus-deepagents replaces this with the Sulcus thermodynamic engine:

  • Semantic search — only relevant memories are injected, ranked by similarity + heat
  • Automatic decay — episodic memories fade in hours; semantic knowledge persists for months
  • Cross-agent sharing — sub-agents write to the same Sulcus graph; findings survive termination
  • Persistent across sessions — memories live in the database, not the sandbox
  • Heat propagation — recently recalled, frequently accessed memories rank higher

Install

pip install sulcus-deepagents

Quick Start

Middleware (automatic context injection)

from sulcus import Sulcus
from sulcus_deepagents import SulcusMemoryMiddleware
from deepagents import create_deep_agent

client = Sulcus(api_key="sk-...")

agent = create_deep_agent(
    middleware=[
        SulcusMemoryMiddleware(client=client)
    ]
)

Every model call now gets relevant memories injected into the system prompt automatically.

Tools (explicit memory operations)

from sulcus_deepagents import SulcusMemoryTools

memory_tools = SulcusMemoryTools(client=client)

agent = create_deep_agent(
    tools=memory_tools.tools()
)

The agent gets five memory tools:

Tool Description
sulcus_store Store a memory with type + importance classification
sulcus_search Search by natural language, ranked by relevance + heat
sulcus_recall Recall a memory by ID, boosting its heat
sulcus_pin Pin/unpin to prevent/allow decay
sulcus_forget Permanently delete a memory

Combined (recommended)

agent = create_deep_agent(
    middleware=[SulcusMemoryMiddleware(client=client)],
    tools=memory_tools.tools(),
)

The middleware handles passive context injection. The tools handle active memory management. Together, the agent gets automatic recall AND explicit control.

Backend (AGENTS.md interception)

from sulcus_deepagents import SulcusBackend

agent = create_deep_agent(
    backend=SulcusBackend(client=client)
)

Intercepts AGENTS.md reads/writes — read_file("AGENTS.md") returns a Sulcus-generated summary; write_file("AGENTS.md", content) parses and stores entries as individual memory nodes.

Memory Types

Type Use For Default Decay
episodic Events, conversations, task findings Fast (24h half-life)
semantic Facts, knowledge, data Slow (30d half-life)
preference Settings, opinions, style Slower (90d half-life)
procedural Workflows, how-tos, patterns Slowest (180d half-life)
moment Significant interactions Slow (custom)

Sub-Agent Memory Sharing

This is where Sulcus changes the game. In standard Deep Agents:

Main Agent → spawns Sub-Agent → sub-agent edits its AGENTS.md → sub-agent terminates → AGENTS.md is GONE

With Sulcus:

Main Agent → spawns Sub-Agent → sub-agent calls sulcus_store → sub-agent terminates → memory PERSISTS

Both agents share one Sulcus tenant. The sub-agent's findings are immediately searchable by the main agent and any future agents.

Configuration

SulcusMemoryMiddleware(
    client=client,
    search_limit=15,       # Max memories per turn
    token_budget=2000,     # Approximate tokens for memory context
    memory_types=None,     # Filter types (None = all)
    min_heat=0.0,          # Minimum heat threshold
)

Self-Hosted

client = Sulcus(
    api_key="your-key",
    server_url="http://localhost:4200",
)

Examples

Links

Release files for sulcus-deepagents 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sulcus-deepagents 0.1.0
File Size Uploaded
sulcus_deepagents-0.1.0.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sulcus-deepagents 0.1.0
File Interpreter ABI Platform
sulcus_deepagents-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.9 kB

Release files / sulcus_deepagents-0.1.0.tar.gz

Download URL sulcus_deepagents-0.1.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4d87bbea58a0335d3a355db1e12d79ac9af5ec479e2d540f7246a49c4cb784c7
BLAKE2b-256 checksum
How to use checksums
12f3fac28e7248d965e849fa7992b9a27e95f6b0f20be6c81bba680cf9f23f19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / sulcus_deepagents-0.1.0-py3-none-any.whl

Download URL sulcus_deepagents-0.1.0-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c455d1e4c6eb8277c50c6aeb2cc759b2a6d218f349ea6a4518e3e9d3b3eb44b0
BLAKE2b-256 checksum
How to use checksums
fdab56b08963e8718122034c628e3f3d3fe2cf946eb5888763657f62b09b870f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page