RiskGuard v1.0.1 — 修复第二轮审查的 fail-open 边界
第二轮独立对抗式审查发现并修复的 fail-open 边界——对一个"防爆仓"的库,这些正是最不能留的坑。
🔧 本版修复
- [高] NaN/inf 权益污染熔断:一次坏的权益读数(feed 抖动/除零)曾让
drawdown恒算成 NaN、回撤熔断从此永不触发。现在非有限权益被直接忽略,熔断继续按最后有效权益工作。 - [高] 爆仓时误拒减仓:
equity<=0曾无条件拒单,连手动平仓的reduce_only单也被拦——违反"减仓永远放行"。现已把减仓放行提到 equity 判断之前。 - [中]
max_net_exposure_pct死配置:新增并接入NetExposureLimit,净敞口(方向性风险)上限真正生效。 - [中] 审计异常中断风控:磁盘满等审计 IO 异常曾在锁内抛出、带崩 allow/deny 主判决。现统一
_safe_audit兜底 + 可选on_audit_error回调。
reduce_only 现由 Broker 契约兜底执行(只减不增),风控规则据此统一放行减仓。
661 项测试全绿(新增 6 项针对本轮修复的回归测试)。建议所有用户升级。