System Platform
v1.0.0 · milestone “V1.0 — Experimental Personal OS (VM-verified)” · everything below is machine-verified in QEMU (ADR-0012)
01 // CAPABILITIES
| Capability | Grants |
|---|---|
| spawn | create + wait on child processes |
| ipc | message-channel send/receive |
| gui | window create/draw/present |
| dev | device-table queries |
| fs_read | filesystem reads (within the sandbox prefixes) |
| fs_write | filesystem writes to the persistent store (V0.8) |
| network | UDP sockets and DNS — scoped to a port (V0.8); TCP connect and listen — scoped to the port the connection is opened for (V0.9) |
| audio | reserved — no userspace audio syscall yet |
| sys_admin | reserved — userspace service/package control |
| proc_control | reserved — process teardown and control beyond spawning and waiting (the process kind’s CONTROL right: ending an existing process). No syscall checks it yet: Ring 3 has no kill, and kill is a kernel-console command |
| service | the supervisor report to the kernel’s service table (svc_report, V0.10); in v1.0.0 also init’s kernel mailbox (init_ctl), which in addition requires the caller to be the live /sbin/init |
| sys_view | the approved read-only system view (sys_view) — V0.11, shipped in v1.0.0. Console-granted only: in no default set, never delegated to a child, refused in /etc/init.conf |
| propose | filing a proposal for the console to approve or deny (propose) — V0.11, shipped in v1.0.0. Console-granted only, like sys_view; a proposal grants nothing by itself |
02 // SYSTEM SERVICES
// real supervised run (QEMU serial evidence)
[ITISYOU:SVC] start name=echod pid=30 order=0 caps=0x2
[ITISYOU:SVC] start name=client pid=31 order=1 caps=0x2
[ITISYOU:SVC] start name=crashd pid=32 order=2 caps=0x0
ECHOD-SERVED-3 · SVC-CLIENT-OK
[ITISYOU:SVC] name=crashd state=restarting pid=33 restarts=1
[ITISYOU:SVC] name=crashd state=restarting pid=34 restarts=2
[ITISYOU:SVC] name=crashd state=restarting pid=35 restarts=3
[ITISYOU:SVC] name=crashd state=failed pid=35 restarts=3
[ITISYOU:SVC] supervisor done started=3 done=2 failed=1 restarts=3
03 // APPS, PACKAGES, UPDATES
// real lifecycle (QEMU serial evidence)
[ITISYOU:PKG] install name=hello-app v=1 result=ok
[ITISYOU:PKG] verify result=refused reason=DigestMismatch
[ITISYOU:PKG] launch name=hello-app v=1 caps=0x10 · HELLO-APP-OK
[ITISYOU:PKG] install name=hello-app v=2 result=ok
[ITISYOU:PKG] rollback name=hello-app from=v2 to=v1 result=ok
// after a simulated crash mid-update + REAL reboot:
[ITISYOU:RECOVERY] app=hello-app orphan_staged=v2 action=remove
[ITISYOU:PKG] launch name=hello-app v=1 · HELLO-APP-OK
04 // VERIFIED SECURITY PROPERTIES
Default deny
VERIFIEDSANDBOX-DENIED-OK (exit 0 only if all attempts were denied)
No amplification
VERIFIEDCAP-DELEGATION-OK
Sandbox traversal defense
VERIFIEDFS-SANDBOX-OK
Service supervision
VERIFIEDECHOD-SERVED-3 · SVC-CLIENT-OK · state=failed restarts=3
Package integrity
VERIFIEDverify result=refused reason=DigestMismatch
Manifest-only authority
VERIFIEDHELLO-APP-OK
Atomic update + rollback
VERIFIEDrollback name=hello-app from=v2 to=v1 result=ok
Reboot-proven recovery
VERIFIED[ITISYOU:RECOVERY] orphan_staged=v2 action=remove
Audit trail
VERIFIED[ITISYOU:AUDIT] seq=… pid=… action=… result=denied
05 // AI ≠ AUTHORITY
Source: docs/SECURITY_MODEL.md · ADR-0012 · evidence in the repository's artifacts/qemu/ JSON + serial logs