#!/usr/bin/env bash
set -euo pipefail
umask 077
PROJECT='/home/cube/projects/richard/traning coach';D=f38d0373a58877806ff64a9cac54ab01e6e6e47f7101e3dcfd5ffbf05f8bb101;E="$PROJECT/.omo/evidence/task26/task26-certification-deployment-$D-st_01a00b39";A="$E/artifacts/final-health-v3";H=/home/cube/projects/richard/hermes-agent;P=/home/cube/.hermes/profiles/dualcoachtest;PY="$H/.venv/bin/python";mkdir -p "$A"
systemctl --user show hermes-gateway-dualcoachtest.service -p ActiveState -p SubState -p MainPID -p Result -p InvocationID -p ExecMainStartTimestamp >"$A/service.txt";grep -q '^ActiveState=active$' "$A/service.txt";grep -q '^SubState=running$' "$A/service.txt";PID=$(sed -n 's/^MainPID=//p' "$A/service.txt");[[ $PID -gt 1 ]]
cat "$P/gateway_state.json">"$A/gateway-state.json";"$PY" - "$A/gateway-state.json" <<'PY'
import json,sys
x=json.load(open(sys.argv[1]));assert x['gateway_state']=='running' and x['platforms']['telegram']['state']=='connected'
PY
awk '$1" "$2 >= "2026-08-17 09:34:38"' "$P/logs/gateway.log">"$A/current-invocation-gateway.log";grep -q '\[Telegram\] Connected to Telegram (polling mode)' "$A/current-invocation-gateway.log";grep -q 'Gateway running with 1 platform(s)' "$A/current-invocation-gateway.log";! grep -E 'nutrition_onboarding_callback_ingress|adaptive_plan_delivered|sent_audited|send to customer' "$A/current-invocation-gateway.log"
ss -tnp >"$A/sockets.txt";grep "pid=$PID" "$A/sockets.txt"|grep -q '149.154.166.110:443'
readlink -f "/proc/$PID/cwd">"$A/process-cwd.txt";grep -qx "$P" "$A/process-cwd.txt";tr '\0' ' ' <"/proc/$PID/cmdline">"$A/process-cmdline.txt";grep -q 'site-packages/hermes_cli/main.py' "$P/gateway_state.json"
(cd "$P"&&"$PY" - >"$A/module-origins.json" <<'PY'
import hashlib,json
from pathlib import Path
import gateway,hermes_cli,gateway.platforms.telegram as telegram,gateway.platforms.telegram_nutrition_onboarding_runtime as runtime,gateway.platforms.telegram_polling_receipts as receipts,checkin_cli,checkin_cli.customer_admin as admin,checkin_cli.adaptive_nutrition as adaptive
mods=[gateway,hermes_cli,telegram,runtime,receipts,checkin_cli,admin,adaptive];rows=[]
for m in mods:
 p=Path(m.__file__).resolve();rows.append({'module':m.__name__,'origin':str(p),'sha256':hashlib.sha256(p.read_bytes()).hexdigest()})
assert all('site-packages' in x['origin'] for x in rows[:5]);assert all('/home/cube/.hermes/profiles/dualcoachtest/workspace/checkin_cli/' in x['origin'] for x in rows[5:]);print(json.dumps({'modules':rows,'status':'PASS'},sort_keys=True,separators=(',',':')))
PY
)
sha256sum "$H/.venv/lib/python3.12/site-packages/gateway/platforms/telegram.py" "$H/.venv/lib/python3.12/site-packages/hermes_agent-0.17.0.dist-info/direct_url.json" "$H/.venv/lib/python3.12/site-packages/__editable__.physique_checkin_cli-0.1.0.pth" "$H/.venv/lib/python3.12/site-packages/__editable___physique_checkin_cli_0_1_0_finder.py" "$H/.venv/lib/python3.12/site-packages/physique_checkin_cli-0.1.0.dist-info/direct_url.json" "$HOME/.config/systemd/user/hermes-gateway-dualcoachtest.service">"$A/installed-and-unit.sha256"
grep -q '^5d3103b744b6e92ddbc576a77df433c2127d6df17260a3c78d2000d7b90d2f97 ' "$A/installed-and-unit.sha256";grep -q '^0b46e887fc12c45f12814f4ef025c10101ed36e5df0ac35f70abb1862c0c1db2 ' "$A/installed-and-unit.sha256"
cmp "$E/artifacts/deployment-v2/authority-before.sha256" "$E/artifacts/deployment-v2/authority-after.sha256";cmp "$E/artifacts/deployment-v2/customer-before.sha256" "$E/artifacts/deployment-v2/customer-after.sha256";cmp "$E/artifacts/deployment-v2/profile-workspace-before.sha256" "$E/artifacts/deployment-v2/profile-workspace-after.sha256";cmp "$E/artifacts/deployment-v2/editable-before.sha256" "$E/artifacts/deployment-v2/editable-after.sha256";cmp "$E/artifacts/deployment-v2/state-before.json" "$E/artifacts/deployment-v2/state-after.json"
cp "$E/artifacts/deployment-v2/state-after.json" "$A/final-authority-state.json";cp "$P/data/telegram-ingress-receipts-v1-d0aacf0f4bdbb7c0.json" "$A/ingress-receipt-state.json"
