#!/bin/sh
# Public-surface integration proof: spt-core runs the OMP digest fetcher from
# this adapter and renders a non-empty digest from an OMP session sample.
# [int->REQ-DIST-DIGEST-EXTRACTOR]
set -u
ROOT=$(CDPATH= cd "$(dirname "$0")/../.." && pwd)
MANIFEST="$ROOT/adapter/omp-spt.toml"
SAMPLE="$ROOT/ci/digest/sample.jsonl"
RELDIR="$ROOT/tools/omp-spt/target/release"

command -v spt >/dev/null 2>&1 || { echo "SKIP: no spt on PATH"; exit 0; }
[ -x "$RELDIR/omp-spt" ] || [ -x "$RELDIR/omp-spt.exe" ] \
  || { echo "SKIP: extractor not built (run sh ci/digest/build.sh)"; exit 0; }

SESSION="omp-digest-proof-$$"
TMP=$(mktemp -d "${TMPDIR:-/tmp}/omp-spt-digest.XXXXXX") || { echo "FAIL: mktemp"; exit 1; }
trap 'rm -rf "$TMP"' EXIT INT TERM
mkdir -p "$TMP/agent/sessions/project"
cp "$SAMPLE" "$TMP/agent/sessions/project/20260714_${SESSION}.jsonl"

out=$(PI_CODING_AGENT_DIR="$TMP/agent" spt adapter digest-proof omp-spt \
  --session "$SESSION" --manifest "$MANIFEST" --dir "$RELDIR" 2>&1)
case "$out" in
  *DIGEST_PROOF_OK*)
    echo "ok  OMP digest-proof: DIGEST_PROOF_OK"
    echo "DIGEST-PROOF-INT OK"
    exit 0 ;;
  *)
    echo "FAIL: unexpected digest-proof output:"
    printf '%s\n' "$out"
    exit 1 ;;
esac
