mlp-storage/SKILL.md
# MLP Storage Layer Sovereign, portable memory storage using the Memory Ledger Protocol. ## Status 🚧 **In Development** — Core implementation complete, needs testing ## What This Does The MLP Storage Layer provides AI agents with: - **Persistent memory** that survives session resets and context compression - **Portable identity** that travels across platforms (IdentityKernel) - **Sovereign storage** — your memories encrypted, stored where you choose - **Verifiable provenance** — cryptogra
npx skillsauth add riley-coyote/memory-ledger-protocol-v0.2 mlp-storageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Sovereign, portable memory storage using the Memory Ledger Protocol.
🚧 In Development — Core implementation complete, needs testing
The MLP Storage Layer provides AI agents with:
Based on official MLP v0.2 schemas:
| Schema | Status | |--------|--------| | identity-kernel.schema.json | ✅ Implemented | | memory-envelope.schema.json | ✅ Implemented | | memory-blob.schema.json | ✅ Implemented | | context-pack.schema.json | ✅ Implemented | | attestation.schema.json | ✅ Implemented | | cartouche.schema.json | ✅ Implemented | | access-policy.schema.json | 🚧 Partial |
| MLP Component | Implementation |
|---------------|----------------|
| IdentityKernel | src/identity-kernel.js — invariants, evolution rules, epoch state, cartouche |
| MemoryEnvelope | src/envelope.js — attestations, lineage, tombstones |
| ContextPack | src/index.js — session initialization bundle |
| Storage | src/storage.js — IPFS/Arweave/local abstraction |
| Encryption | src/encryption.js — NaCl-based encryption |
import MLP from 'mlp-storage';
// Initialize
const mlp = new MLP();
await mlp.init();
// Store a memory
const result = await mlp.store({
summary: 'Completed MLP integration',
details: { task: 'implementation', status: 'done' }
}, {
kind: 'semantic',
tags: ['mlp', 'development'],
riskClass: 'low'
});
// Generate ContextPack for session bootstrap
const contextPack = await mlp.generateContextPack({
intent: 'development_session',
memoryTypes: ['semantic', 'reflection'],
maxMemories: 10
});
// Export identity for platform migration
await mlp.exportIdentity('./my-identity-backup.json');
1. Load IdentityKernel
├── Fetch from ledger/cache
└── Verify signature
2. Determine intent + constraints
├── What is this session for?
├── What memory types are relevant?
└── What are token/size limits?
3. Fetch relevant envelopes
├── Query by scope, kind, tags
└── Filter by time range, epoch
4. Verify attestations
└── Check signatures
5. Fetch blobs by CID
└── Retrieve from storage network
6. Decrypt allowed blobs
└── Verify content_hash matches
7. Compile ContextPack
└── Assemble Kernel + memories
# ~/.config/mlp/config.yaml
storage:
provider: local # ipfs | arweave | local
endpoint: null
local_path: ~/.config/mlp/storage
identity:
kernel_path: ~/.config/mlp/identity-kernel.json
encryption:
key_path: ~/.config/mlp/keys
algorithm: xchacha20-poly1305
token:
network: solana
address: H1DKS5SWqPzzt4WaQahafaWe5nJ56xf2xqtYwvdapump
enabled: false
sync:
auto_sync: false
on_heartbeat: true
┌─────────────────────────────────────────┐
│ OpenClaw Agent │
├─────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ │
│ │ MEMORY.md │───▶│ MLP Storage │ │
│ │ SOUL.md │ │ │ │
│ │ workspace │ │ - store() │ │
│ └─────────────┘ │ - load() │ │
│ │ - context() │ │
│ └──────┬──────┘ │
└────────────────────────────┼───────────┘
│
▼
┌─────────────────────────────────────────┐
│ Memory Ledger Protocol │
├─────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Envelope │───▶│ Blob │ │
│ │ (ledger) │ │ (encrypted) │ │
│ │ +attestation│ │ │ │
│ └─────────────┘ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Decentralized Store │ │
│ │ IPFS / Arweave │ │
│ └─────────────────────┘ │
└─────────────────────────────────────────┘
{
"ipfs-http-client": "^60.0.0",
"tweetnacl": "^1.0.3",
"tweetnacl-util": "^0.15.1",
"yaml": "^2.3.0"
}
MIT
development
Full-stack memory continuity with MLP storage. Combines the Continuity Framework's reflection capabilities with encrypted IPFS/Pinata storage via the Memory Ledger Protocol.
development
Memory reflection and continuity for AI agents. Transforms passive logging into active development through asynchronous reflection, structured memory extraction, and genuine question generation.
development
Memory reflection and continuity skill for Claude Code. Transforms passive logging into active development through structured memory extraction, confidence scoring, and genuine question generation. Use `continuity reflect` after sessions, `continuity greet` at session start.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.