feat: add a dedicated Security Auditor agent with veto power

Security was one section among seven in the QA Engineer. That is structurally
weak: the agent that wants to recommend "production ready: YES" also judged
security, and as a subsection it competes for attention with acceptance
criteria, regression and test authoring.

The new agent:
- has no Write/Edit tools, so "never fix what you find" is enforced by the tool
  list rather than by instruction — it cannot launder a finding into a patch
- reports PASS / FAIL / UNVERIFIED, and UNVERIFIED must reach the spec; an audit
  that omits what it could not check reads as all-clear
- audits against .claude/rules/security.md, the same standard the developer
  agents are held to, so every mandatory item gets a verdict
- holds a veto: BLOCK stops /deploy regardless of functional test results

/qa now runs both agents in parallel and keeps the verdicts separate. The QA
Engineer is explicitly forbidden from speaking for security.
This commit is contained in:
Florian Wilde
2026-08-09 01:22:05 +02:00
parent 75e99f75c6
commit f432122abf
6 changed files with 281 additions and 39 deletions
+5
View File
@@ -18,6 +18,11 @@ on the host.
**No QA section:** → "Für PROJ-X gibt es noch kein QA-Ergebnis. Führe erst `/qa` aus." → Stop.
**Critical or High bugs open:** → name them and stop. Those get fixed first.
**Security verdict is BLOCK, or missing entirely:** → stop. A feature without a
Security Auditor verdict has not been security-reviewed, no matter how green the
functional tests are.
**UNVERIFIED security items:** → list them and ask the user explicitly whether to
ship with that surface unchecked. Do not decide this silently on their behalf.
## 2. Pre-flight