The Permanence Contract — public archive
========================================

Built:            2026-08-16T06:00:02Z
Contract version: 1.0.0 (effective 2026-08-10)
Files:            370
Uncompressed:     5457665 bytes

This is everything averagejoematt.com already publishes, packaged as one
download and rebuilt every night: the pages and their methods (web/), and a
snapshot of every public read-only API response (api/).

MANIFEST.json lists every file with its size and SHA-256, and names what this
archive deliberately leaves out and why. You do not need this project, or an
internet connection, to check it — this is the whole procedure:

    python3 - <<'EOF'
    import hashlib, json, tarfile
    tf = tarfile.open('latest.tar.gz')
    root = tf.getnames()[0].split('/')[0]
    m = json.load(tf.extractfile(root + '/MANIFEST.json'))
    bad = [e['member'] for e in m['entries']
           if hashlib.sha256(tf.extractfile(root + '/' + e['member']).read()).hexdigest()
              != e['sha256']]
    print('files:', len(m['entries']), 'mismatched:', bad or 'none')
    EOF

The terms below are the contract this archive exists to keep. They are
reproduced in full so the archive stays readable without the website.

[P1] Nothing here is for sale

    No reader's email address, question, or submitted finding is ever sold,
    rented, or handed to an advertiser, a data broker, or a sponsor. Neither is
    any of Matthew's own health data. There is no advertising business here to be
    tempted by.

[P2] The public record is rebuilt as a single download every night

    Every night the platform packages everything it already publishes — the data,
    the methods, the chronicle, the sealed pre-registrations — into one compressed
    archive at a fixed address, and overwrites yesterday's. It is not generated on
    request and it is not gated: it is simply there.

[P3] What may enter the archive is decided by a gate, not by hand

    Nothing enters because someone remembered to add it. An artefact enters only
    if the public site already serves it at a public address, and only if a
    registry classifies that address as part of the published record. Anything the
    registry does not classify is refused. The API portion is fetched with no
    credentials at all, over the same public address a reader would use, so it can
    contain nothing a reader could not already fetch themselves.

[P4] Every archive publishes its own inventory and checksum

    Alongside the archive sits a manifest listing every file in it with a size and
    a SHA-256, the checksum of the archive as a whole, the moment it was built,
    and — in the same document — a list of what was deliberately left out and why.
    You do not have to trust the description; you can check it.

[P5] Silence is measured out loud

    The platform watches for its own silence: the number of days since the last
    signal from any source that only produces data when a living person is doing
    something. That number, and the state it puts the contract in, are published
    in the same place as the archive, every night, whether the news is good or
    not.

[P6] Ninety days of silence freezes the record and raises the alarm

    At 30 days of silence the contract enters a notice state, at 60 a warning
    state, and at 90 the switch trips: the archive stops being overwritten and is
    sealed as a final, dated edition, the published state says so plainly, and the
    people configured as continuity contacts are told where the record is and how
    to check it. Any new signal from any watched source resets the clock — the
    switch is a measurement, and it is reversible.

[P7] What this contract does not promise

    It does not promise the archive outlives the bill: everything here sits in one
    cloud account, and if that account lapses the archive lapses with it. This
    edition grants no mirroring rights, so that single point of failure is not
    mitigated by anything written here. It does not promise a third-party mirror —
    no automatic copy is made to any host outside this account, and any claim that
    one exists would be false. It does not promise the archive is complete: audio,
    artwork, and the site's presentation layer are excluded, and the manifest
    names every exclusion. It does not promise the switch detects a person: it
    detects the absence of data, which a long holiday, a hardware failure, or a
    vendor lockout can also produce — that is why the first two thresholds notify
    rather than act. And it does not promise to publish anything currently
    private: the archive is a repackaging of the public surface, never a widening
    of it.

[P8] The terms are versioned, and amendments are append-only

    This contract carries a version and a dated amendment history. Clauses are
    added or superseded, never quietly rewritten, and the published version number
    tells you which edition you are reading.

Amendment history
-----------------
  1.0.0  2026-08-10  First edition: the nightly public archive, its admission gate, and the continuity clock.
