The system
All our own. From the loader to the database.
About 70 % robots, about 30 % ordinary programs such as servers. Kernel, drivers, services and programs are written in Embedded Swift; C exists only in the EFI loader, assembly only where nothing else works.
Real time built in
A scheduler per core, tickless, with EDF and admission control. The last core is reserved for real time. Programs state period, budget and reaction in their signed manifest – if the contract does not fit, the program does not even start.
Emergency stop in the kernel
Stops all actuators at once – through the always visible button in the menu bar, ⌘+Esc (even during the start animation) or the status page of Server. Programs never reach a motor or bus directly: the actuator service limits every movement.
Protected drivers
Risky parts such as USB and graphics run as isolated services in user mode. USB only with an allow-list: HID, CDC-ACM, UVC and signed vendor drivers – any other interface rejects the whole device.
SOFTrobotsFS
A file system of its own: copy-on-write, B+ trees, CRC-32C on everything, AES-256-GCM per block. After a power cut always the old or the new state, never anything in between. Snapshots every 15 minutes – the time slider in Files shows older states.
SOFTrobotsDB
The database lives in the file system: tables as shapes, the kernel checks every row, indexes, queries, SQL in the Console. Plus series for telemetry and a flight recorder that saves the last seconds at an emergency stop.
Everything is a shape
A shape language of its own (.shape): one definition describes the API, the checking code in the kernel, database tables, rings and network. Published fields keep their place.
Reflex & Develop
A script language of its own, compiled inside the system. Develop checks at every key, simulates events, compiles to ARM64 code with “Fast” – and proves real time: the compiler counts the worst-case cycles and starts only what fits into 80 % of the period. Every line shows its time: the proved worst case before the start (e.g. ≤ 13.4 µs), and while it runs how often it ran and how long it took – down to nanoseconds.
Buddy, the watchdog
A little dog on the desktop that watches the logs by rules and reports when something goes wrong. “Ask Claude” in his speech bubble sends the finding only on a click. He also bites programs that take more memory than they announced. In Settings: on, quiet or off.
AI on the device
Object detection with our own int8 inference and signed models, plus AprilTag, colour blobs and motion. The pictures stay on the device; results go to robot programs as a ring.
Programs
Files with a time slider, Web (a reading browser without JavaScript and without cookies), Video (WebM with VP9 and Opus, recording), Sound (records FLAC and WAV), Reader (shows, searches and marks PDF), Database, Benchmark, Activity, Console, Settings, Server, Ask.
Server: the only gate
Only door 443 (everything behind the login) and door 80 (redirect), no public web server. The robot's own root authority, access by invitation. From outside through the home router's VPN.
A network of its own
A network stack in Swift: IPv6 first, IPv4, TCP with SACK and CUBIC, mDNS. Only TLS 1.3, names only through DNS over HTTPS, time through NTS. A configurable firewall is not needed: a port without a listener does not answer at all.