OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-proto-peer / scripts / goat-cross-check.sh

40 lines · bash ref:
#!/usr/bin/env bash
# Phase A external-oracle gate: prove a signer-materialized repo is a valid atproto repo by having
# GOAT (bluesky-social/goat, an INDEPENDENT Go implementation) parse + verify it OFFLINE. No PLC,
# no relay, no prod — just goat's reader against our CAR. If goat's independently-computed commit
# data root + record set match ours, our MST/CID/commit codec agrees with the reference.
#
# Requires: goat on PATH or at ~/go/bin/goat (build: go install github.com/bluesky-social/goat@latest).
# Run: bash scripts/goat-cross-check.sh
set -euo pipefail
cd "$(cd "$(dirname "$0")/.." && pwd)"

GOAT="${GOAT:-$HOME/go/bin/goat}"
command -v "$GOAT" >/dev/null 2>&1 || { echo "SKIP: goat not found at $GOAT"; exit 2; }

echo "== emit signer-equivalent CAR =="
EXP="$(bare scripts/emit-signer-car.mjs)"
echo "$EXP"
CAR=$(echo "$EXP"   | sed -n 's/.*"car":"\([^"]*\)".*/\1/p')
DID=$(echo "$EXP"   | sed -n 's/.*"did":"\([^"]*\)".*/\1/p')
DATA=$(echo "$EXP"  | sed -n 's/.*"dataCid":"\([^"]*\)".*/\1/p')

echo "== goat repo inspect (independent commit parse) =="
INSPECT="$("$GOAT" repo inspect "$CAR" 2>&1)"; echo "$INSPECT"
echo "== goat repo ls (independent record list) =="
LS="$("$GOAT" repo ls "$CAR" 2>&1)"; echo "$LS"
echo "== goat repo mst (independent MST parse) =="
"$GOAT" repo mst "$CAR" 2>&1 | head -8

RECS=$(echo "$EXP" | sed -n 's/.*"records":\[\([^]]*\)\].*/\1/p' | tr ',' '\n' | tr -d '"')

fail=0
echo "$INSPECT" | grep -qi "$DID"  && echo "OK: goat parsed our DID"          || { echo "FAIL: goat did not report our DID"; fail=1; }
echo "$INSPECT" | grep -qi "$DATA" && echo "OK: goat's commit data root == ours ($DATA)" || { echo "FAIL: goat data root != ours"; fail=1; }
for k in $RECS; do
  echo "$LS" | grep -q "$k" && echo "OK: goat listed $k" || { echo "FAIL: goat missing record $k"; fail=1; }
done

[ "$fail" -eq 0 ] && echo "GOAT CROSS-CHECK PASS — signer repo verified by an independent implementation, offline" || echo "GOAT CROSS-CHECK FAIL"
exit "$fail"