<?php
declare(strict_types=1);
require __DIR__.'/bootstrap.php';require __DIR__.'/oracle.php';require __DIR__.'/StrictWire.php';$check($lane==='C'&&!is_file($runtime.'/private-mi-dependency.json'),'Only one new C dependency regression');$prior=json_decode(file_get_contents($runtime.'/private-green-report.json'));$before=analysisOriginalSnapshot($read,$tenant,$staff,$operator);$check(hash('sha256',serialize($before))===$prior->before_sha256,'Original seven Analysis oracle rows unchanged');$token=bin2hex(random_bytes(24));$cache->set($token,['user'=>['store_user_id'=>$operator,'store_id'=>$tenant,'real_name'=>$marker,'user_name'=>$marker,'is_super'=>1],'store_id'=>$tenant,'is_login'=>true],1800);$items=[];$expected=[];foreach($prior->cases as $c){$scenario='PILOT_TA_MI_DEP_'.strtoupper($c->action).($c->type?'_'.$c->type:'');$expected[$scenario]=$c->expected_data;$params=['staff_id'=>$staff];if($c->type)$params['type']=$c->type;$items[]=['id'=>$scenario,'name'=>'Analysis shared dependency '.$c->action.' '.$c->type,'type'=>'http','metaInfo'=>['type'=>'HTTP'],'request'=>['method'=>'GET','url'=>$base.'/terminal/analysis.analysis/'.$c->action.'?'.http_build_query($params),'header'=>[['key'=>'Host','value'=>'analysis-natural.invalid'],['key'=>'Access-Token','value'=>$token],['key'=>'Platform','value'=>'POC'],['key'=>'X-Pilot-Scenario','value'=>$scenario]]],'event'=>[['listen'=>'test','script'=>['type'=>'text/javascript','exec'=>["pm.test('HTTP200',function(){pm.response.to.have.status(200);});var b=pm.response.json();","pm.test('Numeric business200',function(){pm.expect(b.status).to.eql(200);});","pm.test('Original Analysis oracle still exact after Meal dependency candidate',function(){pm.expect(b.data).to.deep.eql(".json_encode($c->expected_data,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES).");});","pm.test('Trace contract',function(){pm.expect(b.trace_id).to.match(/^[0-9a-f]{13}$/);});"]]]]];}$collection=['apifoxCli'=>'2.2.8','info'=>['name'=>'最终Meal依赖候选的原七Analysis只读回归'],'item'=>[['name'=>'C seven dependency projections','item'=>$items]]];$file=$runtime.'/private-mi-dependency-collection.json';file_put_contents($file,json_encode($collection,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE));chmod($file,0600);$dir=$runtime.'/private-mi-dependency-cli';mkdir($dir,0700);$p=proc_open(['node',getenv('ANALYSIS_CLI'),'run',$file,'-r','json','--out-dir',$dir,'--out-file','result','--on-error','continue','--silent'],[0=>['file','/dev/null','r'],1=>['file',$runtime.'/private-mi-cli.log','a'],2=>['file',$runtime.'/private-mi-cli.log','a']],$pipes);$exit=proc_close($p);$cases=[];foreach(file($runtime.'/private-wire.jsonl',FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) as $line){$w=json_decode($line,true);if(!isset($expected[$w['scenario']]))continue;$body=json_decode($w['raw']);$cases[]=['scenario'=>$w['scenario'],'body'=>$body,'expected_data'=>$expected[$w['scenario']],'complete_original_equal'=>strictWireEqual($body->data,$expected[$w['scenario']]),'http_status'=>$w['http_status'],'raw_sha256'=>hash('sha256',$w['raw'])];}$reports=[];foreach(glob($dir.'/*.json') as $f){$r=json_decode(file_get_contents($f),true);if(isset($r['run']))$reports[]=['stats'=>$r['run']['stats'],'failures'=>count($r['run']['failures']),'raw_report_sha256'=>hash_file('sha256',$f)];}$after=analysisOriginalSnapshot($read,$tenant,$staff,$operator);$cache->delete($token);$cache->clear();$out=['lane'=>$lane,'native_exit'=>$exit,'cases'=>$cases,'stats'=>$reports,'original_unchanged'=>hash('sha256',serialize($before))===hash('sha256',serialize($after)),'boundary'=>$boundary,'tokens_reclaimed'=>true];file_put_contents($runtime.'/private-mi-dependency.json',json_encode($out,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_PRESERVE_ZERO_FRACTION));chmod($runtime.'/private-mi-dependency.json',0600);echo json_encode(['lane'=>$lane,'HTTP'=>count($cases),'native_exit'=>$exit,'all_original_equal'=>array_column($cases,'complete_original_equal'),'original_unchanged'=>$out['original_unchanged']]),"\n";
