Been messing around with a small archive format called 6cy. Not trying to replace zip or anything, mostly just exploring what happens if you make the format a lot stricter.
Every block describes itself. Checksums are always there. Codecs are UUIDs. If decoding can’t proceed cleanly, it just errors out. No fallback tricks.
The whole point was to avoid ambiguity and make corruption obvious instead of silent.
It’s still rough and evolving. Happy to hear thoughts.