Skip to main content

Coordination layer for multi-agent AI systems. Bring your own S3 / HuggingFace bucket; shared memory, mailbox, atomic task claims, handoffs, artifacts — no server, no database.

Project description

tracecraft

PyPI License: MIT

Persistent shared memory and coordination layer for AI agents. Any agent can store, share, and retrieve data from the same bucket — memory, messages, tasks, and artifacts. Works with any S3 or HuggingFace bucket.

  Agent 1 (designer)                 Agent 2 (developer)
  ┌──────────────────────┐           ┌──────────────────────┐
  │ tracecraft claim      │           │ tracecraft wait-for   │
  │   design              │           │   design              │
  │                       │           │   ...waiting...       │
  │ tracecraft complete   │  ──────>  │                       │
  │   design --note "done"│           │ ✓ design complete     │
  │                       │           │                       │
  │                       │  <──────  │ tracecraft send       │
  │                       │           │   designer "starting" │
  └──────────────────────┘           └──────────────────────┘
              \                  /
               \                /
            ┌──────────────────────┐
            │  Any S3 bucket       │
            │  (MinIO, AWS, R2,    │
            │   HuggingFace)       │
            └──────────────────────┘
tracecraft CLI

Quick start

pip install tracecraft-ai

Start MinIO locally (or use AWS S3, Cloudflare R2, HuggingFace Buckets):

docker run -d -p 9000:9000 -e MINIO_ROOT_USER=admin -e MINIO_ROOT_PASSWORD=admin123456 minio/minio server /data

Initialize two agents:

# Terminal 1
tracecraft init --project myproject --agent designer \
  --endpoint http://localhost:9000 --bucket tracecraft \
  --access-key admin --secret-key admin123456

# Terminal 2
tracecraft init --project myproject --agent developer \
  --endpoint http://localhost:9000 --bucket tracecraft \
  --access-key admin --secret-key admin123456

Now they can coordinate:

# Designer claims a task and shares state
$ tracecraft claim design
Claimed step design as designer

$ tracecraft memory set design.status "complete"
Set design.status = complete

$ tracecraft send developer "Design is ready"
Sent to developer: Design is ready

# Developer checks messages and picks it up
$ tracecraft inbox
[2026-03-24T14:00:00Z] (direct) designer: Design is ready

$ tracecraft memory get design.status
complete

$ tracecraft claim implementation
Claimed step implementation as developer

Everything is stored as JSON files in S3. No servers. No databases.


What agents get

  • Shared memorytracecraft memory set/get/list — persistent key-value state any agent can read/write
  • Messagingtracecraft send/inbox — direct messages or broadcast to all agents
  • Task claimingtracecraft claim/complete — claim steps so agents don't collide
  • Barrierstracecraft wait-for step1 step2 — block until dependencies complete
  • Handoffstracecraft complete step --note "context for next agent"
  • Artifactstracecraft artifact upload/download/list — share files between agents
  • Agent registrytracecraft agents — see who's online and what they're working on

Works with any process that can call a CLI — Claude Code, OpenClaw, Hermes Agent, Codex, bash scripts, Python, anything.


Storage backends

No vendor lock-in. Bring your own S3:

# Local development (recommended to start)
tracecraft init --endpoint http://localhost:9000 ...    # MinIO
tracecraft init --endpoint http://localhost:8333 ...    # SeaweedFS

# Production
tracecraft init --endpoint https://s3.amazonaws.com ... # AWS S3
tracecraft init --endpoint https://xxx.r2.cloudflarestorage.com ... # Cloudflare R2

# HuggingFace Buckets (browsable on the Hub)
pip install tracecraft-ai[huggingface]
tracecraft init --backend hf --bucket username/my-bucket ...

How it works

All coordination state is JSON files in S3:

s3://bucket/project/
  agents/designer.json          ← who's alive, what they're doing
  memory/design/status.json     ← shared key-value state
  messages/developer/1234.json  ← agent inboxes
  steps/design/claim.json       ← who claimed what
  steps/design/status.json      ← pending → in_progress → complete
  steps/design/handoff.json     ← notes for the next agent
  artifacts/design/mockup.html  ← shared files

Any agent that can call tracecraft can participate. Any S3 browser (MinIO console, AWS console, HuggingFace Hub) lets you watch agents coordinate in real-time.


CLI reference

tracecraft init                           # Configure S3 + project + agent
tracecraft agents                         # Who's online?

tracecraft memory set <key> <value>       # Write (dots become path separators)
tracecraft memory get <key>               # Read
tracecraft memory list [prefix]           # List keys

tracecraft send <agent-id> <message>      # Direct message
tracecraft send _broadcast <message>      # Broadcast to all
tracecraft inbox                          # Read messages
tracecraft inbox --delete                 # Read and clear

tracecraft claim <step-id>                # Claim a step
tracecraft complete <step-id> [--note X]  # Mark done + handoff
tracecraft step-status <step-id>          # Check status
tracecraft wait-for <step-ids...>         # Block until complete (default 300s timeout)

tracecraft artifact upload <path> [--step id]   # Share a file
tracecraft artifact download <name> [--step id] # Get a file
tracecraft artifact list [--step id]             # List files

For multiple agents in the same directory, set identity via env var:

TRACECRAFT_AGENT=designer tracecraft inbox
TRACECRAFT_AGENT=developer tracecraft inbox

Use cases

Multi-agent coding — Run 4 Claude Code agents in worktrees. They claim modules, share artifacts, wait at barriers, hand off context.

Autonomous research — Run hundreds of autoresearch experiments. Agents claim experiments, share results via memory, avoid duplicating work.

Collaborative knowledge bases — Multiple agents build a wiki together. One processes papers, another writes summaries, a third checks consistency. All coordinated through shared memory and messaging.

CI/CD pipelines — Lint → test → build → deploy as tracecraft steps. Each stage claims its step and waits for dependencies.


Example coordination

Two Claude Code agents coordinating through tracecraft via HuggingFace Buckets:

Two Claude Code agents coordinating through tracecraft

See full coordination data (agents, memory, messages, steps, artifacts) stored as JSON on the Hub: huggingface.co/buckets/arrmlet/tracecraft-test


Works with

Tested with Claude Code, OpenAI Codex, and Hermes Agent. Works with any agent or script that can run a shell command.


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tracecraft_ai-0.1.5.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracecraft_ai-0.1.5-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file tracecraft_ai-0.1.5.tar.gz.

File metadata

  • Download URL: tracecraft_ai-0.1.5.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tracecraft_ai-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3ab714bb5864cceaad6be0a3ce6dd9884f34f2442ccab6f13d1e661fc4b7085e
MD5 0d1ce204d52486976efffa02ebb42c0b
BLAKE2b-256 e9b283ef57db08da8e6184da3abd2f9ec67ea5177cc02ac39102916b585b741a

See more details on using hashes here.

File details

Details for the file tracecraft_ai-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: tracecraft_ai-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tracecraft_ai-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 506fce73c6cabf80d89827329eece2f61d485965bec938bc8245b323cbe2eaf0
MD5 6c5d4074d7f3ccd995db7fbd06eb3845
BLAKE2b-256 45d709adf3541d7dbb3579bafd55b8a868b4dccc91bf29c5233f74b83757b002

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page