SlOS showcase

Watch native applications calculate across machines and explain their history. The older full video and seven chapters remain a record of i386 boot, persistence, applications, actors and DOOM; that old DOOM executable has not been ported.

Native distributed computing

The compute gallery starts with a narrated tour, followed by three complete real-time sessions. Watch an image take shape across x86-64 and AArch64 workers, follow reassignment after worker loss, and recover accepted tiles after coordinator reboot.

Durable causal debugger recordings

The new debugger demonstration follows actual accepted work through connected receipts, then explains a worker disabled across reboot. Two continuous, narrated native x86-64 QEMU recordings include offline cached evidence, receipt inspection and resumed work, with full-size screenshots and downloadable explanations.

Hew service demonstrations

The application guide introduces guest-developed C/Hew programs, an expense ledger and a persistent supervised job queue. The earlier i386 transcripts follow prime-report jobs, HTTP supervision and network failures. The older “HEW SDK” video below shows a C sample rather than modern compiled Hew actors.

Window manager

The SlOS framebuffer shows fixed tiled panels for CPU state, a causal event tail, tasks, and memory/system bars. It is keyboard-driven and intentionally non-composited.

SlOS wm tiled framebuffer desktop with live system panels
wm: 1024x768x32 framebuffer, live observability panels, Tab focus, q/Esc exit.
slos:/$ wm
# 1024x768 framebuffer, fixed tiled panels
# CPU monitor | causal tail | task list | memory/system
# Tab focuses the next panel; q or Esc exits

Full showcase

Complete showcase video. Local ticks, IDs, disk state, and peer state may differ.

01 / Boot identity

Multiboot entry brings up x86 tables, paging, heap, interrupts, filesystems, PCI/VirtIO, network services, user programs, and the shell.

02 / SlFS persistence

VirtIO block I/O backs SlFS. Disk commands write, append, inspect, and re-read files from disk.img so operator state survives outside the RAM filesystem and across QEMU restarts.

03 / Productivity

The shell is a toolbench: editor, browser, wget, file filters, simple compilation, user ELFs, and diagnostics run on the same syscall and causal surface as the rest of the kernel.

04 / External ELF and HEW

Recorded ELF installation and argv delivery, including a C Hew-shaped SDK/mailbox sample. This clip is not modern compiled Hew evidence; /hew documents Slepp’s separate local source-to-ELF experiment, not an official Hew target.

05 / Timeline notes

Notes are graph-native application state. Add, tag, search, export, and replay operate over timeline events, so the current note list is a reconstruction rather than an opaque file.

06 / Actors and mesh

Named actors, local mailboxes, route tables, SPIFFE identity, Noise-encrypted mesh transport, and federation commands expose SlOS as a small distributed-system laboratory.

07 / DOOM

DOOM runs through the user-program and framebuffer paths, alongside the kernel's diagnostic services.

Remote terminal sessions

telnetd on guest port 23 (host localhost:2323 under QEMU) and noiseshd on port 5200. The full-screen editor works because console cursor/clear/colour become ANSI and key input is decoded from the session stream. Files under /home persist; services that detach, such as httpd, keep running after disconnect.

Remote editing and HTTP transcript
host$ telnet localhost 2323
Trying 127.0.0.1...
Connected to localhost.

slos:/$ mkdir /home/day
slos:/$ edit /home/day/hello.sl
# full-screen editor over ANSI; arrows move, Ctrl-S saves, Ctrl-Q exits
slos:/$ cat /home/day/hello.sl
echo hello from a remote SlOS workstation
slos:/$ run /home/day/hello.sl
hello from a remote SlOS workstation
slos:/$ httpd
[httpd] Started (pid 35) -- http://localhost:8080/
slos:/$ exit
Connection closed.

host$ curl http://localhost:8080/
<!doctype html>...SlOS Explorer...

Encrypted shell

noiseshd carries the same shell stream through a from-scratch encrypted channel: ephemeral X25519 key exchange and ChaCha20-Poly1305 messages. It is not OpenSSH, and it does not yet authenticate the server, so active impersonation remains a known limitation.

Encrypted-shell connection commands
host$ python3 scripts/noise-shell-client.py localhost 5200
# X25519 ephemeral handshake, then ChaCha20-Poly1305 frames
# Current limit: no server authentication yet; confidential, not OpenSSH.
slos:/$ termsize
80x25
slos:/$ logout

Historical multicore offload

In the retired i386 implementation, make DOOM=0 run-smp opted into four cores and smp offload <n> created eligible kernel tasks for cooperative AP dispatch. The transcript below belongs to that implementation. Native SMP now defaults on, with preemptive AP-pinned kernel work and BSP-owned users and services.

Offload and CPU transcript
slos:/$ smp offload 6
created 6 AP-offloadable kernel tasks
[ap] task ran on CPU 1
[ap] task ran on CPU 2
[ap] task ran on CPU 3

