lilith-platform.live/scripts/run/check.sh
Natalie 5ab713c3ff feat(check): add prod build drift report for quinn services
Adds scripts/prod-build-drift.ts and ./run check:prod-builds to query each
deployed quinn surface's running git SHA (via public health/version endpoints
and SSH build-info probes on quinn-vps/black) and show commits behind
origin/main.
2026-06-22 23:55:34 -04:00

65 lines
2.8 KiB
Bash
Executable file

#!/bin/bash
# Check commands for lilith-platform.live
# Sourced by the top-level ./run script — do not execute directly.
# ROOT_DIR is set by the caller.
COMMAND="${1:-}"
shift || true
case "$COMMAND" in
check:prod)
# 30-second blast-radius command: verify prod quinn.www is healthy and
# not serving maintenance mode. Runs standalone (no local dist required).
echo "==> check:prod — running production smoke against https://transquinnftw.com ..."
bash "$ROOT_DIR/deployments/@domains/quinn.www/scripts/route-smoke.sh"
;;
check:dev)
# Headless-browser smoke of the DEV surface (quinn.apricot.lan): the SPA
# actually mounts, the route registry feeds nav + footer, routes render,
# no runtime/hook errors. Needs quinn-dev.service running on apricot.
echo "==> check:dev — headless smoke against ${QUINN_WWW_DEV_URL:-https://quinn.apricot.lan} ..."
node "$ROOT_DIR/deployments/@domains/quinn.www/scripts/dev-smoke.mjs"
;;
check:analytics)
# Data-flow health of the prod analytics pipeline (vps-0). Asserts events
# are arriving, the processor is draining the backlog, and aggregation is
# producing rows — the failure modes that process-level health checks miss.
bash "$ROOT_DIR/deployments/@domains/quinn.data/scripts/analytics-health.sh" "$@"
;;
check:cluster)
# Functional proof-of-life per quinn feature (hits real data endpoints, not
# /health) + delegates to check:analytics. Catches "listening but broken".
bash "$ROOT_DIR/scripts/cluster-health.sh" "$@"
;;
check:prospector)
# Prospect-intelligence pipeline health: zombie-port guard, stream/cohort
# hydration, coverage+engine staleness, backfill coherence, teach loop,
# model-boss reachability.
bash "$ROOT_DIR/scripts/prospector-health.sh" "$@"
;;
check:prod-builds)
# Running prod build SHA + commits-behind-main for each quinn deploy surface.
# Public HTTP probes + SSH file/curl probes on quinn-vps and black.
echo "==> check:prod-builds — quinn prod build drift vs origin/main ..."
bun "$ROOT_DIR/scripts/prod-build-drift.ts" "$@"
;;
*)
echo "Unknown check command: $COMMAND"
echo ""
echo "Check commands:"
echo " ./run check:prod Smoke-test live quinn.www: maintenance mode + route 200s"
echo " ./run check:dev Headless-browser smoke of dev (quinn.apricot.lan): registry nav/footer + route render"
echo " ./run check:analytics Data-flow health of prod analytics pipeline (ingest + backlog + aggregation)"
echo " ./run check:cluster Functional proof-of-life per quinn feature (+ analytics)"
echo " ./run check:prospector Prospect-intelligence pipeline health (zombie guard + queues + teach loop)"
echo " ./run check:prod-builds Prod build SHA + commits-behind-main per quinn service"
echo ""
exit 1
;;
esac