V0 to V5 are done in QEMU on amd64 and arm64: the kernel, the userland, the bring-up link,
Taisce on disk and the desktop. V6 has begun on the Orange Pi 6 Plus (CIX Sky1), and the desktop already runs
there over HDMI. A milestone is done when its exit criteria pass under vx ci and every budget
it introduces has a running check.
rv64 builds everything; its QEMU suite is paused until full Swift (tier 1) runs there. The live record, with exit criteria and known issues, is docs/roadmap.md.
VectraOS boots on the board from a one-shot boot entry beside its FreeBSD, on all 12 cores, through the
console that DBG2 names. The kernel's self-tests pass there, after two fixes QEMU couldn't show. A boot is a
production boot unless croi.test= names the tests to run. On the board today:
vx cpu, log -f, and warm boot through vx remote boot/dataNext: the board's own display path (mode setting, hotplug, scan-out through the display SMMU), the native suite through the serial budget scrape, the desktop budgets enforced on real hardware, and VectraOS measured against stock and tuned Ubuntu and FreeBSD on the same board.
croí boots from this repository and passes its self-tests on amd64, arm64 and rv64. vx,
the size budgets and the bench were there from the first commit.
154 system calls cut to 91, one family at a time, each with its replacement in place first. The hot calls are batched; the one ring is in Swift and C23, checked by a model checker; ports and the debuglog are rings.
One ABI, the floor, libc, dlopen and the trace; typed IPC, the Node protocol with bulk
rings, and the launcher; rc and its commands; drivers under devmgr. Spawn → main in 79 µs against a
200 µs budget. Tier 1, meaning C, C++ and full Swift programs, runs on amd64 and arm64.
The network stack serving /net, 9gate over Noise IK, and cpu: vx cpu gives rc
on a node with the terminal's files at /mnt/term. Warm boot into a new kernel without
firmware, through vx remote boot.
The block class and virtio-blk; Taisce at /data across reboots, with its queries, live
queries and mapped files. A 4 KiB read takes 310 ns, and a live query sees an update in 56 µs.
Radharc, the SDK and Kit, rio and vt, Tracker, Deskbar, Settings, tiled and spatial workspaces, the themes, the GPU through Venus, the guide and hot reload. Under KVM a key reaches the glass in 1 frame, and a cold start takes 5.5–16 ms. Tier 1 programs now share their libraries.
dlopen, typed IPC, the Node protocol, the launcher and rc/net, 9gate and cpu: a node's shell with your terminal's filestrace, log -f and /proccroi.test= asks for them.vx test --changed runs only what a change risks. The full suite, vx ci, closes a milestone.OptionSet survives.vx man --check fails when a behaviour has no manual page.vx bench judges them against the machine's own history.board-test checks devmgr, the IOMMUs, the link, DHCP, the disks, the GPU and the display.vx locvx loc publishes the line count per component. Each file
lifted from croí, todhchaí or NeoVectra is recorded in IMPORTS.tsv against its source commit, so
git diff shows exactly what changed.