slos:/$ cpu
CPU  ACTIVE  CURRENT  SWITCHES  STATE
0    yes     shell    1842      busy
1    yes     idle/1   18        idle
2    yes     idle/2   17        idle
3    yes     idle/3   17        idle

Live causal events

The causal graph can now be watched like a log. cwatch or cwatch tail prints recent context, then appends new events until the operator presses a key.

Live event transcript
slos:/$ cwatch tail
#8921 SHELL shell command: smp offload 6
#8922 SCHED sched offload pid=47 to=cpu1
#8923 SCHED sched offload pid=48 to=cpu2
#8924 SCHED sched offload pid=49 to=cpu3
# press any key to stop

TCP chat service

chatd is an IRC-lite TCP service on port 6667: up to eight clients, /nick, join/leave announcements, and message broadcast through the SlOS TCP stack.

Chat session transcript
slos:/$ chatd start
chatd: listening on TCP 6667

host$ nc localhost 6667
Welcome to SlOS chat. You are guest1.
/nick maple
*** guest1 is now maple
maple: hello from a real TCP client

Shell pipelines

cmd1 | cmd2 now works for shell built-ins and kernel-proxied diagnostics, using sequential stage capture rather than concurrent POSIX pipes, with a 4096-byte intermediate buffer.

Pipeline examples
slos:/$ ps | grep raft
slos:/$ events | tail -n 4
slos:/$ help | grep Network
slos:/$ wc
# sequential capture: each stage has a 4096-byte buffer

Web Causal Explorer

The userspace httpd serves /causal: a live SVG causal DAG fed by /api/causal/graph, with state from /api/causal/state. The page includes a time-travel scrubber and click-to-focus causes and effects.

Explorer startup and graph example
slos:/$ httpd
httpd: serving SlOS pages and causal API

host$ xdg-open http://localhost:8080/causal

/causal
+----------------------------------------------------------+
| live causal DAG (SVG)                                    |
|  E418 syscall -> E419 sched -> E420 fs_op                |
|        \                    \                         |
|         +--> E421 user timeline --> E422 journal spill   |
|                                                          |
| scrub tick: [0 ------------------------------ now]        |
| selected E421: causes E418,E419 / effects E422           |
+----------------------------------------------------------+

Causal Inspector

scrub reconstructs state at a tick, inspects an event, emits JSON, diffs two ticks, or asks the counterfactual impact of dropping an event. It is the terminal companion to the browser slider.

Inspector commands and output
slos:/$ scrub help
Causal Inspector
  scrub <tick>
  scrub event <id|last>
  scrub whatif <id|last>
  scrub diff <a> <b>
  scrub json <tick>

slos:/$ scrub event last
Event #last type=... subsystem=...
Caused by (parents): ...
Led to (effects): ...

Causal diagnostics

triage renders a one-screen verdict, cbisect binary-searches replayable history for when a metric crossed a threshold, cdb is a stateful debugger for causes, and cprof profiles cause-to-effect flow across subsystem boundaries.

Diagnostic commands and output
slos:/$ triage
SYSTEM TRIAGE  (tick 281)
STATUS: HEALTHY
Next action: (system healthy - no action needed)
slos:/$ cbisect events 100
FOUND: tick 276 (events=2049, crossed from 0) after 8 probes
slos:/$ cprof
sched -> sched  edges 1508   syscall -> sched *  edges 1

Receipts and incident bundles

attest emits a self-contained Ed25519-signed receipt for one outcome that attest verify re-checks against the node key; capsule writes a portable incident bundle to SlFS; and why -r tags each cause hop with its origin node.

Receipt and capsule transcript
slos:/$ attest verify last
RECEIPT VALID: event #528880 in signed segment 1;
  Ed25519 signature verifies against node key
slos:/$ capsule last
CAUSAL CAPSULE for event #534692 ... saved to /capsule/534692.txt
slos:/$ why -r last
[540525] syscall: syscall 51 pid=30   origin=local

Archived causal history

Recent events still live in the causal ring, but the CJournal spills searchable, read-through history to SlFS. Operators can use journal, events -a, cq -a, why -a, proof-health checks, and epoch/Merkle proof paths to inspect history after reboot.

Archived query and proof commands
slos:/$ journal spill-through last
slos:/$ events -a sched 4
source=journal ... SCHED ... switch
slos:/$ why --md last
# Why event ...
slos:/$ cq -a id=last epoch-proof --json-ish
slos:/$ journal proof-health --json-ish
proof_health{source=journal,status=PASS,...}

Validation

The repository contains automated QEMU and offline checks for boot, manual command surfaces, durable journals, the web renderer, and lens persistence.

Kernel validation commands
make doctor
make -j1 check first-user-check
make perf
make DOOM=0 causal-journal-check
# Current evidence and bounded validation scope: /development
# Modern local compiled Hew evidence: /hew
SlOS boot sequence and shell orientation
Boot services and shell prompt
SlOS causal timeline demonstration
Causal and timeline operation
SlOS DOOM showcase frame
DOOM
SlOS window manager screenshot with live panels
wm framebuffer desktop