Mememage Provenance v0.1.4
Rebuilds the desktop apps against current code. The previous release (v0.1.3, July 6) predates everything below, so every download until now shipped July-6 code.
Decoder
- Half-size copies now decode. The bar's M/Y/C anchor bands shrink with the image; at 0.5× they hit 4px and JPEG chroma subsampling smears them past the strict colour cutoffs, so the decoder gave up before reading a single bit. A soft channel-ordering fallback recovers them. Strict predicates still run first, so pristine images are unaffected, and false anchors are rejected by the frame's magic bytes + CRC-16 + Reed-Solomon. Ported to both the Python decoder and the browser decoder (
codec.js). - Honest downscale envelope, measured on real images rather than synthetic ones: images ≥ ~1000px wide survive a resize to 0.8× plus one recompression (59/60 round-trips across three resamplers and JPEG q70–q80). Beyond that, nothing is promised — survival depends on the image, the resampler, and whether it was recompressed, and it is not monotone in scale.
Chain integrity
chunk_stateis a cache; the records are the truth. Newsite_pack reconcilerebuilds the star counter, decoder chunk index, and heart star by walking the chain from genesis and counting only records whose content hash verifies.site_pack statusnow reports drift out loud instead of printing a number it knows is false.- Root cause of the drift it repairs: the test suite wrote into the operator's real chain (
chains.CHAINS_ROOTis bound at import, so patchingMEMEMAGE_ROOTalone still resolved to the live chain). Twelve hardcoded~/.mememage/receivedpaths now resolve throughchains.received_dir(), andtests/conftest.pyredirects both roots and fails the run if the real chain state changes.
Documentation
- Two claims retracted because the code doesn't support them: "below 0.5× nothing decodes at any size" (a lossless 0.35× copy decodes) and "a bare bar cannot be transplanted onto another image" (true only on textured content — flat, dark, bright, or noisy content decodes from the 2 data rows alone, with no reference row).
- AI-generated framing removed from published text. Zenodo depositions no longer describe the image as AI-generated, and the celestial certificate's docstring no longer implies it. Mememage is provenance for any image.
Downloads
Unsigned builds for macOS, Windows, and Linux attach below. Install via mememage.art/install, which sidesteps Gatekeeper/SmartScreen — a direct download needs a manual unblock.