Architecture
Every change is a signed request. The Lean kernel admits it, leaving a receipt, or refuses it with a reason.
Admission
The kernel checks a request against current capabilities, laws, exact read roots and funding, and checks a computation by running it again, at admission and on every replay. No admission uses a proof. The proof-system research, Selvage, is outside the deployed build except twelve modules behind the Host's digest backend.
A signed invocation of an Objective method is admitted the same way. The receiver re-runs the
Lean front end on the published package and admits only a core equal to its own output, requires
the claim's declared envelope to be priced by one public tariff, runs the method, and requires the
Plan's effects to equal the command's. This ran on scratch worlds (journey row
objective); it is not deployed.
Grants and laws
An owner delegates a grant with named verbs and can revoke it. Each resource has a law, a predicate checked on every change. A law that denies everything is permanent:
mini> law lock notes {"type":"any","predicates":[]} --allow-unsatisfiable
mini> submit lock
mini> read notes
# refused: law-denied: sealed
mini> law unlock notes {"type":"all","predicates":[]}
# refused: law-denied
Receipts and retries
A receipt names the transaction, the resulting world root and a confirmation such as
installed or replayed. A refusal names one of fourteen reasons, such as no-grant,
law-denied or stale-root. A lost reply is answered by looking up
the same call bytes, never by a new request; a retry returns the same receipt.
Consent
The SDK (Rust, and TypeScript byte-identical to it) runs on the member's device and does not trust the operator. Before a key signs, a Lean consent process the member chose re-derives the plan and returns the exact header bytes that key may sign; the SDK signs nothing else. A browser has no consent process, so until a bridge to a member-held replica exists, a browser must not sign.
Private rooms
Main only; devnet quality; privacy not audited. A member's words are sealed on their own machine under the room key, which the node holds only wrapped to each member (X25519 + ML-KEM-768). The node still sees who is in the room, who wrote when, and line sizes in 64-byte steps. The founder key is trusted on first use.
Agreement
A Generic Simplex BFT engine, written in Lean and compiled native, for n = 3f + 1 replicas with at most f Byzantine. Safety is proved over the Lean engine model. Liveness is not established; the executed run was four replicas on one host.