#!/usr/bin/env bash
source "$GIT_CONFIG/git.paths.conf"
set -euo pipefail

source "$(dirname "$0")/rules.engine.sh"
load_rules "$GIT_ROOT/config/rules.structure"

errors=0

IFS=',' read -ra dirs <<< "${RULES[required_directories]}"
for d in "${dirs[@]}"; do
    if [[ ! -d "$GIT_ROOT/$d" ]]; then
        echo "[STRUCTURE ERROR] Missing directory: $d"
        errors=$((errors+1))
    fi
done

IFS=',' read -ra files <<< "${RULES[required_files]}"
for f in "${files[@]}"; do
    if [[ ! -f "$GIT_ROOT/$f" ]]; then
        echo "[STRUCTURE ERROR] Missing file: $f"
        errors=$((errors+1))
    fi
done

if (( errors > 0 )); then
    echo "[FAIL] Structure audit failed."
    exit 1
else
    echo "[OK] Structure audit passed."
fi

