#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../scripts/bash/casan-paths.sh" ROOT="$CASAN_APP_ROOT"; S="$CASAN_HARNESS_ROOT/scripts/bash"; DOMAIN="$ROOT/apps/service-desk/domain" W="$(mktemp -d)"; trap 'rm -rf "$W"' EXIT PASS=0; FAIL=0 pass() { echo "PASS: $1"; PASS=$((PASS+1)); } fail() { echo "FAIL: $1"; FAIL=$((FAIL+1)); } node --test "$ROOT/apps/service-desk/test/ticket.test.mjs" >/dev/null && pass "Service Desk domain tests pass" || fail "Service Desk domain tests fail" python3 "$S/traceability-matrix.py" --requirements "$DOMAIN/input/service-desk-requirement.md" --map "$DOMAIN/traceability-map.json" --out "$W/trace.json" --gate >/dev/null \ && python3 - "$W/trace.json" <<'PY' && pass "four Service Desk requirements have code and test evidence" || fail "Service Desk traceability fails" import json, sys d=json.load(open(sys.argv[1])); assert d['summary']['requirements']==4 and d['summary']['failed']==0 PY bash "$S/verify-harness-reuse.sh" | grep -q 'HARNESS_REUSE_VALID.*project_count=2.*CASAN_SERVICE_DESK' \ && pass "two active independent domain packs prove reuse" || fail "reuse registry not valid" echo "===== SERVICE DESK ONBOARD SUMMARY: PASS=$PASS FAIL=$FAIL =====" [[ "$FAIL" -eq 0 ]]