The kernel changed underneath. The mind grew a little.
This page was first written on 2026-06-08. The scorecard further down is from that day and has not been re-graded — read its percentages as a June snapshot. What changed since, each with the strength of its evidence (CI = checked on every push, 49 jobs; live = several real processes, with kills; in-proc = the real code, driven inside one process):
A new kernel core. In July 2026 the core moved from micro T-Kernel 2.0 to
μT-Kernel 3.0 (IEEE 2050-2018), now living in kernel/mtkernel3/. One code base,
five targets: bare-metal x86 and AArch64 (under QEMU), Linux user space x86_64 and aarch64, and
Windows x86_64 (CI builds it; CI does not boot it).
A contract suite. 133 checks of the tk_* promises the upper layers rely on
(tasks, semaphores, event flags, mutexes, message buffers, mailboxes, fixed- and variable-size pools, cyclic handlers, alarm handlers, time, dispatch disabling — including error codes), with expectations checked
against the μT-Kernel 3.0 specification text, and fourteen negative controls that each break one line of
the kernel and must turn red. Runs on Linux x86_64, bare x86 and bare AArch64 (CI). Not yet on
Linux aarch64 or Windows.
A mind that sleeps. The R3 substrate (about 21,568 parameters, word-to-word association) learns from teaching, consolidates what it learned during idle "sleep", can be corrected, and forgets the least-asked facts first — each measured by reproducing the problem before the cure (CI; several of them live). Still a toy: single words, no sentences.
A baby language model. A blank small model (the cradle baby) is born sized to its device, grows by being taught, and answers free text token by token — clumsily. Its teacher, SmolLM2-135M, runs on an inference engine written from scratch inside the kernel. In September: trained on text the teacher really generated, its loss on the unseen tail of that text fell 5.53 → 2.03 while a control rose to 6.61 (in-proc, not in CI); a lesson sent over the wire changes the weights of a separate student process and the change stays after the teacher is killed (live, not in CI), but on checking text that does not overlap the training side the taught student does worse than an untaught one (October; that test is red — the earlier green was memorised filler).
Brain research, stage 1. The baby can round a copy of itself to int8 / int4 / int2 and measure its own loss (int8 per row costs under +0.002 on a loss of about 3.2; CI). Merging two babies now has a safety net that never yields a child worse than the worse parent — a safety net, not yet a smart merge (CI).
Hibernation. Under a sustained resource shortage a node now goes STRESSED → HIBERNATING: it pauses mind sync and heavy consolidation, slows its beacon, and the swarm routes work away from it. A threat, recovery, or an explicit wake brings it back (CI, in-proc).
A one-machine swarm demo. samples/11_distributed/run_swarm_demo.sh
starts ten p-kernel processes, kills them one by one, shows the survivors still answering, and a newcomer
inheriting from the last one. It is ten processes on one machine, not ten devices, and the memory is a
635-parameter classifier, not the language brain.
Still broken, said out loud. The open-gap ledger has 3 rows again (it was 0 in July): no guard yet against a vendored-code swap deleting local patches (a July swap had silently deleted an old crash fix), a second ring-0 page fault, and a reproducible whole-system hang on bare-metal x86 when a ring-0 task spins without calling the kernel (not fixed; CI only watches it). There is no Play Store release yet.
The README is the source of truth. If this page and the README disagree, the README wins.