<?php
declare(strict_types=1);require __DIR__.'/native.php';require __DIR__.'/decimal-oracle.php';ck($lane==='B'&&!file_exists($runtime.'/B-final-cron-preconditions.json'),'Only approved B known background baseline once');$own=ownSnapshot();$old=oldProtection();$guard=json_decode(file_get_contents($runtime.'/guard.json'),true);ck($old===$guard['old_protection'],'All original old protection');$pre=json_decode(file_get_contents($runtime.'/wire-PREPAY_FIRST_RETRY.json'),true)['own_after'];$expectedOrder=$pre['meal_order'];ck(count($expectedOrder)===1&&(int)$expectedOrder[0]['id']===68497,'Original successful prepay real ID');$expectedOrder[0]['order_status']=20;$expectedOrder[0]['update_time']='2026-10-11 08:55:01';$expectedPrepay=$pre['STORE_P1'];$expectedPrepay[0]['prepay_status']=3;$expectedPrepay[0]['update_by']='cron';$expectedPrepay[0]['update_time']='2026-10-11 08:55:01';ck($own['meal_order']===$expectedOrder&&$own['STORE_P1']===$expectedPrepay,'Exactly Root observed and source consistent background state');ck($own['account_settlement']===[]&&$own['user_balance_log']===[]&&$own['user_subsidy']===[]&&$own['user_gift_log']===[],'No partial prior money state');$ids=json_decode(file_get_contents($runtime.'/prepared.json'),true)['ids'];$money=readNative('AI','SELECT CAST(balance AS CHAR) balance_text,CAST(gift_balance AS CHAR) gift_text,CAST(pay_money AS CHAR) pay_text FROM yoshop_user WHERE user_id=?',[$ids['AI_U1']]);ck(dec102text($money[0]['balance_text'])==='1.00'&&dec102text($money[0]['gift_text'])==='0.00'&&dec102text($money[0]['pay_text'])==='0.00','Exact current money baseline');$e=array_map(static function($r){return json_decode($r,true);},file($runtime.'/business-native.jsonl',FILE_IGNORE_NEW_LINES));$native=array_values(array_filter($e,static function($r){return $r['scenario']==='DIRECT_SUCCESS_RETRY1';}));ck(count(array_filter($native,static function($r){return $r['layer']==='actual PDO.rollBack';}))===2&&count(array_filter($native,static function($r){return $r['layer']==='actual PDO.commit';}))===0,'Prior two native rollback/zero commit');saveOnce('B-final-cron-preconditions.json',['source_consistent_background_not_process_attribution'=>true,'original_pre_cron_fullrows'=>$pre,'accepted_current_prepaid_order'=>$own['meal_order'],'accepted_current_prepay'=>$own['STORE_P1'],'own_fullrows'=>$own,'old_fullrows'=>$old,'money_server_text'=>$money,'previous_native_rolledback'=>$native,'HTTP'=>0,'DML'=>0,'at'=>date('c')]);echo json_encode(['lane'=>'B','exact_known_cron_background'=>true,'all_old_protection_equal'=>true,'cash'=>'1.00','direct_settlement_log0'=>true]),"\n";
