Quality Pipeline
No script reaches production without passing all four gates. Quality is structural, not aspirational.
qa-gate.sh
Strict mode — syntax check, error handling validation, env var declarations; shellcheck for Bash, ruff and a complexity ratchet for Python. Sha256-tracked registry. Any edit invalidates the entry and requires re-gate. No registry entry = hasn't passed.
Gate 1 — Static Analysiszephyy-audit.sh
Walks the whole script corpus with qa-gate's rules. RED blocks the commit. YELLOW goes to backlog. BLUE gets fixed when already in the file. False positives are flagged and suppressed — not blindly "fixed" by damaging correct code.
Gate 2 — Runtime Auditcoding-standards.md
Bash for one-liners, Python for logic, Bun for our own JavaScript. Anything with branching, loops, file I/O, or network → Python. Mandatory preflight checks up front. Every dependency declared. Fails loud or doesn't run.
Gate 3 — StandardsSentinel Gate
LLM-based judge (free models first, 80/day cap) reads each assertive reply for claims no tool call backed that turn. Running in shadow: it logs every verdict and blocks nothing yet; enforce sends a flagged reply back for revision. Three waves hardened: taint patterns, confabulation blind spots, fake-consult detection.
Gate 4 — Runtime VerificationSeverity Levels
How audit findings are handled. The hierarchy is strict.
Non-Negotiables
trash.py, never a bare rm. The gate rejects a recursive rm without a ${VAR:?} guard.