Non-mutating option-proposal preflight outcome.
status is :approved only when every mechanical check passes. Rejections
keep every projected quantity, selected hedge, residual, and violation so the
caller can adjust strategy without the library inventing one.