What to build
Every policy evaluation (from #14) produces a structured reason trace: which rules matched, what decision was reached (allow / deny / redact), and for denied queries a machine-readable reason code. Traces are attached to the request context and emitted as a typed output for audit log consumption.
Acceptance criteria
Blocked by
What to build
Every policy evaluation (from #14) produces a structured reason trace: which rules matched, what decision was reached (allow / deny / redact), and for denied queries a machine-readable reason code. Traces are attached to the request context and emitted as a typed output for audit log consumption.
Acceptance criteria
Blocked by