fbfc0b62b9
- respond 的 target 解析抽成 resolve_approval_gate,锁内只做状态判定与 ticket 登记 - 新增 ApprovalGateOutcome(Proceed / Cached / Deny),拒绝原因带出临界区,state 释放后才调用 denied 写日志 - 拒绝留痕不再持有 state 做同步文件 I/O(app_log 写入与日志轮转),不再拉长审批临界区 - 15 条拒绝原因分类逐条等价迁移,行为与返回形状不变