<?php
require __DIR__.'/common-write.php';$report=['lane'=>$lane,'HTTP'=>0,'DML'=>0,'DDL'=>0,'passed'=>false];$GLOBALS['CDX_PREPARED']=[];ob_start();
try{
 $now=$source();$own=$guard($now);$check($own['nutrition_time']===[]&&$own['nutrition_set']===[],'No prior marker');$expected=json_decode(file_get_contents(__DIR__.'/private-source-lock.json'),true);foreach($expected as $file=>$sha)$check(hash_file('sha256',__DIR__.'/source/application/'.$file)===$sha,'Fresh source lock '.$file);
 $old=json_decode(file_get_contents(__DIR__.'/private-preflight.json'),true);foreach(['nutrition_time','nutrition_set'] as $table){$name=$lane==='B'?$p.$table:strtoupper($p.$table);$columns=$lane==='B'?$q('SELECT COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,EXTRA,COLUMN_KEY,CHARACTER_MAXIMUM_LENGTH,DATETIME_PRECISION FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=? ORDER BY ORDINAL_POSITION',[$name]):$q('SELECT COLUMN_NAME,DATA_TYPE,DATA_LENGTH,DATA_PRECISION,DATA_SCALE,NULLABLE,DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME=? ORDER BY COLUMN_ID',[$name]);$constraints=$lane==='B'?$q('SELECT * FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=?',[$name]):$q('SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME=?',[$name]);$keys=$lane==='B'?$q('SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=?',[$name]):$q('SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME=?',[$name]);$triggers=$lane==='B'?$q('SELECT * FROM information_schema.TRIGGERS WHERE EVENT_OBJECT_SCHEMA=DATABASE() AND EVENT_OBJECT_TABLE=?',[$name]):$q('SELECT * FROM USER_TRIGGERS WHERE TABLE_NAME=?',[$name]);foreach(['columns','constraints','keys','triggers'] as $key)$check($$key===$old['tables'][$table][$key],'Fresh target metadata '.$table.'/'.$key);}
 require __DIR__.'/init-write.php';$check(defined('TP_ENV')&&TP_ENV==='poc','Exact TP_ENV=poc');$check(\think\Config::get('database.hostname')===$config['hostname']&&\think\Config::get('database.password')===$config['password'],'Full effective private DB config');new \app\p\logic\Nutrition();new \app\p\logic\NutritionTime();new \app\validate\Nutrition();new \app\validate\NutritionTime();$check($GLOBALS['CDX_PREPARED']===[],'App-init/constructors 0 SQL');$check(\think\Config::get('app_debug')===false,'No debug HTML');$report['source_count']=count($expected);$report['init_SQL']=[];$report['passed']=true;
}catch(Throwable $e){$save('private-fresh-error.json',['class'=>get_class($e),'message'=>$e->getMessage(),'trace'=>$e->getTraceAsString()]);$report['failure']=['class'=>get_class($e),'reason_sha256'=>hash('sha256',$e->getMessage())];}
$discard=ob_get_clean();$report['bootstrap_output_bytes']=strlen($discard);$save('private-fresh.json',$report);$save('private-fresh-select-journal.json',$GLOBALS['ORACLE_JOURNAL']);echo json_encode($report),"\n";exit($report['passed']?0:2);
