These examples follow commands through syscall and subsystem boundaries to
their storage, network, application, and causal-history effects.
These are historical i386 execution walks: ELF32 loader details, program paths and transcripts describe that implementation. The current native targets use ELF64/LP64; see native qualification and the Hew object/link path. The older walks are not evidence of native application coverage.
Timeline note procedure
A note begins as operator text, becomes a typed timeline payload, updates a replayable notes view, and can be exported to SlFS.
Command transcript and mechanism
slos:/$ note add map the write path before changing itNote #7 added.slos:/$ note tag last manualTagged note #7 with manualslos:/$ tl show notes#2386 notes NOTE_ADD map the write path before changing it#2387 notes NOTE_TAG manualslos:/$ why 2387[2387] notes: tag note #7 manual caused by [2386] notes: map the write path before changing it
Persistent files are block-device transactions with names, metadata, allocation, and verification commands around them.
Prompt
cmd_diskwrite() normalizes the path and creates the file if needed.
Filesystem
blockfs_write_file() updates inode metadata and block allocation.
Sector
File bytes are copied into 512-byte sectors.
Device
virtio_blk.c builds a request descriptor chain and waits for completion.
Check
diskcat, diskstat, diskcache, and fsck inspect the persisted result.
Source files
kernel/apps/cmd_files.c
kernel/fs/blockfs.c
kernel/drivers/virtio_blk.c
kernel/drivers/virtio.c
include/blockfs.h
Actor routing procedure
Actor delivery starts with a name, writes a bounded mailbox entry, and records send and receive events; remote routes extend that shape over mesh and federation.
Command transcript and mechanism
slos:/$ actors ID NAME PID MSGS IN/OUT 2 shell 0 0 3/0slos:/$ send shell local loopSent to shell: local loopslos:/$ recv shell[type=1 from=2 t=30211] local loopslos:/$ trace 27322732 actor recv name=shell type=1 caused by 2731 actor send to=shell
doom -> ELF user process -> framebuffer syscalls -> VGA mode 13h
A graphical user program is still syscall traffic with device-facing consequences.
Launch
cmd_doom() finds and starts the DOOM ELF when support is built.
Program
doom_entry.c enters doomgeneric with the WAD path.
Syscalls
doomgeneric_slos.c issues framebuffer, palette, input, and sleep calls.
Device
arch/x86/vga13h.c switches mode and blits the 320x200 indexed buffer.
Record
Frame and input calls appear as ordinary causal syscall events.
Source files
kernel/apps/cmd_apps.c
kernel/core/elf.c
doom/platform/doom_entry.c
doom/platform/doomgeneric_slos.c
kernel/core/syscall_dev.c
arch/x86/vga13h.c
Durable explanation procedure
When an event has aged out of the hot ring, the archived journal still supplies lookup and trace records from SlFS.
Command transcript and mechanism
slos:/$ journal spill-through lastjournal spill-through: event #3912 archived (spilled 1)slos:/$ events 10#3912 is no longer in the hot ringslos:/$ why 3912(event 3912 beyond recent history)slos:/$ why -a 3912Journal trace for event #3912: #3912 T+39012 hash=0xabc123 hashv=4 source=journal transport=syscall hash_cmd="journal hash 3912" shell shell command complete caused by: #3911 T+39011 hash=0xdef456 hashv=4 source=journal transport=syscall hash_cmd="journal hash 3911" syscall syscall syscall 1 pid=37slos:/$ trace -a 3912Journal trace for event #3912: #3912 T+39012 hash=0xabc123 hashv=4 source=journal transport=syscall hash_cmd="journal hash 3912" shell shell command complete
why -a across a reboot -> cjournal read-through -> parent chain survives
Recent causality is fast; durable causality is searchable, reboot-resistant, and proof-bearing.
Prompt
why first tries the recent ring through eventinfo().
Miss
An old ID may not be resident after ring churn or reboot.
Archive
why -a delegates to journal trace through the kernel command proxy.
Journal
cjournal reads persisted segment records and follows parent IDs.
Event
The explanation remains an ordered parent chain, now sourced from journal.
Source files
programs/shell.c
kernel/graph/cjournal.c
include/cjournal.h
kernel/graph/causal.c
Web causal explorer procedure
The web explorer is a live page served by SlOS httpd. It fetches graph data, renders SVG, and calls replay when the scrubber moves.
Command transcript and mechanism
host$ make DOOM=0 SMP=0 run-nographic# Persistent disk.img and legacy host forwards; not make dev.slos:/$ httpd[httpd] Listening on port 80 — dashboard at http://<ip>/host$ xdg-open http://localhost:8080/causalbrowser: GET /causalbrowser: GET /api/causal/graphbrowser: render SVG nodes and parent edgesbrowser: click #4120 to focus causes and effectsbrowser: GET /api/causal/state?tick=100
open /causal -> graph JSON -> SVG render -> state scrub API
A browser view can be a precise system instrument when every endpoint is backed by kernel data.
HTTP
programs/httpd.c routes GET /causal to a self-contained HTML page.
Graph
The page fetches /api/causal/graph for nodes and edges.
Render
Browser JavaScript lays out the DAG and draws an SVG.
Focus
Clicking a node highlights ancestors and descendants in the edge list.
Scrub
Moving the range input fetches /api/causal/state?tick=N.
Source files
programs/httpd.c
kernel/graph/causal.c
kernel/graph/replay.c
kernel/net/tcp.c
Replay scrub procedure
scrub asks the replay engine for derived state at a tick, then compares that frame to another tick when requested.
Command transcript and mechanism
slos:/$ scrub 100SlOS Causal Time-Travel tick 100 / 999[====------------------------------------]Reconstructed state (replay of 100 events): tasks: alive 3 created 4 exited 1 io: syscalls 18 fs 2 net tx/rx 0/0 actor msgs 1Active tasks (3): [pid 1] shellRecent events (4): #97 #98 #99 #100slos:/$ scrub diff 100 999Causal diff: tick 100 -> tick 999 events +899 syscalls +12 fs +3 net tx +0 net rx +0 actor +12 tasks alive: 3 -> 7slos:/$ scrub json 100{"tick":100,"total_events":100,"tasks":{"alive":3,"created":4,"exited":1},"io":{"syscalls":18,"fs":2,"net_tx":0,"net_rx":0,"actor_msgs":1},"active_tasks":[{"pid":1,"name":"shell"}],"recent_events":[97,98,99,100]}
scrub to a past tick -> replay reconstruction -> diff from now
Time-travel is deterministic reconstruction over causal events, not a mutable global undo stack.
Prompt
programs/scrub.c parses a tick, diff, event, whatif, or json mode.
Syscall
The program requests replay state through the replay syscall path.
Replay
kernel/graph/replay.c walks events up to the target tick.
Snapshot
integrity.c snapshots can speed state reconstruction while preserving verifiability.
Output
scrub renders plain text, JSON, or an interactive TUI frame.
Source files
programs/scrub.c
kernel/graph/replay.c
kernel/graph/integrity.c
kernel/core/syscall_graph.c
include/replay.h
Saved query procedure
A lens stores a named causal query so repeated field checks survive reboot and avoid manual command reconstruction.
Command transcript and mechanism
slos:/$ lens save syscall cq -a type=syscall limit=10lens: saved 'syscall' = cq -a type=syscall limit=10slos:/$ lens listSaved causal lenses syscall cq -a type=syscall limit=10slos:/$ reboot...slos:/$ lens run syscallCQ results (archived journal):slos:/$ diskcat /lens.dbsyscall cq -a type=syscall limit=10
lens save -> /lens.db on SlFS -> reboot -> lens run
Operator knowledge can become a small durable tool without changing the kernel command table.
Prompt
cmd_lens() accepts save, list, rm, run, or a bare lens name.
Persist
lens_save_db() writes the lens table to /lens.db on SlFS.
Reboot
The saved file remains on disk.img because make clean does not delete it.
Load
lens_ensure_loaded() reads /lens.db before listing or running.
Dispatch
lens_run() tokenizes the saved query and dispatches it through the shell command table.