Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
touchstone
The verify-don't-trust toolkit for personal AGI claims.
A touchstone is the stone used to test gold — the original instrument for checking a claim instead of trusting it. This project is that instrument for personal AGI: a normative conformance spec, a language-agnostic battery any agent can run against, device-signed attestations, and a browser explorer that verifies the receipts.
It exists so that "I built a personal AGI" is a checkable claim, not a vibe. The first conformant subject is Bad Apple — a sovereign personal AGI organism for Apple Silicon. The spec is open so that anyone else's organism can run the same gauntlet.
What's inside
SPEC.md— the normative standard: required organs, verdict rules, attestation format, adapter protocolcrates/touchstone-core— types and verdict rules (no_std-friendly)crates/touchstone-harness— the battery: exec protocol + adapter trait + scoringcrates/touchstone-identity— device-bound signing (Secure Enclave on macOS, Ed25519 fallback)crates/touchstone-cli— thetouchstonebinarycrates/touchstone-wasm+web/— browser verification exploreradapters/badapple— reference adapter for Bad Appletestvectors/— golden attestations and tamper casesverifiers/— independent JavaScript verifierattestations/— the registry. The scoreboard.
Quickstart
# print the checklist
# run the battery against a subject (ships the badapple adapter)
# sign + verify an attestation
# pretty-print the organ scoreboard
verify re-derives the verdict from the check list and validates the
document before checking the signature — a valid signature over a false
verdict is still a failed attestation.
The claim this backs
Bad Apple's published attestation (45 PASS / 1 planted-FAIL control /
1 OPTIONAL) is reproducible here: touchstone run --adapter badapple on a
Mac running her daemon re-executes the organ battery and emits a
device-signed conformance document. Read SPEC.md, then check the receipts.
Adapter protocol
Any subject can be tested by writing one executable that prints NDJSON check results — any language, no Rust required:
{"check":"memory.store_recall","organ":"memory","status":"pass","evidence":{...}}
{"check":"planted_negative","organ":"audit","status":"fail","control":true}
The harness spawns it once, bounds it to a timeout, ignores non-JSON chatter, scores the run, and emits the attestation. Spec §5 has the full protocol and error semantics.
Feature flags and targets
touchstone-identitydefault: Ed25519 signing + verification, all platforms.--features secure-enclave: adds the Secure Enclave signer (macOS). Enclave signatures verify everywhere — including wasm32 — viap256.touchstone-wasmandadapters/badappleare not published to crates.io.
Install
API docs on docs.rs: touchstone-core · touchstone-harness · touchstone-identity · touchstone-cli
License: MIT OR Apache-2.0.