Skip to main content

TraceMind smart agent runtime and tooling

Project description

TraceMind — AI MAPE-K Autonomous Agent Framework

TraceMind is a lightweight, event-sourced autonomous agent runtime that follows the MAPE-K loop: Monitor → Analyze → Plan → Execute over shared Knowledge.

  • Event-Sourced Core — every state change is an append-only fact (auditable by design).
  • Static Flow Engine — declarative flows (YAML/JSON) exportable to DOT/JSON for graphs.
  • Policy via MCP — select/update arms locally or over JSON-RPC with timeout & safe fallback.
  • Smart Layer — summarize / diagnose / plan / reflect with trace-linked spans.
  • Ops-Ready — REST /api/*, Prometheus /metrics, health /healthz /readyz.

Agent Evolution Timeline ───────────────────────────────────────────── (1) Client + Server (2) Digital Twin (3) Autonomous Agent ─────────────── ─────────────── ──────────────────── • Proxy / Adapter • Mirror of entity • Observer • Sip, Websocket • Present + feedback • Executor • Hide protocol • IoT, Telecom • Collaborator complexity • State visualization • AI-driven autonomy • Simulation / feedback • Coordination in MAS

Value: simplify access Value: insight + control Value: autonomy + learning


✨ Features

  • Event Sourcing Core: append-only event store powered by the Binary Segment Log (tm/storage/binlog.py). JSONL and SQLite remain optional adapters planned for future expansion.

  • DDD Structure: clear separation of domain, application, and infrastructure layers.

  • Pipeline Engine: field-driven processing (Plan → Rule → Step), statically analyzable.

  • Tracing & Reflection: every step produces auditable spans.

  • Smart Layer:

    • Summarize: human-readable summaries of recent events.
    • Diagnose: heuristic anomaly detection with suggested actions.
    • Plan: goal → steps → optional execution.
    • Reflect: postmortem reports and threshold recommendations.
  • Visualization:

    • Static: export DOT/JSON diagrams of flows.
    • Dynamic: SSE dashboard with live DAG and insights panel.
  • Protocols:

    • MCP (Model Context Protocol) integration (JSON-RPC 2.0) – see the latest specification and the community GitHub org. Example flow recipe:
      from tm.recipes.mcp_flows import mcp_tool_call
      
      spec = mcp_tool_call("files", "list", ["path"])
      runtime.register(_SpecFlow(spec))
      
  • Interfaces:

    • REST API: /api/commands/*, /api/query/*, /agent/chat.
    • Metrics: /metrics (Prometheus format).
    • Health checks: /healthz, /readyz.

📂 Architecture (ASCII Overview)

                +----------------+
                |   REST / CLI   |
                +----------------+
                         |
                    [Commands]
                         v
                +----------------+
                |  App Service   |
                +----------------+
                         |
                  +------+------+
                  |             |
             [Event Store]   [Event Bus]
                  |             |
          +-------+        +----+-----------------+
          |                |                      |
     [Projections]   [Pipeline Engine]      [Smart Layer]
                          |              (Summarize/Diagnose/Plan/Reflect)
                          v
                      [Trace Store]

📚 Documentation

Scale & Reliability

Safety & Governance


🚀 Quick Start

# Install (use venv if you like)
pip install -U "git+https://github.com/RaphaelYu/TraceMind.git@v1.0.4"

# Version & pipeline health
tm --version
tm pipeline analyze

# Scaffold & run a minimal flow
tm init demo
cd demo
tm run flows/hello.yaml -i '{"name":"world"}'

# Validate and export the flow graph
mkdir -p out
tm pipeline export-dot --out-rules-steps out/rules.dot --out-step-deps out/steps.dot

# Policy: list / verify / (optional) update
python3 - <<'PY'
import asyncio
from tm.policy.adapter import PolicyAdapter
from tm.policy.local_store import LocalPolicyStore


async def main():
    arms = {
        "maint.default": {"threshold": 0.72},
        "maint.backup": {"threshold": 0.6},
    }
    store = LocalPolicyStore(arms=arms)
    adapter = PolicyAdapter(mcp=None, local=store)
    print("arms:", await adapter.list_arms())
    baseline = await adapter.get("maint.default")
    print("before:", baseline)
    updated = await adapter.update("maint.default", {"threshold": 0.85})
    print("after:", updated)


asyncio.run(main())
PY

Always-on Agent quickstart

Reuse the copy/paste examples in the validation guide to keep agents continuously self-checking:

Need to configure persistence for production? See docs/storage.md for KStore URLs and fallback behaviour.

Run in container

docker build -t trace-mind ./docker

docker run --rm -it \
  --read-only \
  -v $(pwd)/data:/data \
  -p 8080:8080 \
  trace-mind

Scale & Reliability demo

See the Scale & Reliability guide for full context. The commands below can be pasted into a shell to exercise the worker pool, queue stats, and DLQ tooling.

# Start workers
TM_LOG=info tm workers start -n 4 --queue file --lease-ms 30000 &

# Enqueue 1000 CPU-light tasks
for i in {1..1000}; do tm enqueue flows/hello.yaml -i '{"name":"w'$i'"}'; done

# Live queue stats
tm queue stats

# Retry/DLQ demo — simulate failures by input flag/env within your step
export FAIL_RATE=0.05
# (run some tasks…)

tm dlq ls | head        # Inspect
# Requeue a subset by id/prefix/predicate (implementation-specific)
tm dlq requeue <task-id>

# Graceful drain
tm workers stop

🧩 Roadmap

  • More connectors (file bridge, http bridge, kafka bridge)
  • Richer dashboard with interactive actions
  • Adaptive thresholds in Reflector
  • Optional LLM integration for natural summaries

📜 License

MIT (for personal and experimental use)

Quickstart: tm init demo --template minimal cd demo && tm run flows/hello.yaml -i '{"name":"world"}' More details: docs/quickstart.md

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

trace_mind-1.0.4.tar.gz (165.0 kB view details)

Uploaded Source

Built Distribution

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

trace_mind-1.0.4-py3-none-any.whl (212.4 kB view details)

Uploaded Python 3

File details

Details for the file trace_mind-1.0.4.tar.gz.

File metadata

  • Download URL: trace_mind-1.0.4.tar.gz
  • Upload date:
  • Size: 165.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for trace_mind-1.0.4.tar.gz
Algorithm Hash digest
SHA256 264b6691c68d90e9d1bda49944929bbc0909834a27ff4eb0126408de69de1398
MD5 a6cdd5cdfdd0333fa50dde27a69c43ee
BLAKE2b-256 19b864232a27185d2d3b2e7a1525d89a35fb053e13a53db54cf29c7b9387af77

See more details on using hashes here.

Provenance

The following attestation bundles were made for trace_mind-1.0.4.tar.gz:

Publisher: release.yml on RaphaelYu/TraceMind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trace_mind-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: trace_mind-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 212.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for trace_mind-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 723f4caf5ef057406f3fac68e3f2f9c12cee54c41c2b224445b66473bb96d021
MD5 a2430ec3b6839bed1a515128ac7044fa
BLAKE2b-256 fa4c1bcb39dce9550c257878ec5eb73b1a63f823c25453d8226ec58f4032f597

See more details on using hashes here.

Provenance

The following attestation bundles were made for trace_mind-1.0.4-py3-none-any.whl:

Publisher: release.yml on RaphaelYu/TraceMind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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