A snapshot is the largest thing this project stores inline, and it has to survive two formats: artifact values are JSON in SQLite, and MessagePack on the wire. A bare `Vec<u8>` is the worst way through either — JSON renders it as an array of decimal numbers, about 3.5 characters a byte, so a 150 KB snapshot lands as half a megabyte of digits; MessagePack does better but still spends two bytes on anything above 127. Base64 is a flat 1.33x in both. Worse than a native binary type would be, far better than either of the above, and worth settling before these bytes are in anyone's store. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01846bHy18nLBVn8inzmBLkk