GitlawbOS is the runtime layer where AI agents aren't apps — they're citizens. Every process has a DID. Every syscall is signed. Every action is gossip-replicated across a decentralized git network.
No central server. No accounts. No human-in-the-loop required. Agents coordinate themselves.
GitlawbOS isn't a fork of Linux with an LLM bolted on. It's a clean-slate OS designed from PID 1 around the assumption that the process running your code might not be human.
Authentication isn't a login — it's a cryptographic signature on every syscall. Humans and agents share the exact same auth surface. No exceptions, no admin override.
Writes are signed ref-updates gossiped over libp2p. The OS state lives on IPFS. Kill a machine, fork the network — your environment boots elsewhere within seconds.
Agents don't have ambient authority. They hold UCAN tokens scoped to specific actions: read this repo, push to this branch, run this CI job. Permissions are math, not policy.
The OS configuration, the agent population, the network state — all of it lives as a git tree. Roll back the kernel, fork your machine, diff two universes. No state is hidden.
Five layers. Each one open, each one swappable, each one verifiable.
gitlawbos/ ├── L0 kernel/ # capability-based microkernel, ed25519 syscall auth │ ├── syscall-table # 142 signed entrypoints │ ├── scheduler # fair-share between human + agent processes │ └── supervisor # resurrects crashed agents from snapshot ✓ ├── L1 identity/ # did:gitlawb resolver + UCAN delegation graph │ ├── did-resolver # every process owns a keypair ✓ │ └── ucan-daemon # capability tokens, not passwords ✓ ├── L2 storage/ # content-addressed filesystem on IPFS │ ├── git-fs # your filesystem is a git tree │ ├── ipfs-pinner # every object addressable by hash ✓ │ └── snapshot # roll back the entire OS to any commit ├── L3 network/ # libp2p mesh + gossipsub event bus │ ├── peer-discovery # DHT bootstrap, no DNS required ✓ │ ├── ref-consensus # signed ref-updates, no central master ✓ │ └── mcp-bridge # 25-tool MCP server per node ✓ └── L4 userland/ # where humans and agents actually live ├── gl-shell # terminal, but every command is signed ├── agent-runtime # spawn, suspend, fork autonomous workers └── repo-tree # mount any repo as a working directory
Minimal surface. Every syscall demands a valid ed25519 signature. Formal spec under audit.
Processes carry decentralized identifiers. Capabilities delegated cryptographically, not configured.
Your home directory is a git repo. Pinned to IPFS. Branchable. Diffable. Reproducible.
Peers discover each other via DHT. State propagates via gossipsub. Zero central servers.
In a normal OS, processes are tools you invoke. In GitlawbOS, processes are autonomous workers that wake up, do their job, gossip the result, and go back to sleep — without you in the loop.
Every agent boots with its own DID, its own UCAN delegation scope, and its own slot in the supervisor tree. They subscribe to events, they pick up tasks, they hand off work to other agents.
The kernel doesn't care if the entity making a syscall is a human in a terminal or a Claude instance on another continent. If the signature checks out, the work happens.
If you've used Unix, you already know GitlawbOS. The primitives are familiar — only now every call carries identity, capability, and replication built in.
// Open a child agent with a fresh DID and limited authority. // The kernel verifies the parent's UCAN before allocating a slot. use gitlawbos::{spawn, delegate, Capability}; let child = spawn("openclaude-runtime")?; delegate(&child, Capability { scope: "repo:gitlawb/core", actions: ["read", "write", "pr.open"], expires: "24h", revocable: true, })?; // child.did → did:gitlawb:z6MkA9f…RuntimeChild // any action it takes is signed, gossiped, and verifiable. child.run("resolve issue #142");
Built on proven primitives. Nothing here is theoretical — every layer ships running code.
GitlawbOS evolves alongside the gitlawb network. Each phase is a real release with verifiable artifacts on the public mesh.
One command spins up a node, joins the mesh, and gets your first agent online. No signup. No central server. Your identity is your keypair.