pub fn action_gate(dimensions: &[GateDimension]) -> GateResultExpand description
Evaluate an action through a multi-dimension policy gate.
The gate logic (inspired by AI safety frameworks):
- Check all
hard_blockdimensions first. Any-1→ immediate Block. - Compute weighted aggregate of all dimensions.
- Map aggregate to ternary: +1 = Proceed, 0 = Hold, -1 = Block.