Names
sys and one letter, for each part with an interface of its own. The register below is the one list of them: the bar at the top of every site's pages is drawn from it, and a name is written there before it is used anywhere else.
The rule
A part gets a name when it has an interface of its own that other code is written against, and could in principle be replaced or used elsewhere: a language, an IR, the kernel's interface, a command language, a protocol. Anything else is a directory of a part.
So the file server and the disk driver have no names: they are tasks of sysk's system, behind its manifest and its shell. The terminal is a task too, but what it speaks earned a name (2026-10-14): syst, what sysk sends and a host shows, an interface the host on the person's machine is written against, and that postterm could one day speak. The files protocol might earn one, sysf, once it is what more than sysk's tasks are written against; three servers speak it already. And drivers stay out of the kernel whatever they are called: each is a user task holding a device capability, and the kernel only routes its interrupts, maps its device's page and fences it in with PMP. A device that reads and writes memory itself is fenced in by proof instead: since sysk 042 every virtio driver lends its buffers through one queue in the kernel's device file, which knows no device's requests.
The network is drawn along that line. sysn is the protocol stack: plain sysp that turns bytes into bytes, with no tasks or channels of its own, so it is proven and tested on its own (since 2026-10-14, its site), against QEMU's user network, live and recorded. sysk runs it in a task and serves it as /net; the network card's driver beneath it is sysk's, like the disk's, and has no name.
The alphabet so far
The register
| Name | What | Its interface | Status | Where |
|---|
Read from kit/parts.js. Built: in use. Building: under way. Planned: decided, not started. Candidate: a name kept for a part that may earn it.
Not to take
| Name | Why not |
|---|