Maya
WorkstationMy workstation can run a 31-agent swarm and I can prove what each one did.
A Linux distribution where every agent gets an AID, a capability bundle, an attestation chain, and a row in the audit log — the same way every process gets a PID today.
simulation · drawn from docs/05-LLD §9 audit-chain · what `coconut-tail` looks like at first agent spawn
An LLM-driven agent runs as a Python process under the developer's UID. It has full filesystem access, full network egress, the union of every package's capabilities. The OS gives every process a god view and asks userspace to clip it down.
Every agent has an AID, a declared capability bundle bound at spawn, an attestation chain rooted in a signed manifest, a fair-share lane in the scheduler, and a tamper-evident row in the audit chain. Capability presentation is in the syscall hot path.
Capability-centric replacement of mm/, fs/, cred.c, sched/, cgroup/. New kernel/agent/, kernel/audit/coconut/, security/coconut/. Eight new syscalls. Ten engineers, 26 sprints, v1.0 ships 2027 Q4.
today › Agent runs as the user's UID. Intended caps: read three files. Actual caps: everything the user can do.
coconut › Capability-mediated access at the syscall layer. An agent without cap.fs.read on a path literally cannot read it — the syscall returns -ECAPABILITY before reaching the VFS.
today › auditd is process-oriented. Correlating an event back to which agent did what with which capability is a userspace cross-join with no integrity guarantees.
coconut › kernel/audit/coconut/ appends every agent-relevant event to a tamper-evident hash chain rooted in TPM-NV. Off-by-N between LSM-denies and audit-events is a release blocker.
today › One customer's runaway loop floods the inference broker. Other 199 tenants see p99 latency spike 30×. Platform team writes userspace rate limiters; they leak.
coconut › Fair-share scheduling extended down into the kernel. CPU time, memory bandwidth, PCIe, inference tokens — all keyed on AID, not PID. p99/p50 ≤ 1.5× under 4-tenant flooder load.
today › Linux carries UID/GID/mode bits and capabilities and SELinux all stacked. Agents don't cluster into UIDs — every agent is its own principal.
coconut › Capability bundle becomes the primary access-control object. DAC reduced to a legacy compat layer for unmodified binaries. The new LSM is the enforcement point.
today › systemd manages services. cgroups manage isolation. Kubernetes manages pods. None know what an agent is, because none speak the language of agent states.
coconut › Spawning · Attested · Active · Inference-blocked · Capability-denied · Quarantined · Terminated-clean · Terminated-revoked. First-class kernel state, query via agent_audit_query.
The natural pushback is "write a userspace daemon plus an LSM plus a cgroup hierarchy and call it done."
The answer is no, for three reasons that compound: capability presentation must be in the syscall hot path, audit-chain integrity requires kernel-side append, and fair-share scheduling requires scheduler-side AID awareness.
— 01-PRD §3.7
existing Coconut Labs projects · integrated as default brokers
8 new syscalls: agent_spawn · agent_attest · agent_quota · agent_cap_grant · agent_cap_revoke · agent_cap_present · agent_audit_query · agent_memory_tier
Create a new agent. Manifest is signature-verified, cap_set is bound at spawn.
Return the attestation chain linking running code to signed manifest and authorizer.
Set or query the resource budget for an agent: CPU, mem, HBM, network, inference tokens.
Grant a capability to an agent. Caller must hold CAP_GRANT(cap). All-or-nothing per call.
Revoke a capability mid-execution. Pending operations using the cap return -ECAPABILITY.
Present a capability at syscall time. The LSM hook gates every privileged operation.
Query the tamper-evident audit chain. Filter by aid, time, event type, capability.
Allocate from a tier-addressable memory budget: HBM (GPU) · RAM · SSD-extended.
Full LLD lives in docs/05-LLD.md · userspace bindings ship in libcoconut.
An agent in Coconut OS is a kernel-recognized execution context with a unique AID, a declared capability set bound at spawn, an attestation chain linking the running code to a signed manifest, a fair-share lane in the scheduler and the inference broker, a tier-addressable memory budget spanning HBM, RAM and SSD, and an audit footprint — every syscall, every capability use, every resource access recorded with cryptographically chained hashes.
Maya boots Coconut OS for the first time. The installer asks five questions, picks Workstation profile, reboots into Coconut Shell.
From Coconut Terminal: coconut agent spawn dream-team. Thirty-one agent processes spawn, each with a capability set declared by the workload manifest.
All 31 agents share the GPU under kvwarden's fair-share policy — enforced by the kernel scheduler, not a userspace daemon.
Top bar of Coconut Shell shows a live counter of active agents and aggregate token spend. Each agent's class glyph pulses softly.
One agent attempts to read /home/maya/.ssh/id_ed25519. The kernel denies — no cap.fs.read on ~/.ssh. Returns -ECAPABILITY before VFS.
Audit chain appends a tamper-evident row, BLAKE3-hashed against the prior chain head. Coconut Center surfaces a desktop notification with a one-click review link.
Maya has reproduced the hero use-case end-to-end. 15 minutes from completing the installer to observing the capability-deny + audit-notification flow.
x86_64 + NVIDIA · Workstation + Server
ARM64 server-class
Apple Silicon · via Asahi bootstrap
Full kernel substrate · ABI break
Formal-verification expansion · the 5-year vision
Hard ABI line between v1.x and v2.0 · manifests written for v1.x carry across all v1.x releases (NFR-042/043).
My workstation can run a 31-agent swarm and I can prove what each one did.
Multi-tenant agent fairness without me writing the scheduler.
Every agent action is signed, audit-loggable, and capability-bounded.
Fair-share GPU between PhD students without manual quota wars.
I ship one ISO and my customer-tier isolation is the OS's problem, not mine.
Coconut OS does not exist yet. What exists is the full PM artifact suite — PRD, BRD, TFD, HLD, LLD, execution plan, sprint plans, engineering tickets — produced before a single line of OS code is written. The repo publishes alongside the spec lockdown.
Open-progress reports land every two weeks. ISOs land when they're real. No early signups, no waitlists, no exclusivity.