Aperture Institute
Operating systems and machine reasoning.
Built from scratch. Measured before it is claimed.
Home

Aperture Institute

Two things get built here: operating systems, and the machinery language models use to decide what to do. Both from scratch, both on hardware we own, and both measured before anything is claimed about them.

The results below include the ones that did not work. A reasoning architecture that scored 0.0% is on this page beside a released operating system, because the reason it failed is worth more than the fact that it failed, and because a page showing only successes is not a record of research.

Projects all →

Operating systemRust · x86-64 UEFI · ring 0
The GLaDOS desktop running on real hardware
2026-08-31 v1.2.28 released

A from-scratch, non-Unix operating system in Rust. No user/kernel split, no syscalls, no process isolation, one address space — so a tool call from the model is a function call rather than a protocol. It boots on real hardware from its own bootable image.

Everything under it was written here: the TLS 1.3 client, the X.509 chain validation, the NVMe and Ethernet drivers, the FAT reader and writer, the AML interpreter that reads the battery, the window manager, the tokenizer, and the forward pass. The dependency count in the strip above is not a rounding — the crate has none, by policy.

  • Signed kernel images, staged before ExitBootServices, with rollback if the trial boot fails
  • A closed-form router that decides in about 1.6 ms with no transformer forward pass at all
  • Its own systems language, and a self-modification loop with four judges in front of it
Free, and the source is published for reading Open →
Researchpost-mortem
$ globular --score

variant                   route
1  latent field         0.0%
2  latent re-entry   destructive
3  best-of-K          +6.7pp

adopted: gate-first routing
         (agent.rs)
2026-08-24 measured

A reasoning architecture built on populations of latent hypothesis-agents evolving through field dynamics. Three variants were built and scored against a frozen checkpoint. Two failed, and the headline features of the original turned out to be dead code that never ran.

What survived is smaller and duller than the metaphor: selection is the whole value, and a population is worth only as much as the selector in front of it. That one mechanism is in the kernel now.

Three variants, one adopted Read →
Researchbaselines
rail            135M    0.8B     2B
MMLU           20.0%   30.0%  43.3%
GSM8K           0.0%    0.0%   0.0%
NIAH            0/7     6/6    6/6
Route           0.0%   33.3%  40.0%

chance: MMLU 25%, route ~1.3%
2026-08-25 measured

Baselines taken before any capability work, because the rule this project runs under — measure before building — needs numbers to protect.

GSM8K reads 0.0% for every model including the largest, and that row stays on the page. Small models fail arithmetic, the fix is a tool rather than more parameters, and a benchmark table that quietly dropped its worst row would be worth nothing.

Reproducible from the converted checkpoints Read →
Latest release
GLaDOS v1.2.28

Released 2026-08-31. Six bootable images, from a 32 MB kernel-only build to a 1.8 GB image carrying a 2B model.

Download →

At a glance
Language
Rust
Target
x86-64 UEFI
Privilege
ring 0 only
Syscalls
none
Dependencies
none
Telemetry
none
Source

Published so it can be read. Redistribution and derivatives need asking.

Colophon

Static HTML and one stylesheet. No JavaScript, no cookies, no analytics, no fonts fetched from anywhere else, and nothing that needs a database.

The layout is linux.org as it stands today. The chrome is SourceForge around 2005. Both are on purpose.

The name

Borrowed, and not ours. GLaDOS, Aperture Science and Portal belong to Valve. This is an independent project with no connection to them, and the name is an homage rather than a claim.

Where the name comes from →

How a result gets published here research →

Three splits, and the held-out one is read at most three times before its figures print as stale and unquotable. Corpora hold out whole template families rather than sampled instances, because an instance split measures memorisation while looking like generalisation. Anything self-modifying passes four judges, unanimously, or it is reverted and the rejection is written to a ledger.

Negative results stay in the tree. Training the adapter head hurts at this data scale; the product-of-experts council does not improve accuracy. Both are recorded, because the reason to know them is the reason they were worth measuring. Sample sizes are stated wherever a figure appears, and figures from runs too small to support a claim are not quoted as one.

Read how the model runs in the kernel →  How this is tested →