#!/usr/bin/env bash set -euo pipefail # Validate Research Packets and quarantine rejects. # # Intended host paths (adjust to your deployment): # IN_DIR=/srv/localgpt/handoff/inbound-to-core (staging area from FETCH) # QUAR_DIR=/srv/localgpt/handoff/quarantine # # In the repo skeleton (compose volumes): # infra/volumes/handoff/inbound-to-core # infra/volumes/handoff/quarantine IN_DIR="${IN_DIR:-./infra/volumes/handoff/inbound-to-core}" QUAR_DIR="${QUAR_DIR:-./infra/volumes/handoff/quarantine}" VALIDATOR="${VALIDATOR:-./tools/validate_research_packet.py}" mkdir -p "${IN_DIR}" "${QUAR_DIR}" shopt -s nullglob for f in "${IN_DIR}"/*.md; do echo "Validating packet: ${f}" if "${VALIDATOR}" "${f}" >/tmp/threegate_packet_validate.out 2>/tmp/threegate_packet_validate.err; then echo "ACCEPT: ${f}" else echo "REJECT: ${f}" base="$(basename "${f}")" stamp="$(date -u +%Y%m%d-%H%M%SZ)" mkdir -p "${QUAR_DIR}/${stamp}-${base}" mv -- "${f}" "${QUAR_DIR}/${stamp}-${base}/" mv -- /tmp/threegate_packet_validate.out "${QUAR_DIR}/${stamp}-${base}/validator.out" || true mv -- /tmp/threegate_packet_validate.err "${QUAR_DIR}/${stamp}-${base}/validator.err" || true fi done