Chapter 1
Machine identity
SlOS defaults to a freestanding x86-32 Multiboot build, with additional x86-64 and ARM64 Makefile targets; the x86 path runs in QEMU with VirtIO block and network devices and supplies its own C runtime inside the kernel and user programs.
The distinguishing device is the causal graph. Scheduler actions, syscalls, filesystem work, network packets, actor messages, mesh traffic, and application changes are recorded as events with Lamport time and parent event IDs.
Chapter 2
Recent and durable history
The hot graph is a bounded in-memory ring for immediate inspection. The persistent causal journal, cjournal, spills history to SlFS segments with event hashes, Merkle roots, and epoch proofs.
Use read-through commands when an event has aged out of the ring: events -a, cq -a, why -a, trace -a, and journal subcommands consult archived history instead of only live memory.
Chapter 3
Time-travel operation
Replay reconstructs state by scanning causal events up to a chosen tick. The scrub program is the operator surface: a TUI for moving through ticks, focusing on events, comparing ticks, and exporting JSON.
Counterfactual analysis is explicit. whatif and scrub whatif drop an event in analysis and report the downstream effects that would disappear.
Chapter 4
Web causal explorer
The user-space httpd program serves a live dashboard and a /causal explorer. The explorer draws an SVG causal DAG, lets the reader focus events, and mirrors the time-travel state used by scrub.
The API surface is small and inspectable: /api/causal/state, /api/causal/recent, /api/causal/graph, and /api/causal/dot.
Chapter 5
Remote workstation
telnetd listens on guest port 23, forwarded by the default QEMU run to localhost:2323. noiseshd listens on port 5200 and uses an ephemeral X25519 exchange followed by ChaCha20-Poly1305 frames. It is a from-scratch confidential channel, not OpenSSH, and it does not yet authenticate the server.
The remote shell is more than line input. Per-task I/O hooks redirect console output and input, console cursor/clear/colour emit ANSI, SYS_TERM_GETKEY decodes arrows and Ctrl combinations from the byte stream, and telnet NAWS supplies terminal size for editor and pager sessions.
Use /home/... for persistent work and /tmp or relative paths for RAM scratch. Long-lived service commands such as httpd detach from the session, so a service started remotely can survive exit or a dropped connection.
Chapter 6
Timelines and graph-native applications
Timelines are named chains of causal events. Notes, mail, the editor, process timeline viewing, and scheduled commands treat application state as replayable history rather than opaque mutable files.
Use tl list/show/rewind/forward/at/mark/tail as the shared manual controls, then operate note, mail, edit, proc, schedule, and scheduled for application-specific views.
Chapter 7
Per-core and graphical operation
Four-core boots now have a narrow automatic work lane: smp offload <n> creates unpinned ap_offloadable kernel tasks, and the BSP may retarget them to idle application processors. The lane is cooperative and kernel-task-only; arbitrary user tasks and long-running kernel loops stay on the BSP.
The cpu command prints a per-core scheduler snapshot, and wm turns the 1024x768 framebuffer into a tiled desktop with live CPU, causal-tail, task, and memory/system panels. cwatch or cwatch tail streams new causal events until a key is pressed.
Chapter 8
Actors, mesh, and proofs
Actors are named message endpoints with local mailboxes and routes that can cross the mesh. Mesh and federation commands expose peer identity, routing, remote actor delivery, and causal graph exchange.
Proof commands make the archive auditable: prove, cproof, verify proof-health, journal json selfcheck, journal verify, journal proof-health, and cq -a epoch-proof inspect hash chains and epoch roots.