unimsg.net — the specification, presented
The site has one job: to make a reader understand, in about ninety seconds, that a document can be a thing you read and a thing a machine encodes byte-identically, and that the difference is not cosmetic. Everything else on the site is elaboration. If the banner and the first screen fail, no amount of comparison table recovers it.
Every fragment on this site is a real document you can open, and the bytes shown beside it are the bytes the encoder produces for it.
One document, both ways
This is a whole document, not an excerpt — every byte of it. A person reads the left. A machine reads the right. They are the same object, and the encoder produced the right from the left while this page was being built.
%unimsg 0 txn/v1
uses { acme/route-hint #sha256:9f2a3c7d }
transaction @ord-88213 {
customer external -> @cust-4471
amount usd 149.99
receipt ~hex:89504e470d0a1a0a
digest #sha256:deadbeefcafe
routing !acme/route-hint { zone 4, prio :high }
tags [ :urgent, :gift, @promo-x ]
}
examples/sigils.umsg](examples/sigils.umsg) — an order carrying a decimal amount, a reference, raw bytes, a hash, an extension nothing here understands, and a mixed sequence.a2 64 75 73 65 73 a1 6f 61 63 6d 65 2f 72 6f 75 74 65 2d 68 69 6e 74 da
00 01 11 d8 82 66 73 68 61 32 35 36 44 9f 2a 3c 7d 6b 74 72 61 6e 73 61
63 74 69 6f 6e da 00 01 11 d5 82 81 da 00 01 11 d6 69 6f 72 64 2d 38 38
32 31 33 a6 64 74 61 67 73 83 da 00 01 11 d4 66 75 72 67 65 6e 74 da 00
01 11 d4 64 67 69 66 74 da 00 01 11 d6 67 70 72 6f 6d 6f 2d 78 66 61 6d
6f 75 6e 74 da 00 01 11 d5 82 81 da 00 01 11 d4 63 75 73 64 c4 82 21 19
3a 97 66 64 69 67 65 73 74 da 00 01 11 d8 82 66 73 68 61 32 35 36 46 de
ad be ef ca fe 67 72 65 63 65 69 70 74 48 89 50 4e 47 0d 0a 1a 0a 67 72
6f 75 74 69 6e 67 da 00 01 11 d9 82 6f 61 63 6d 65 2f 72 6f 75 74 65 2d
68 69 6e 74 a2 64 70 72 69 6f da 00 01 11 d4 64 68 69 67 68 64 7a 6f 6e
65 04 68 63 75 73 74 6f 6d 65 72 da 00 01 11 d5 82 81 da 00 01 11 d4 68
65 78 74 65 72 6e 61 6c da 00 01 11 d7 69 63 75 73 74 2d 34 34 37 31
Open it in the document viewer — every sigil above explained, by pointing at it.
The extension !acme/route-hint is one this site knows nothing about. It survives the round trip intact, and it is legible on the way past — which is the rule that distinguishes an extension from a private convention.
Where to go
- /specThe specification
spec/unimsg-v0.umsg, rendered for a browser: collapsible blocks, anchored headings, the tables as tables, the raw source one click away.
- /compareAgainst everything else
The comparison matrix, the honest losses, and the survey's reasoning underneath each column.
- /usesWhat it is for
The practical uses, each with a real document behind it that you can open here.
- /bootstrapWritten from the specification alone
The bootstrapping story: one specification, a fleet of implementations written from it with no shared code, the scores, and the defects that only independence found.
An agent reading this site should not have to parse marketing prose to find the grammar. /spec/unimsg-v0.umsg and /corpus/cases.umsg are served as-is at stable paths, linked from every page, and are the same bytes the project publishes. The site is a rendering of them, never a paraphrase that could drift.