# Quality Gate Hooks (Kotlin/GraalVM)

# Quality Gate Hooks

Enforce quality standards before task completion and during sessions.

## EvidenceGatekeeper (`alai-hooks evidence-gate`)
**Event:** PreToolUse[Bash] | **ZAKON:** #21

Blocks `mc.js done` if no evidence directory exists:
- Checks for `/tmp/evidence-{taskId}/` directory
- Directory must exist and contain at least one file
- Creates machine-verification requirement for task completion

## ClaimBlocker (`alai-hooks claim-blocker`)
**ZAKON:** #21 | Available in binary, not wired in settings.json

Blocks unverified claims in tool output:
- Detects claim patterns: X/Y PASS, ALL TESTS GREEN, works, deployed, DONE
- Requires evidence files from last 15 minutes
- Deploy claims need specific browser verification evidence

## StopVerifyClaims (`alai-hooks stop-verify`)
**Event:** Stop | **ZAKON:** #21

Verifies claims before session end:
- Reads last ~4000 chars from session JSONL
- Quick regex scan for CEO-level factual claims
- Runs claim-detector.js + claim-verifier.js
- Blocks session end if claims fail verification
- 12s subprocess timeout, fails open on error

## AutoVerifyClaims (`alai-hooks auto-verify`)
**Event:** UserPromptSubmit | **ZAKON:** #21

Advisory verification before responding to CEO:
- Reads last 3 John responses (within 5 minutes)
- Runs claim-detector.js + claim-verifier.js
- 10-minute cooldown per claim (no spam)
- Always exit 0 (advisory only)

## PipelineGate (`alai-hooks pipeline-gate`)
**Event:** PreToolUse[Bash]

Enforces CI/CD pipeline usage for deployments.

## TechStackGate (`alai-hooks tech-stack-gate`)
**Event:** PreToolUse[Write|Edit|MultiEdit]

Enforces ALAI unified tech stack (Kotlin/Ktor + Next.js 15).