+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑
REDUCE CREATIVE FRICTION THROUGH INTELLIGENT AUTOMATION FOR PUBLIC GOODS.
GOAL: Amplify human creativity through removing obstacles between alignment of intention and manifestation.
+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑+∑≠-∑
A sovereign, verifiable, private, and programmable LLM orchestration engine.
Each node is a self-owned computational vertex with cryptographic identity, deterministic state, and embedded smart contract execution. No external dependencies for trust. No reliance on centralized infrastructure. Your team, your keys, your data.
Engines create engines, strands become webs, tasks become distribution—accountably.
| Principle | What It Means |
|---|---|
| Sovereign | Self-owned cryptographic identity (Ed25519). Nodes operate independently without permission from external authorities. |
| Verifiable | Deterministic storage via Cnidarium/JMT with Merkle proofs. Every state transition is auditable. |
| Private | Transport encryption (X25519 + ChaCha20-Poly1305), password-encrypted key custody, ZK commitment framework. |
| Programmable | CosmWasm VM integration for smart contracts as isolated mini-chains. Contract-based authenticators. |
Every node generates and manages its own Ed25519 keypair with password-encrypted storage (Argon2 + ChaCha20-Poly1305). Keys derive SSH credentials for git operations and encrypt API secrets. No plaintext keys at rest.
Each node runs an embedded CosmWasm VM, enabling smart contracts as programmable state machines. Store, instantiate, execute, and query contracts via HTTP API. Contracts can be configured as server authentication middleware, store and configure SDL templates, or implement custom logic during runtime of the engine for iterative, programmable feature enhancements (or not!).
Nodes form a fully-connected mesh topology using Commonware P2P. using Ed25519-signed messages, Nodes discover peers, exchange capabilities, and coordinate without central servers. There are lots of fun iteration to implement here ::)
Cnidarium provides ACID-compliant, snapshot-based state management with Jellyfish Merkle Tree (JMT) verification. Prefix-based multistore for logical separation. Every write is atomic and auditable.
Retrieval-Augmented Generation with cryptographic provenance. BLAKE3 content hashes, HNSW vector indexing, and optional JMT proofs. Query results include verification status and source attribution.
→ RAG Spec
Route requests across multiple LLM providers (OpenAI, Anthropic, Ollama, Akash, etc.) via macro-based provider system. Golden ratio resource allocation. Fractal task decomposition. Möbius sandloop feedback cycles for continuous refinement.
All node-to-node communication uses X25519 ephemeral key exchange with ChaCha20-Poly1305 AEAD. Three-message handshake with Ed25519 signatures. Forward secrecy for every session. (not sure if this is accurate as of right now, but thats the goal!)
| Package | Binary | Description |
|---|---|---|
ergors |
ergors |
Node engine - network, storage, orchestration |
ho-std |
— | Shared library - types, traits, custody |
ergors-proto |
— | Proto definitions & code generation |
| Resource | Description |
|---|---|
| Specs | Technical specifications |
| Custody & Auth | Security, key management, encryption |
| Network | P2P networking |
| Storage | Cnidarium state management |
cargo install just # Task runnerjust install # Builds and installs ergors to ~/.cargo/binergors init # Create node identity, config, and data directories
ergors init llms # Configure LLM provider API keys
ergors start # Start the engineWe use just as our task runner. Run just help to see all available commands.
# Development
just dev init # Run engine commands in dev mode
just dev start # Start engine with RUST_BACKTRACE=1
just cli <args> # Run CLI in dev mode
just watch # Rebuild on file changes (requires cargo-watch)
# Building
just build # Debug build
just build-release # Release build
just proto # Regenerate proto types
# Quality
just check # Quick syntax check (cargo chec)
just clippy # Lint with clippy
just fmt # Format code
just test # Run all tests
# CI
just ci # Full pipeline: fmt, clippy, test, build
just ci-quick # Quick check without tests| Command | Description |
|---|---|
just install |
Build release + install ergors to PATH |
just install-engine |
Install only the engine |
just install-cli |
Install only the CLI |
just uninstall |
Remove installed binaries |
just which |
Show installed binary locations |
just build-pkg ergors # Build specific package (debug)
just build-pkg ergors release # Build specific package (release)
just test-pkg ho-std # Test specific packagejust env # Show environment info
just version # Show binary versions
just clean # Remove build artifacts
just rebuild # Clean + release build
just doc-open # Build and open documentationfor a dedicated list of environment variables and their defaults check here.
Controls the logging level for the entire application. This is the standard Rust tracing environment variable.
Levels (from least to most verbose):
error- Only errorswarn- Warnings and errorsinfo- Informational messages, warnings, and errors (default)debug- Debug information plus all abovetrace- Trace-level debugging plus all above
Examples:
# Basic levels
export RUST_LOG=info # Default - general operational logs
export RUST_LOG=debug # Detailed debugging information
export RUST_LOG=trace # Very verbose trace-level logging
# Module-specific levels
export RUST_LOG=ergors=debug,tower_http=info # Debug for ergors, info for tower_http
export RUST_LOG=ergors::server=trace # Trace only server module
# Target specific components
export RUST_LOG=ergors::middleware=debug # Debug middleware operations
export RUST_LOG=ergors::storage=trace # Trace storage operationsTests using orchestration servers are essentially scripts that can be used to verify integrity of logic, including its deployments, upgrades and migrations. we have a dedicated library and tooling specifically for this purpose.
- static responses from prompt requests
- completions
- prompts
- toolcalling
- api calls
- mpc servers
- embeddings
- key gen siging libary
- custody middleware integration tests (reference penumbra testing library)
- integration test library
We have ported into this workspace existing designs from the following code-bases:
THANK YOU to the contributors of these, go show some support to their projects