Elephant gives people and agents a shared logical theory of facts, rules, and signed promises. Conclusions explain themselves. Commitments become fulfilled or violated from the evidence. The whole history syncs peer-to-peer, end-to-end encrypted.
Agents approve releases, accept work, report evidence, and promise outcomes. Most systems reduce those acts to mutable rows and application code. When the world changes, the explanation for a decision—and who undertook what—disappears.
Statuses are assigned by application code, so “fulfilled” means a field was set—not that the promised outcome is actually proven.
Rules hide in services where people and agents cannot query why a gate is closed or what evidence would open it.
Shared words drift silently. One agent writes build-ok; another waits forever for ci-green.
Promises are signed objects with a goal, author, and deadline. Their state is a conclusion about the theory, not an editable label.
Rules live beside facts in one logical corpus. Ask why-not, require, or explain and get an inspectable answer.
Vocabulary is visible as part of the theory. Orphaned names and missing predicates surface before they become coordination failures.
These commands follow the worked example in Elephant's release. Pick a step to see how one shared theory moves from evidence to an explained decision.
$ elephant id create --name alice created identity did:crdt:840a1d78223afbfc6d6eda0540a17cfbdb00af2b694e3b857244b73898a5a4d1 agent:alice $ elephant theory create release created theory release id 0bcddfc507ebe6f3adf11ea72d0d269ee9680071511349f5027cb2141ad4c239 # One theory: facts, rules, vocabulary, promises, and provenance. # Every authored statement carries its signer.
$ elephant assert 'qa-signed' -t release assert s-8d4c68355d956faa $ elephant assert \ '(normally r-ready (and qa-signed legal-signed docs-ready) release-ready)' -t release assert s-84346ab76b76f98e $ elephant status -t release -D docs-ready -D legal-signed +D qa-signed -D release-ready
$ elephant why-not release-ready -t release rule r-ready: Missing premises: legal-signed, docs-ready $ elephant require release-ready -t release provable if all added: docs-ready legal-signed # "why-not" explains the failure. # "require" runs backwards to find the minimal sufficient facts. # No one has to reverse-engineer the gate from application code.
$ elephant promise 'legal-signed' \ --by 2036-01-01T00:00:00Z -t release commit s-ba25bccb08018723 $ elephant commitments -t release outstanding s-ba25bccb08018723 agent:840a1d78… → legal-signed by 2036-01-01T00:00:00Z # Outstanding is derived: the commitment exists, its goal is # not yet proven, it was not revoked, and its deadline remains ahead.
$ elephant assert 'legal-signed' -t release $ elephant assert 'docs-ready' -t release $ elephant status -t release +D docs-ready +D legal-signed +D qa-signed +d release-ready $ elephant commitments -t release fulfilled s-ba25bccb08018723 agent:840a1d78… → legal-signed by 2036-01-01T00:00:00Z # +d means release-ready was derived defeasibly. # Fulfilment follows from proof of the promised outcome.
Elephant replaces local coordination files with CRDT-backed theories that peers can join and sync directly. History is encrypted before it leaves the machine.
A promise is part of the signed corpus. Elephant determines whether it is outstanding, fulfilled, violated, or revoked from the theory and an explicit evaluation time.
Predicate families—such as ci-green/1—can carry descriptions, argument types, kinds, and expected asserters. Diagnostics reveal vocabulary drift without forbidding new language.
Elephant evaluates the same signed history at a supplied point in time. That keeps reasoning deterministic and makes past or future states inspectable.
Once evidence proves the goal, simply advancing evaluation time cannot make the promise un-fulfil itself.
The unproven goal, expired deadline, and signing agent remain together in the record. An elephant never forgets.
Elephant verifies and opens signed statements, derives the closure of the corpus at a chosen time, and closes results back into the shared theory. Networking and cryptography stay outside the reasoner's pure core.
Strict rules, normal rules, exceptions, and priorities let a theory absorb new or contradictory information without collapsing.
explain shows the facts and rules behind a result; why-not shows which premises are absent.
did:crdt identities sign assertions, definitions, and promises, preserving authorship as theories sync.
The reasoner receives evaluation time as a parameter. Re-run history at any moment without an implicit call to the wall clock.
Definitions guide shared meaning, while new predicates remain legal. Elephant diagnoses mismatch rather than appointing a schema police.
The CLI talks to a loopback daemon; the theory store and pure core provide the substrate for other interfaces.
Alice creates a one-time invitation and communicates the short phrase out of band. SPAKE2 proves both peers know it without transmitting it. After confirmation, Bob joins the MLS group and receives the encrypted history.
$ elephant theory invite release
$ elephant theory join
7842-walnut-harbor --alias release
joined · history verified · MLS epoch current
elephant vocab identifies orphans—predicates asserted but never consumed—and holes—predicates rules
expect but nobody proves. Definitions add documentation and expected asserters. The diagnostics are advisory:
Elephant warns about vocabulary drift without rejecting new words.
Create a theory. State the rules. Invite a peer. Then ask the shared history what follows—and who still owes what.
curl https://files.anuna.io/elephant/install.sh | sh