TA9 runtime predicate mapping
Raw predicate implemented for shadow classification: post-hedge && outside_hte_band && weak_improvement.
Safe predicate additionally requires snapshot_hardstop_now=false, distance_raw>0, ClosePriorityOK=true, no pending close, market not in retry-closed state, and HTE/Recovery/BasketClose eligibility known false.
Unknown eligibility is suppressing and is never coerced to false.

- post_hedge: ta9ShadowPostHedgeActive && ps.total>0 && CountDefenseHedges()>0 (high)
- outside_hte_band: ps.floatingProfit < -HedgedBasketTimeExitAcceptLossYen (high)
- weak_improvement: ta9ShadowBestFloatingAfterHedge - ta9ShadowFloatingAtHedge < 500 (medium: threshold from audit TA9 definition)
- distance_to_hardstop_yen_raw: GetHardStopThresholdYen() - GetFloatingLossYen(ps) (high)
- snapshot_hardstop_now: floatingLoss>=threshold || marginLevel<=HardStopMarginLevel (high)
- runtime_hardstop_now: hardStop argument from OnTick (high)
- HTE eligibility: pure shadow copy of HTE current condition using ta9ShadowHedgeTime (medium)
- Recovery eligibility: pure shadow copy of RecoveryClose current condition (high)
- BasketClose eligibility: PostHedgeDiagBasketCloseEligible(ps) (high)
- ClosePriorityOK: BuildRuntimeClosePriorityState with snapshot hardstop and current eligibilities (high)
