Portable, cross-phase managed memory for agentic workflows
Project description
Redthread
Portable, git-backed memory for multi-phase agentic workflows.
Redthread treats cross-phase context (e.g. train → eval → present, or build → test → present) as an append-only, content-addressed memory whose source of truth is a git remote, so context never depends on a hostname or folder path. Any node can clone the store and continue a run; each phase publishes a curated handoff to the next.
Phase names are data, not code: every project declares its own pipeline in
project.yaml. Nothing domain-specific lives below the adapter layer.
Features
- Portable by construction — every entry is keyed by
project_id/run_id/phase/entry_id, never by hostname or absolute path. Swap the machine running a phase mid-run withredthread resume. - Domain-neutral phase adapters — the same core drives an ML pipeline (train/eval) and an app pipeline (build/test) with zero special-casing.
- Content-addressed artifacts — small files commit inline; large ones go through a pluggable blob backend, referenced by sha256.
- Curated handoffs — each phase publishes one small, validated contract for the next phase to consume, never the raw entry log.
- Report, deck, and docs from handoffs —
redthread presentrenders a markdown report, a slide deck, and a docs-site tree from any run. - Agent memory over MCP — point a coding agent's MCP config at a
Redthread store instead of a local
.claude/.agentfolder. - Worktree mode — run the store as an orphan-branch
git worktreeof your existing code repo, so its active branch is never touched.
Install
pip install redthread # or: uv tool install redthread
Quick start
redthread init my-project --phases build,test,present --store ./my-store
redthread run start --store ./my-store
redthread log <run_id> build note '{"msg": "hello"}' --store ./my-store
redthread read <run_id> --store ./my-store
Working from a source checkout instead: uv sync, then prefix each command
with uv run.
Docs
Full docs (usage, architecture, store format) are published at
sina5.github.io/redthread and live in
docs/, built with MkDocs Material:
uv run --group docs mkdocs serve
Changelog
See CHANGELOG.md for release notes.
Development
uv sync
uv run pytest
uv run ruff check .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file redthread-0.3.0.tar.gz.
File metadata
- Download URL: redthread-0.3.0.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
663eb1a6d07592fb59859a136c9dd19c38b6ded39ceb5d6b48b0316c21b305fe
|
|
| MD5 |
66da29128db3e1b841f199b16280f954
|
|
| BLAKE2b-256 |
d5f3bcf2d839db4aef1d5a60f934cfa7f058b3e8abe63d1a80ac0c5aa149d23e
|
File details
Details for the file redthread-0.3.0-py3-none-any.whl.
File metadata
- Download URL: redthread-0.3.0-py3-none-any.whl
- Upload date:
- Size: 37.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ab18b4a363bb681f53c119a90f9da1847367181f4d0fcb2847e26490ec06de4
|
|
| MD5 |
97d27d31442d69d4a825309badc0652c
|
|
| BLAKE2b-256 |
42fa9fd7f4496c6827b69bf04523d129aaa670a95a843e68bf36dd714744f3ae
|