<?php
require __DIR__.'/common.php';$check($lane==='C'&&!is_file(__DIR__.'/private-request.json'),'Only recover C post-commit Auth once');
$journal=json_decode(file_get_contents(__DIR__.'/private-fixture-insert.json'),true);$check($journal['affected']===1,'Committed once');$base=$source();$row=$base['nutrition'][0];
foreach($journal['bindings'] as $key=>$value){if(is_int($value)||is_float($value))$check(is_numeric($row[$key])&&(float)$row[$key]===(float)$value,'Exact numeric original fixture '.$key);elseif($key==='create_time')$check($row[$key]===$value.'.000000','Exact C datetime original fixture');else $check($row[$key]===$value,'Exact full-row original fixture '.$key);}
$check($base['actor_sha256']==='77454e3bffe2f330d0cd94db97b80553f7c7fcd7ab778e03e7cdad7562f46523','Same approved actor');$save('private-http-baseline.json',$base);
require __DIR__.'/media-leaf.php';require __DIR__.'/init.php';$GLOBALS['CDX_PREPARED']=[];new \app\p\logic\Nutrition();new \app\m\logic\Nutrition();new \app\model\File();$check($GLOBALS['CDX_PREPARED']===[],'Constructor0SQL');
$actor=$q('SELECT ID,UUID,ACCOUNT,TYPE,IS_DELETE FROM '.$p.'user WHERE ID=1')[0];require_once APP_PATH.'base/Security.php';$token=\app\base\Security::encrypt(implode("\t",[(string)$actor['id'],(string)$actor['uuid'],(string)$actor['account'],'0','','',(string)$actor['account']]));
$cases=[];foreach(['p','m'] as $module){$params=['page'=>'1','pagesize'=>'10','search_type'=>'1','keyword'=>$keyword];if($module==='p')$params['set_uuid']=$setUUID;$cases[]=['label'=>$module.'Lists','path'=>'/'.$module.'/nutrition/lists','params'=>$params];$cases[]=['label'=>$module.'Info','path'=>'/'.$module.'/nutrition/info','params'=>['uuid'=>$uuid]];$cases[]=['label'=>$module.'Time','path'=>'/'.$module.'/nutrition/useTimeList','params'=>['flag'=>'1','uuid'=>$uuid]];$cases[]=['label'=>$module.'Supplier','path'=>'/'.$module.'/nutrition/supplierList','params'=>['nutrition'=>'0']];}
$cases[]=['label'=>'mProduct','path'=>'/m/nutrition/product','params'=>['page'=>'1','pagesize'=>'10','value'=>$keyword]];$cases[]=['label'=>'mGroup','path'=>'/m/nutrition/NutritionUseTimeGroup','params'=>['uuid'=>$uuid]];
$save('private-request.json',['token'=>$token,'cases'=>$cases]);$save('private-cases.json',$cases);$lock=[];foreach(['p/controller/Nutrition.php','m/controller/Nutrition.php','p/logic/Nutrition.php','m/logic/Nutrition.php','model/Nutrition.php','model/NutritionSet.php','model/NutritionTime.php','model/NutritionCategory.php','model/BaseModel.php','base/AdminController.php','common.php','route.php'] as $f)$lock[$f]=hash_file('sha256',APP_PATH.$f);$save('private-source-lock.json',$lock);
$save('private-auth-recovery.json',['passed'=>true,'HTTP'=>0,'new_DML'=>0,'DDL'=>0,'original_INSERT'=>1,'actual_product_id'=>$row['id'],'full_row_verified'=>true]);echo "C post-commit full-row recovery/Auth passed; no DML replay\n";
