feat: onboard service desk as second CASAN project

This commit is contained in:
thanhnv
2026-07-10 17:00:35 +09:00
parent 040af64191
commit f8215cd2eb
20 changed files with 208 additions and 13 deletions
@@ -0,0 +1,19 @@
#!/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 ]]