<?php
require __DIR__.'/common-extra.php';$label=getenv('NW_STEP');$check(in_array($label,['E1','E2'],true),'Only exact extra cases');$check(!is_file(__DIR__.'/private-sent-'.$label),'Extra no replay');$before=$source();$rows=$extraGuard($before);if($label==='E1'){$check($rows===[]&&!is_file(__DIR__.'/private-extra-state.json'),'Extra not created before');$case=['step'=>1,'label'=>'E1','table'=>'nutrition_time','action'=>'add','path'=>'/p/nutrition_time/add','params'=>['name'=>'CDXNW11D6A2-time-extra-evidence','order_no'=>'620003','function'=>'CDXNW11D6A2-extra-evidence']];}else{$lease=json_decode(file_get_contents(__DIR__.'/private-extra-state.json'),true);$check(count($rows)===1&&$rows[0]['uuid']===$lease['uuid']&&(int)$rows[0]['del_flag']===0,'Existing extra before softdelete');$case=['step'=>11,'label'=>'E2','table'=>'nutrition_time','action'=>'delete','path'=>'/p/nutrition_time/delete','params'=>['uuid'=>$lease['uuid']]];}
$request=['token'=>json_decode(file_get_contents(__DIR__.'/private-auth-write.json'),true)['token'],'nonce'=>bin2hex(random_bytes(24)),'case'=>$case];$save('private-dispatch-extra.json',$request);$curl=curl_init('http://127.0.0.1:18831'.$case['path']);curl_setopt_array($curl,[CURLOPT_POST=>true,CURLOPT_POSTFIELDS=>http_build_query($case['params']),CURLOPT_RETURNTRANSFER=>true,CURLOPT_HTTPHEADER=>['token: '.$request['token'],'X-CDX-Nonce: '.$request['nonce']],CURLOPT_CONNECTTIMEOUT=>5,CURLOPT_TIMEOUT=>40]);$body=curl_exec($curl);$status=curl_getinfo($curl,CURLINFO_HTTP_CODE);curl_close($curl);$check($body!==false,'Extra HTTP bounded no retry');file_put_contents(__DIR__.'/private-case-'.$label.'.httpbody',$body);chmod(__DIR__.'/private-case-'.$label.'.httpbody',0600);$wire=json_decode(file_get_contents(__DIR__.'/private-case-'.$label.'.wire.json'),true);$summary=['lane'=>'B','label'=>$label,'HTTP'=>$status,'business'=>json_decode($body,true),'body_sha256'=>hash('sha256',$body),'body_bytes'=>strlen($body),'DML'=>$wire['DML'],'passed'=>$wire['error']===null&&$status===200&&$body===$wire['body']];$save('private-case-'.$label.'.http.json',$summary);echo json_encode($summary,JSON_UNESCAPED_UNICODE),"\n";$check($summary['passed'],'Extra complete native/body/readback evidence');$save('private-extra-state.json',['label'=>$label,'uuid'=>$wire['uuid']]);
