#!/usr/bin/env bash # Validate 3FR reserve provenance package JSON files against schemas/reserve-provenance-package.schema.json set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" PKG="$ROOT/config/reserve-provenance-package" SCHEMA="$PKG/schemas/reserve-provenance-package.schema.json" if ! command -v check-jsonschema &>/dev/null; then if [[ "${SCHEMA_STRICT:-0}" == "1" ]]; then echo "error: check-jsonschema not found; pip install check-jsonschema" >&2 exit 1 fi for f in "$PKG"/legal/*.json "$PKG"/settlement/*.json "$PKG"/provenance/*.json "$PKG"/bank/*.json "$PKG"/kyt/*.json "$PKG"/reconciliation/*.json "$PKG"/reserve/*.json "$PKG"/governance/*.json; do [[ -f "$f" ]] || continue [[ "$f" == *.example.json ]] && continue python3 -m json.tool "$f" >/dev/null echo "OK parse $f" done echo "skip: check-jsonschema not installed (JSON parse only)" exit 0 fi for f in "$PKG"/legal/*.json "$PKG"/settlement/*.json "$PKG"/provenance/*.json "$PKG"/bank/*.json "$PKG"/kyt/*.json "$PKG"/reconciliation/*.json "$PKG"/reserve/*.json "$PKG"/governance/*.json; do [[ -f "$f" ]] || continue [[ "$f" == *.example.json ]] && continue check-jsonschema --schemafile "$SCHEMA" "$f" done echo "OK reserve-provenance-package (10 JSON files + schema)"