A grain is a hosted app that belongs to you, not the host
A grain is a hosted program whose object is the source of truth: its mind is a committed cell, its economics are a lease, its confinement is an OS jail, and its history is a signed receipt chain welded to real kernel turns. So it can be rented, metered, driven, verified, forked, and reaped as a first-class value, not as an opaque vendor instance you have to trust.
Every grain is witnessed. You hold the handed-back artifact, re-run nothing, and re-check what it did: that the chain is genuine, the budget was never exceeded, and every receipt is a view over a committed turn. The cloud proves itself to you; you don't take its word.
How far the check reaches · stated honestly
Verifiability is a ladder, and each rung's checker runs every rung below it. We name where the trust still rests, and where the last rung's remaining residuals are, by name.
r3_verify → r3VerifyCore, no Rust fallback); an end-to-end test runs it on a real driven session. What remains is named, not hidden: the fold anchors the EffectVM-model head rather than the on-ledger grain-cell head, multi-turn cross-continuity, and the reduction rests on the EngineSound STARK floor.Around thirty apps, each a verified cell
Every app below is a real program in the tree, a factory-born cell whose rules live in its installed cell-program and are re-checked by the verified executor on every turn. The guarantee in each pitch isn't asserted in a README; it's an executor refusal. Same shape throughout: a sovereign cell, cap-gated turns, a receipt anyone can verify.
composed from proven primitives · no new kernel effect per app, no placeholder signatures
Two grains that host a whole community
Most apps are one cell. Two are whole services hosted as grains, the workshop and the town square, built the same way: confined, cap-metered, federated, receipted. Caps all the way down.
A forge with no server that can lie. It isn't "GitHub on dregg"; there is no git underneath. Dregg's own patch theory is the version control: a repo is a cell, a commit is a receipted turn, and a pull request is a fork you review and stitch.
- Merge is a theorem. The merge is a pushout (provably the least state containing both edits), and a conflict is a first-class object you resolve, never a silent stomp. You cannot rewrite someone's blame; a forged history is inexpressible.
- CI is the proof. A check runs in a confined grain whose only meaningful output is committing the receipt that gates the merge. No trusted runner: the runner physically can't reach the network or touch anything but its scratch dir; the proof is the pass.
- A PR can be a bounty. One signed terminal "checks passed" receipt can light three gates at once: the merge, a bounty payout, and a compute-market settlement. Merge the PR and the worker gets paid, off the same witness.
- Access is capabilities. "Can merge to main" is a cap you hold and can attenuate, delegate, or revoke: the same lattice as everything else, not ACL rows.
Honest scope: the forge core (patch theory, sound merge, conflicts, the receipt-gated check) is built and hardened. Hosting it as a federated grain and carrying a PR across the membrane is the named frontier.
A real Matrix server in a lockbox. The community your world lives in shouldn't need one trusted machine off to the side. So the homeserver runs as a grain, the last non-dregg-hosted piece of the inhabited world, brought inside.
- A real homeserver, embedded. A production Matrix server (the continuwuity lineage) is compiled into the grain body as a library, not an opaque process wrapped in a box. Any Matrix client can still join a room; full ecosystem interop is kept.
- Confined to one door. The body runs deny-by-default with a single storage door to its own database directory: sibling paths denied, revocable. No exec door, no ambient network. The tightest jail a real server can run in.
- Metered and auditable. Its lease is cap-metered and reaped like any grain, and the interesting part (a room is a cell, a message an event) means the server's accept of a message can be surfaced as a verifiable turn. The relay is auditable, not a trusted black box.
Honest scope: the confinement design is proven and de-risked; the embedded server serves confined in a demonstrator. The one new kernel door (an inbound listen door for the confined tier) is a deliberate, ember-aware lane, not a shipped guarantee.
On the workbench: Hermes on a leash, a real self-improving agent whose every tool-call is intercepted and turned into a cap-gated, metered, receipted turn (or an in-band refusal). The interception seam works today; the fully confined agent body and forking a live session are being built; it earns a flagship slot when it's actually done.
And a host that cannot tamper with what it serves
A grain runs your app; dregg.works serves its pages. Publish a minisite and you commit
its blake3 hash to your cell in one cap-gated, receipted turn. The host then serves the
bytes, but it has no way to change them. Every served page re-hashes itself in your browser
and checks it against the commitment fetched from the ledger. ✓ match, or ✗
tampered, and you don't take the host's word for either.
blake3(page) into your cell. The commitment is the trust-bearing half: yours, on-ledger, receipted.
<name>.dregg.works ships the raw bytes. Convenience, not trust: the host is untrusted infrastructure.
The kernel proves. The userspace runs. The cloud hosts, and every layer of it hands you a receipt you can check, instead of asking you to trust the machine underneath.