01 / Boot identity
Multiboot entry brings up x86 tables, paging, heap, interrupts, filesystems, PCI/VirtIO, network services, user programs, and the shell.
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.
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.
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.
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.
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
# 1024x768 framebuffer, fixed tiled panels
# CPU monitor | causal tail | task list | memory/system
# Tab focuses the next panel; q or Esc exits Complete showcase video. Local ticks, IDs, disk state, and peer state may differ.
Multiboot entry brings up x86 tables, paging, heap, interrupts, filesystems, PCI/VirtIO, network services, user programs, and the shell.
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.
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.
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.
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.
Named actors, local mailboxes, route tables, SPIFFE identity, Noise-encrypted mesh transport, and federation commands expose SlOS as a small distributed-system laboratory.
DOOM runs through the user-program and framebuffer paths, alongside the kernel's diagnostic services.
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.
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... 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.
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
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.
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
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.
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 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.
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 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.
slos:/$ ps | grep raft
slos:/$ events | tail -n 4
slos:/$ help | grep Network
slos:/$ wc
# sequential capture: each stage has a 4096-byte buffer
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.
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 |
+----------------------------------------------------------+ 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.
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): ... 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.
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 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.
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
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.
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,...} The repository contains automated QEMU and offline checks for boot, manual command surfaces, durable journals, the web renderer, and lens persistence.
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