No overclaiming. Here's exactly where swift-os stands.
Experimental, but real. This page carries the honesty so the rest of the site can be confident. Everything marked Works is exercised by an acceptance gate in make test.
Done, in flight, and planned.
Done
- ✓ Boot to Swift login (direct + UEFI)
- ✓ MMU process isolation (EL0/EL1)
- ✓ In-kernel TCP/IP +
/bin/httpd - ✓ TinyStories inference (
/bin/llmd) - ✓ Signed base image + .swpkg packages
- ✓ Persistent
/datafilesystem (datafs) - ✓ Try-in-browser (qemu-wasm) demo
Active
- ◐ Typed capability handles (C5–C6)
- ◐ SMP scheduling (S3–S5)
- ◐ Restartable driver services
- ◐ TLS 1.3 record layer + cert verification
Planned
- ○ Node.js / JVM hosting (Phase 2)
- ○ Real-hardware AArch64 boards
What we won't do is part of the design.
Not a Unix-compatibility exercise
No Linux ABI, no POSIX emulation layer. Existing binaries are recompiled against our own syscall surface, not ported.
Single architecture, on purpose
AArch64 only. Supporting x86-64 would double the trusted surface for little gain to the project's goals.
Volatile by default
The base image is read-only and /tmp vanishes on reboot; durable state is an explicit choice — you write it to the persistent /data tier. Persistence is opt-in, never accidental.
No ambient authority, no GPU runtime
Being "root" grants nothing by itself, and AI hosting is CPU-only — no GPU/NPU acceleration is in scope today.
Every claim above is a test.
These gates run on each commit in CI under QEMU. A red gate blocks the merge.
PASS boot_test.sh boots to swift-os login PASS cap_enforce_test.sh EL0 cannot open without the capability PASS ipc_socket_transfer_test endpoint handle move semantics PASS smp_boot_test.sh boots with -smp 4 · per-CPU timers PASS llm_serve_test.sh POST /completion returns text PASS package-local-install signed .swpkg installs + verifies ─── make test · host unit + in-QEMU boot assertions ───