CUBELinux

CUBE

The store under everything — one file, addressed by coordinate.

CUBE is the standalone record store: a small program that keeps records in one file, addressed by coordinate instead of path, protected by a write-ahead log. It is the substrate under CUBELinux and under PowerButton.io's stores. MIT-licensed source, Linux binary, and an evaluation build you can download today.

In developmentMIT licensedLinux x86_64 evaluation build

What it is

One file, one store

A store is a single image file plus its write-ahead log. Copy the pair and you have the store; checkpoint and you have a compacted image. No server to run, no schema migration, no configuration tree.

Address by coordinate

Records live at a four-byte coordinate, C.Z.Y.X — a context, a space, a cube, a seat. Nothing is found by path, index or table name. A record knows its title, its kind and when it was written.

Durable by construction

Every write goes through the log before it is acknowledged, every store can checkpoint, and every record can be verified. The tool refuses to open a store another process is writing, rather than corrupting it.

Profiles, not schemas

A vocabulary profile decides which kinds of records a store accepts — an app store, a document archive, an agent memory. The same binary runs all of them; the profile is the difference.

What's inside

FormSingle store image (.img) plus write-ahead log (.wal); checkpoint compacts the log into the image.
AddressFour-byte coordinate C.Z.Y.X; one record per coordinate, replaced whole on write.
Record headerTitle, document type, caller flags, size, created time; the body is opaque bytes.
AccessCommand line (put, get, list, scan, mget, del, checkpoint, stats, verify) and a line-protocol RPC server for programs that need it.
DurabilityWrite-ahead log with explicit durable writes; one writer per store file, enforced, never guessed at.
LicenseMIT. Source to be published on GitHub; the evaluation build today is time-limited software.

Try it from the command line

$ cube --store ./app.img put 3.1.1.1 "hello" --title greeting
put 3.1.1.1 (5 bytes)
$ cube --store ./app.img get 3.1.1.1
cube: word_flags=0x0000 title=Some("greeting") type=None
hello
$ cube --store ./app.img list 3
3.1.1.1	flags=0x0000	5B	greeting
cube: 1 record(s)
$ cube --store ./app.img stats
records=1
seq=1

What it deliberately is not

Not a SQL database

No joins, no query language, no tables. Records are found by coordinate or scanned by flag — that is the whole surface.

Not an encryption layer

The store keeps bytes as given. Sealing records at rest is the application's job (CUBE Contact does it); the store is the substrate, not the vault.

Not a multi-writer server

One writer per store file, enforced. Sharing a store means either a writer service in front of it or a copy per writer — both are supported, guessing is not.

Download

The evaluation build is available from the whitepapers page: Linux x86_64 tarball with the cube binary, profiles and demos. Evaluation build — free 90-day testing licence, ends 2027-01-18; the packaged build refuses to run after that date. sha256 9983e2ed4edc5f99f54f65aee2f87126cd5185f56eea538e04e8756727062d37. The plain MIT source has no clock; it will be published on GitHub when an account is in place, and this page will say so when it is.