MOIRE v3.1.0 — UNENCRYPTED

This version removes all encryption and key machinery from v3:
- no AES / cryptography package
- no password or passphrase
- no key derivation, HMAC, or keyed slot selection
- no encrypted resolver

The actual faces contain the original JSON observation records in plain form.
The remaining cells are equal-sized deterministic filler. Two phi-related
phase lattices provide the Moire carrier and difference envelope. The
potential address space is implicit and unbounded; only --window slots are
written to the finite surface.

The resolver is plain JSON. Anyone with both moire_surface.bin and
moire_resolver.json can recover the payload. This is deliberate: this build
is a structural/visual concealment experiment, not encryption or a claim of
cryptographic secrecy. Keep the resolver separate if testing whether the
surface alone reveals the actual face locations.

Requirements: Python 3.10+, standard library only.

RUN (PowerShell):
  py -3.13 fibonacci_ring_moire_v3_1.py --steps 12 --samples 64 --window 8192 --block-size 512 --log-dir moire_run

RECOVER:
  py -3.13 fibonacci_ring_moire_v3_1.py --recover --log-dir moire_run

The ZIP includes fibonacci_ring_finite_observatory_v2.py, the preserved ring
engine invoked by the Moire wrapper.
