#!/usr/bin/env bash
# The layered verification pipeline — cheap → expensive. Same structure on any stack;
# only the commands change. Fill in the <FILL IN> lines for your tools, then it's your CI gate.
# L1–L2 every task · L3 every slice · L4 gates. L4a UAT is a HUMAN gate (design/uat-script.md).
set -uo pipefail

echo "===== LAYER 0 · static (lint + types) ====="
# <FILL IN>  e.g.  npm run lint && npm run typecheck   |   ruff check . && mypy
false && echo "replace me"; exit 1

echo "===== LAYER 1 · unit + property ====="
# <FILL IN>  e.g.  npm run test:unit   |   pytest -q -m "not integration"

echo "===== LAYER 2 · integration (disposable DB) ====="
# <FILL IN>  e.g.  npm run test:integration   |   pytest -q -m integration

echo "===== LAYER 3 · browser regression (Playwright/Cypress) ====="
# <FILL IN>  e.g.  (cd e2e && npx playwright test)

echo "===== LAYER 4b · security rig ====="
bash "$(dirname "$0")/security_check.sh" || exit 1

echo ""
echo "VERIFY PIPELINE: done."
echo "Reminders (CLAUDE.md §9): at a build MILESTONE also run the build-completion battery"
echo "  (scenario · pen-test · responsive · a11y · UX · visual-regression · load · cross-browser)"
echo "  and write design/qa/test-report-<date>.md. L4a UAT is a human gate — design/uat-script.md."
