Requirements
- Go 1.23 or later; Go 1.26 is recommended.
- GCC with C2x support.
- Clang 17 or later for sanitizer tests.
- Bash, Python 3, and curl.
Run the complete demonstration
From the repository root:
The script performs these steps:
- Starts a controlled origin on loopback.
- Observes one JSON representation under an explicit local-fixture policy.
- Stores the body by SHA-256 digest.
- Writes a deterministic CBOR observation envelope and JSON view.
- Verifies the evidence in Go.
- Verifies it independently in C.
- Stops the origin.
- Executes the adapter from preserved evidence only.
- Prints a result carrying native and semantic values with field-level provenance.
Run tests
The suite includes Go unit and mutation fuzz tests, a GCC build, a Clang
sanitizer build, a bounded C libFuzzer run, shared-corpus independent C
verification, corrupted-evidence rejection, an offline end-to-end test, and
documentation navigation checks. All normal tests use only local fixtures.
Build and query the immutable snapshot
The FUTO release snapshot is built from admitted local evidence and queried
without contacting an origin:
The immutable snapshot directory is a generated local artifact and is not
committed. Rebuilding the archive-derived packets requires the private evidence
profile; the sanitized public export intentionally omits third-party WARC and
HTML bytes. The exact build and verification procedure is recorded in
reports/futo-f3-real-archive-evidence.md.
Inspect artifacts
After make demo:
The body is not copied into the run directory. body.ref points to immutable content-addressed evidence.
Safety note
--allow-loopback exists only for the controlled fixture. Public policy rejects loopback, private, link-local, multicast, reserved, and documentation network ranges.Last modified on August 11, 2026