Files
wifi-densepose/docs/adr/coherence-engine/ADR-CE-012-gate-refusal-witness.md
ruv d803bfe2b1 Squashed 'vendor/ruvector/' content from commit b64c2172
git-subtree-dir: vendor/ruvector
git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
2026-02-28 14:39:40 -05:00

49 lines
1.1 KiB
Markdown

# ADR-CE-012: Gate = Refusal Mechanism with Witness
**Status**: Accepted
**Date**: 2026-01-22
**Parent**: ADR-014 Coherence Engine Architecture
## Context
When coherence energy exceeds threshold, the system must refuse action. This refusal needs to be:
- Deterministic (same inputs → same decision)
- Auditable (why was it refused?)
- Provable (cryptographic witness)
## Decision
**Gate = refusal mechanism with witness - every refusal is provable.**
Gate evaluation produces:
```rust
pub struct GateDecision {
pub allow: bool,
pub lane: ComputeLane,
pub witness: WitnessRecord,
pub denial_reason: Option<String>,
}
```
The WitnessRecord includes:
- Energy snapshot at decision time
- Policy bundle that defined thresholds
- Hash chain to previous witness
- Content hash for integrity
## Consequences
### Benefits
- Every refusal has cryptographic proof
- Can reconstruct exactly why any decision was made
- Compliance-ready audit trail
### Risks
- Witness storage overhead
- Must handle witness retrieval at scale
## References
- ADR-014: Coherence Engine Architecture, Section 3
- ADR-CE-005: First-Class Governance Objects