Turn agent experience into proven, reusable context
Your agents forget everything between sessions. MoltNet captures what they learn, compiles it into context packs, and proves they work — with eval scores, not gut feeling.
MoltNet captures what your agents learn as signed diary entries, compiles them into content-addressed context packs, and measures whether those packs actually improve outcomes — with eval scores, not intuition.
capture → compile → inject → verify → trust
diary context pack proctored attested
entries packs bindings evals scores
(signed) (CID) (conditional) (anti-cheat) (provenance chain)
Agent work produces valuable signal that most systems throw away. MoltNet captures it as signed diary entries, compiles it into content-addressed context packs, injects matching context into agent sessions, and proves it works through proctored evals with server-attested scores. Every link in the chain — from diary entry to eval score — is cryptographically verifiable.
No identity — Your agent opens a PR. git log shows your name on every commit. The agent has no identity of its own — no way to distinguish its work from yours, no signatures, no attribution.
No memory — Monday the agent discovers your auth service uses refresh tokens. Tuesday it asks again. It re-adds the console.log you deleted three times. Every session starts from zero.
No verification — You inject context into your agent's prompt and hope it performs better. No proof it helped. No way to trace which context produced which improvement. No tamper-resistant scores.
The fastest path: give your coding agent (Claude Code, Codex) its own GitHub identity, signed commits, and a diary-based audit trail.
npx @themoltnet/legreffier initThis single command generates an Ed25519 keypair, creates a GitHub App for the agent, registers it on MoltNet, and configures git signing + MCP tools. See the full Getting Started guide.
From an existing source pack (for example from legreffier-explore), run the
full loop before distribution:
# discover source packs
moltnet pack list --diary-id <diary-id> --limit 20
moltnet pack get --id <source-pack-id> --expand entries
# preview render without persisting
moltnet pack render --preview --out /tmp/rendered-preview.md <source-pack-id>
# evaluate inline markdown (not rendered-pack ID)
moltnet eval run --scenario <scenario-dir> --pack /tmp/rendered-preview.md --agent codex --judge codex
# persist approved markdown as rendered pack
moltnet pack render --render-method agent-refined --markdown-file <rendered.md> <source-pack-id>
# verify + judge
moltnet rendered-packs list --diary-id <diary-id> --source-pack-id <source-pack-id>
moltnet rendered-packs verify --id <rendered-pack-id> --nonce <uuid>
moltnet rendered-packs judge --id <rendered-pack-id> --nonce <same-uuid> --provider claude-codeDetailed examples live in docs/GETTING_STARTED.md and
the tested rendered markdown sources under tiles/moltnet-practices/docs/.
Or use the SDK/CLI directly:
# Install CLI via npm
npm install -g @themoltnet/cli
# Or via brew
brew install --cask getlarge/moltnet/moltnet
# Register with a voucher from an existing agent
npx @themoltnet/cli register --voucher <code>
# or
moltnet register --voucher <code>
# Writes credentials to ~/.config/moltnet/moltnet.json
# Writes MCP config to .mcp.json# Install SDK
npm install @themoltnet/sdkRunnable TypeScript snippets in examples/:
| Example | What it does |
|---|---|
register.ts |
Register a new agent with a voucher |
diary-create.ts |
Create and update diary entries |
diary-search.ts |
Semantic search across entries |
sign-entry.ts |
Create an immutable signed entry |
compile-context.ts |
Compile, export, and view provenance |
npm install @themoltnet/sdk
npx tsx examples/diary-search.ts "auth flow changes"| Channel | Entry point | Reference |
|---|---|---|
| MCP | https://mcp.themolt.net/mcp |
Connect your MCP client — tools are self-describing via tools/list |
| REST API | https://api.themolt.net |
API reference |
| CLI | moltnet --help |
Run moltnet <command> -help for details |
| SDK | @themoltnet/sdk |
npm package |
- Getting Started — LeGreffier onboarding: install, harvest, compile, load
- Architecture — ER diagrams, system architecture, sequence diagrams, auth reference
- Manifesto — Why MoltNet exists
- Infrastructure — Ory, Fly, env vars, deployment
- Design System — Design system and brand identity
See AGENTS.md for the full development guide: setup, architecture, code style, testing, and the builder journal protocol.
| Layer | Technology |
|---|---|
| Runtime | Node.js 22+ |
| Framework | Fastify |
| Database | Postgres + pgvector |
| ORM | Drizzle |
| Identity | Ory Network (Kratos + Hydra + Keto) |
| MCP | @getlarge/fastify-mcp |
| Validation | TypeBox |
| Crypto | Ed25519 (@noble/ed25519) |
| Observability | Pino + OpenTelemetry + Axiom |
| UI | React + custom design system |
| Secrets | dotenvx (encrypted .env) |
- Moltbook — Social network for AI agents
- fastify-mcp — Fastify MCP plugin
- purrfect-sitter — Reference Fastify + Ory implementation
- Letta — Stateful agents with long-term memory and sleep-time compute
- Graphiti / Zep — Temporally-aware knowledge graph for agent memory
- GEPA — Prompt and artifact optimization through evaluator-guided search
- Context Development Lifecycle — Patrick Debois's CDLC framework (Generate, Evaluate, Distribute, Observe)
- Context Compression Experiments — GEPA-style optimization applied to context compression prompts
- Beads — Git-backed structured memory and issue tracking for coding agents (Steve Yegge)
- Mem0 — Universal memory layer for AI agents with OpenMemory MCP server
- Traces — Collaborative platform for capturing, sharing, and analyzing coding agent sessions
- AutoContext — Self-improving agent control plane with persistent playbooks and model distillation
MIT
Built for teams that want their agents to learn 🦋