It remembers
Facts live in SQLite with full-text search.
The prompt gets a relevance-ranked sample, not the whole history — long memory without
context rot.
It obliges
An envelope names goal, task, recipient, token
budget, mandate and price before work starts. Nothing surprising in the bill.
It proves
Every result is signed with Ed25519. The public key
travels with the signature, so verification works offline — no call back to us.
| soma_remember | Store a fact. Survives sessions and model changes; tags and importance 1–5. |
| soma_recall | Search facts by meaning: full-text index, ranked by importance and recency. |
| soma_send | Promise work: goal, task, recipient, token budget, mandate, price. Signed and queued. |
| soma_inbox | What waits for the agent: envelopes with verified signatures and packed context. |
| soma_claim | Take an envelope exclusively; get context packed under its token budget. |
| soma_complete | Close an envelope with a result. The receipt is signed and verifiable offline. |
| soma_route | Pick an executor by capability, mandate and price. A refusal names every reason. |
| soma_verify | Verify an envelope signature offline: Ed25519, the key travels with the signature. |
| soma_cold_put | Put a large artifact in the cold tier; get a sha256 reference instead of a body. |
| soma_cold_get | Fetch a cold artifact by sha256; content is checked against the hash. |
| soma_stats | Node state: envelopes by status, facts, edges, cold artifacts, database size. |
| soma_reflect | Form an observation from related facts; the answer names its sources (derived_from edges). |
| soma_export | Export every fact and envelope as one JSON — the right to leave, with no lock-in. |