plexus-substrate 0.3.0

Reference Plexus RPC server with conversation trees and LLM orchestration
Documentation

Substrate

A Plexus RPC server. Write Rust methods with #[hub_method], get a self-describing streaming RPC server with WebSocket, MCP, and CLI access — no separate schema files, no drift.


Architecture

Three layers. Each knows only about the layer below it.

┌────────────────────────────────────────────────────────┐
│  Activations                                           │
│  Pluggable modules. Each exposes typed, streaming      │
│  methods via the hub macro. Orcha, Lattice, Arbor, ... │
├────────────────────────────────────────────────────────┤
│  Plexus RPC                                            │
│  Self-describing, streaming-first RPC protocol.        │
│  Code is schema. Runtime JSON Schema per method.       │
│  Language-agnostic clients via hub-codegen.            │
├────────────────────────────────────────────────────────┤
│  Transport                                             │
│  WebSocket + MCP on the same port (4444).              │
│  Synapse CLI — dynamic, schema-driven command line.    │
└────────────────────────────────────────────────────────┘

Activations

Activation Purpose
orcha Multi-agent orchestration — run ticket plans as parallel agent DAGs, human approval gates, child graphs. See docs/activations/orcha/README.md.
lattice DAG execution engine underlying Orcha. Nodes, edges, typed tokens, scatter/gather, join types.
arbor Conversation tree storage. Backs agent session history.
claudecode Claude Code CLI session wrapper. Spawns and manages Claude sessions.
claudecode_loopback Tool-use approval routing. Claude sessions request permission; routed through the approval API.
bash Shell command execution.
changelog API hash tracking — logs when the method schema changes between restarts.
mustache Template rendering.

Access

Everything is exposed on port 4444:

  • WebSocketws://localhost:4444
  • MCPhttp://localhost:4444/mcp (all methods appear as MCP tools)
  • Synapse CLIsynapse substrate <namespace> <method> [--param value]
  • In-process RustDynamicHub::call(method, params)

Quickstart

# Start
substrate-start

# Explore available methods
LANG=C.UTF-8 synapse substrate

# Run an agent graph from a ticket plan
LANG=C.UTF-8 synapse substrate orcha run_tickets_files \
  --ticket_files '["plans/TDD/TDD-1.md"]' \
  --model sonnet \
  --working_directory /workspace/hypermemetic/plexus-substrate

See also

License

MIT