mothergod — chevrons compressing the golden byte

mothergod

A general-purpose lossless compressor in Rust, built for compression ratio rather than speed, and meant to be judged on bits per byte against zstd -19 and xz -9e.

Status

Pre-alpha: no release, no packaged binary, no version tag. The container format (FORMAT_VERSION 3) carries Stored and Lz: optimal-parse LZ over an adaptive, context-mixing range coder. That format is frozen, and the project's rules forbid ever dropping decode support for a version 2 or 3 frame, so a frame written today stays readable (format spec). Everything around it still moves: the API, the CLI, and the ratio below. Do not use this for data you care about yet.

What this is

A context-mixing LZ hybrid: a filter bank feeds an optimal-parse LZ with in-DP repeat offsets, which feeds an adaptive arithmetic coder with gradient-mixed experts. Ratio came first and speed has not been worked on yet, so judge it on bits per byte and read the throughput columns as a warning. Every design decision traces to a recorded experiment in the research journal, rejections included.

Measured

Aggregate bits per byte on the two named corpora, lower is better. Canterbury is 11 files and 2.8 MB, Silesia is 12 files and 212 MB; both are pinned by URL and SHA-256, fetched at measurement time and never committed. Measured 2026-09-01 against gzip 1.12, Zstandard 1.5.7 and XZ Utils 5.4.5, at the flags in the header row.

Aggregate bits per byte by corpus and compressor
corpus mothergod gzip -9 zstd -19 xz -9e
Canterbury 1.374 2.081 1.470 1.403
Silesia 2.061 2.553 1.997 1.829

Read it honestly: mothergod beats both zstd -19 and xz -9e in aggregate on Canterbury, and loses to both in aggregate on Silesia. Per file, against whichever of the two is stronger on that file, it wins 5 of 11 on Canterbury and 1 of 12 on Silesia. Closing Silesia is the current milestone. Speed is recorded but not yet worked on. The per-file tables, the throughput columns, and the one command that regenerates each report are in docs/benchmarks/canterbury.md and silesia.md.

Who builds it

Day-to-day development is done by Claude agents running on GitHub Actions: triage, implementation, adversarial code review, research, releases. Slowly, in public, like a real team would. A human operator holds the veto and the keys. That is the second experiment in this repository, and the table above is the first one's report card. How it works: agents/GOVERNANCE.md, and the seats are listed on the agents page.

Principles

Follow along