check_name,status,detail order_counts,PASS,"{'BUY': 14, 'SELL': 12}; closed_lots=12" decision_log_has_entry_and_exit,PASS,"{('ENTRY_AI_REVIEW', 'AI_BUY_CONFIRMED'): 14, ('ENTRY_AI_REVIEW', 'DATA_GAP_HELD'): 2, ('ENTRY_AI_REVIEW', 'NO_BUY_AI_REVIEWED'): 14, ('ENTRY_AI_REVIEW', 'NO_TRADE_MARKET_GATE_CLOSED'): 5, ('EXIT_AI_REVIEW', 'AI_SELL_CONFIRMED'): 12, ('EXIT_AI_REVIEW', 'EXIT_DATA_GAP_HELD'): 1, ('EXIT_AI_REVIEW', 'WINDOW_END_VALUATION_ONLY'): 1}" lot_status_counts,PASS,"closed=12, unresolved=2" unresolved_status_explicit,PASS,"EXIT_DATA_GAP_HELD,WINDOW_END_VALUATION_ONLY" exit_resolution_all_lots_explicit,PASS,"resolution_rows=14; statuses={'AI_SELL_CONFIRMED': 12, 'WINDOW_END_VALUATION_ONLY': 1, 'EXIT_DATA_GAP_HELD': 1}" t1_guard_for_sell_orders,PASS,sell_orders=12 lot_return_recompute,PASS,closed_lots=12 case_summary_recompute,PASS,cases=6 daily_account_ledger_recompute,PASS,event_rows=26 account_cash_position_direction,PASS,BUY cash down/open up; SELL cash up/open down account_nav_equals_cash_plus_open_position,PASS,nav equals cash plus open position after each event account_final_open_position_matches_unclosed_lots,PASS,final open position equals unresolved lot position sum per case sell_reduces_open_position_without_negative_open,PASS,SELL events reduce open position and never leave negative open position lookahead_flags_zero,PASS,order/decision/sell_decision flags checked image_manifest_hash_match,PASS,"images=135, roles={'candidate_daily_100d_decision_view': 35, 'entry_1m_morning_review_view': 30, 'entry_1m_late_review_view': 30, 'entry_1m_buy_decision_view': 14, 'exit_daily_signal_review_view': 14, 'exit_1m_sell_decision_view': 12}" image_manifest_expected_count,PASS,"images=135, expected=135" return_stat_not_ready_boundary,PASS,RETURN_STAT_READY is intentionally false