Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.4.1 instead.
Reason given by maintainers: Superseded by 1.4.1.

aleth-client

A thin, standalone Python client for Aleth's persistent memory + thesis tracking over the warm-daemon wire. Part of MEM-SDK (ROADMAP ch.161, Option A). It imports no engine package and depends only on pydantic -- a sibling project (a Hand, another venture's agent) can pip install it and get durable memory without pulling in the Brain.

License (S1421): MIT. The client and the MPB-2 host plugins (clients/aleth-hermes, clients/aleth-openclaw) are open-source; the Aleth engine (the daemon this client talks to) stays closed.

Install

pip install ./clients/aleth-client

(In-repo install only -- no PyPI publish, by design. Copy the directory into a sibling project and pip install ./aleth-client there.)

Prerequisite: a running engine

The client talks to a running engine discovered via its .aleth_daemon.json discovery file (under data/runtime/ by default, or pass discovery_dir= / set ALETH_DISCOVERY_DIR). The daemon holds the warm graph; the client stays thin and never loads a local copy.

# the host that serves this wire in-repo (it writes .aleth_daemon.json):
python -m enki.runtime --pool-id baseline-pool --is-master --data-dir data --detach

Usage

from aleth_client import MemoryClient

mem = MemoryClient().connect()          # verifies reachability + protocol MAJOR

node = mem.remember("The sky is blue", origin="user")
print(node.node_id, node.classification)   # a computed judgment, not a constant

# Declare what you know about your own memory; your word outranks analysis.
fact = mem.remember("My locker code is 4312", classification="fact")

hits = mem.recall("sky", limit=5)
for n in hits.nodes:
    print(n.node_id, round(n.score, 3), n.content[:60])

# Thesis tracking
mem.store_reasoning_chain(
    chain_id="my_decision", title="My decision",
    steps=["weighed A [0.8]", "B cheaper [0.9]"], session_number=1,
)
h = mem.create_hypothesis(
    prediction="X holds", rationale="...", falsification_condition="...",
    confidence=0.6, hypothesis_type="completion", testability=0.8,
    testable_criteria="...", source_node_ids=[],
)
mem.add_hypothesis_evidence(
    hypothesis_id=h.node_id, outcome="confirmed",
    evidence_node_ids=[], confidence_change=0.1, experiment_id="exp1",
)

Method surface

Memory: remember, recall, recall_deep, recall_ranked, show, search, retract, connect_nodes, status, nodes. Thesis: store_intuition, store_reasoning_chain, session_checkpoint, recall_chains, recall_intuitions, create_hypothesis, add_hypothesis_evidence, retract_hypothesis. Goals: goal_create, goals_list, goal_detail, goal_progress, goal_achieve, goal_abandon. Governance: bios_check, bios_status. (No forget -- the memory surface is retract-based, matching the wire.)

Errors

DaemonUnavailable (no daemon answered), BackendError (daemon-side failure, incl. an [UNCERTAIN] write whose confirmation never arrived -- verify before retrying), NodeNotFound, BIOSDenied (blocked by a BIOS axiom), ProtocolMismatch (the daemon advertises a different contract MAJOR).

Versioning & compatibility

The wire contract is frozen at MEMSDK_PROTOCOL_VERSION = "2.1" and governed by semver (MAJOR = breaking, MINOR = additive, PATCH = fix). v2.1 (EPI-1, S1565) adds the optional classification / confidence declaration kwargs on remember -- forwarded only when given, so older servers never see them. v1.1 (MPB-2, S1421) adds recall_ranked -- daemon-side cross-encoder-ranked recall (bge-reranker-v2-m3 on CUDA hosts / ms-marco-MiniLM-L-12-v2 on CPU) whose nodes carry created_at for the dated presentation helper (aleth_client.presentation.dated_block). The daemon advertises its version via sdk_status; connect() checks the MAJOR matches and raises ProtocolMismatch otherwise. The full spec is docs/architecture/deployment/mem-sdk-contract.md; drift between this copy and the engine is caught by the conformance guard (tests/test_contract_conformance.py, MSDK-3).

Trust model (read this -- MSDK-5)

This client authenticates to the daemon with a local discovery-file token and inherits the same-box trust boundary: everything on the box is the operator. It does NOT provide per-consumer identity, tenancy isolation, or off-box transport, and a plain recall sees the GLOBAL memory graph (the source_project tag is a filter, not a partition). Do not expose this client across a trust boundary or treat it as an externally-safe, multi-tenant API. Anyone needing authenticated per-consumer identity, real tenancy, or an off-box endpoint wants the (un-built, rejected-for-now) Option B in docs/ROADMAP_ALT.md.

Which surface do I want?

  • This client (aleth-client) -- you are writing Python code in a sibling project that needs durable memory over the wire.
  • The foreign-MCP-window path -- you are an assistant window (Claude Code / VS Code) working inside another venture's repo and want the memory graph as MCP tools with project provenance. See docs/reference/using-enki-from-other-projects.md.

Release files for aleth-client 1.3.0

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

Built distribution (wheel)

Table of built distributions (wheels) for aleth-client 1.3.0
File Interpreter ABI Platform
aleth_client-1.3.0-py3-none-any.whl Python 3 none any Details

Release files / aleth_client-1.3.0-py3-none-any.whl

Download URL aleth_client-1.3.0-py3-none-any.whl
Size 28.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a88ec993f81a7048cf7ad45ceda0cf3f7a2581ef7a489f776bb8bd0671bd444c
BLAKE2b-256 checksum
How to use checksums
0f5d3807cef693b13d03da4240c8f5f3e3dab7510a44cc92af9160b4d4c0aafe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release history Release notifications | RSS feed

1.4.1

2 release files

1.4.0

2 release files

This release

1.3.0 This release

1 release file

0.0.0

1 release file

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