The archive that outlives its software — at1 century
Archives that must last decades outlive the software that wrote them — that’s format rot. A .at1century file is insurance against it: one blob carrying an English description of its own format, the decoder as source in a tiny procedural language, a SHA-256 of the original, and the compressed payload. It reconstructs byte-exact using only what it carries— the embedded decoder run in a bare namespace, no imports, nothing from AT-1 — so it is still decodable when no AT-1 software, or even Python, survives. Any implementer can rewrite the decoder from the paragraph alone.
Use it
# 1) pack a file into a self-decoding container
at1 century pack records.csv -o records.at1century
# 1,142,180 -> 316,069 bytes (3.61x); self-description overhead 1,494 bytes
# 2) read the rebuild instructions it carries, in plain English
at1 century spec records.at1century
# 3) native decoder == embedded decoder, SHA-256 verified
at1 century verify records.at1century
# 4) reconstruct byte-exact using ONLY the embedded decoder, bare namespace
at1 century unpack records.at1century -o out.csv --self-decodeWhat it guarantees
- Self-describing — the English spec and the decoder source live inside the file, auditable and rewritable by hand.
- Two decoders, one answer — a fast native decoder for daily use and the embedded decoder for the guarantee must produce byte-identical output, checked against the SHA-256.
- No ecosystem required — reconstruction depends on the embedded decoder alone, not on any surviving tool.
The embedded decoder runs in a bare namespace (a few safe builtins, no imports). It’s an integrity and longevity guarantee, not confidentiality — open only archives you trust. For tamper-evidence and right-to-erasure on top of longevity, see the Regulated Archive.